Re: [PATCH 0/2] [RFC] RT: Optionally allow IRQF_NODELAY on serial console

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2007-10-05 at 18:41 +0200, Thomas Gleixner wrote:
> On Fri, 5 Oct 2007, Gregory Haskins wrote:
> > This series may help debugging certain circumstances where the serial
> > console is unreponsive (e.g. RT51+ spinner, or scheduler problem).  It changes
> > the serial8250 driver to use IRQF_NODELAY so that interrupts execute in irq
> > context instead of a kthread.
> > 
> > It works pretty well on this end, though it is admitted not fully baked  For
> > instance, a few paths in sysrq can still call into non-raw spinlocks
> > (sched_debug_show, for instance) which will cause subsequent errors.  Also,
> > if you use KDB, be sure to convert the kdb_printf_lock to raw as well.  I may
> > send a KDB related patch seperately.
> > 
> > I am sending this out now in case it is helpful to someone.
> 
> The simple non-patch solution is to up the priority of the serial 
> console irq to maximum. That's usually sufficient to catch runnaway tasks 
> etc. It does not interfere with the system in normal operation as long as 
> you do not hit keys in your minicom.
> 
> I doubt that your patch has a chance to survive lockdep and anything which 
> is not a sysrq.

Your point is valid, and I thought of this too.  The one problem with it
is that it is not immune to problems in the scheduler itself (which at
the time, I thought I was chasing..turned out to be lockdep), but that
is probably a rarity.  In any case, we have been using it on a number of
debug systems here for a few weeks and the console continues to work
well in all functions besides sysrq, believe it or not (*).  But I don't
see this as being anything used for real.  Just thought I would throw it
out there in case it was useful or inspired someone to give it some
love.

Regards,
-Greg

(*) The trick is that once it figures out its not for sysrq, it
schedules a (kthread based) tasklet to do the actual tty() callbacks.

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux