Re: Kernel 2.4.5-ac2 OOPs when run pppd ?

From: Richard Gooch (rgooch@ras.ucalgary.ca)
Date: Mon May 28 2001 - 13:21:05 EST


Andrew Morton writes:
> Alan Cox wrote:
> >
> > > Yeas it is stil the same as 2.4.5-ac1, but did not
> > > happen with 2.4.5; You can try running pppd in the
> > > console (tty1) without any argument.
> >
> > Looks like an interaction with the newer console locking code. The BUG() is
> > caused when the ppp code tries to write to the console from inside an
> > interrupt handler [now not allowed]
>
> I wondered if there were more cases.
>
> In the (as-yet-unsent) Linus patch I've added an
>
> if (in_interrupt()) {
> shout_loudly();
> return;
> }
>
> in three places to catch this possibility. I'll prepare
> a -ac diff.
>
>
> This is a fundamental problem.
>
> - The console is a tty device
> - tty devices are callable from interrupts
> - the console is very stateful and needs locking
> - the locking must be interrupt-safe (irqsave)
> - the console is very slow.
>
> net result: we block interrupts for ages. It's
> an exceptional situation. I hope Linus buys this
> line of reasoning :)

How about having a helper function for interrupt handlers which queues
characters to be sent to the console? kconsoled anyone? Blocking
interrupts is quite distressing, so we need to be consoled ;-)

                                Regards,

                                        Richard....
Permanent: rgooch@atnf.csiro.au
Current: rgooch@ras.ucalgary.ca
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu May 31 2001 - 21:00:37 EST