Re: strange delays on console logouts (tty != 1)

From: Russell King
Date: Sun May 02 2004 - 03:19:02 EST


On Sun, May 02, 2004 at 01:13:37AM -0700, Andrew Morton wrote:
> Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:
> >
> > On Sat, May 01, 2004 at 06:03:47PM -0700, Andrew Morton wrote:
> > > Petr Vandrovec <vandrove@xxxxxxxxxx> wrote:
> > > >
> > > > (2) tty hangup is scheduled for work_queue.
> > >
> > > This is the problem, isn't it?
> > >
> > > >From what context is tty_hangup() invoked? (stick a dump_stack() in there>?)
> >
> > >From IRQ context. It's tty_vhangup() which is invoked from user context,
> > and calls do_tty_hangup() synchronously.
> >
>
> But Chris and Petr are talking about virtual terminals on the local
> console, are they not?
>
> If so, how is tty_hangup() getting involved?

The only way it could be invoked is via SAK, which obviously isn't
happening here.

However, login _does_ call sys_vhangup() which in turn calls tty_vhangup()
so I suspect that the statement "tty hangup is scheduled for work_queue"
is based on the _assumption_ that sys_vhangup() calls tty_hangup()
rather than the function it actually does.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/