Re: Lockup 2.1.6* => kmalloc/slab

Mark Hemment (markhe@nextd.demon.co.uk)
Wed, 12 Nov 1997 21:10:45 +0000 (GMT)


On Wed, 12 Nov 1997, Rik van Riel wrote:
> On Wed, 12 Nov 1997, Mark Hemment wrote:
>
> > This means the bottom-half handler (softirq) isn't running - something is
> > looping in the kernel, or it is stuck in one of the handlers, or someone
> > has called start_bh_atomic() and is sleeping/looping holding the
> > lock-counter.
>
> If the interrupt handlers are stuck, how come that <sysrq>
> _does_ run, it's also triggered by an interrupt...

The (soft) bottom-half handler can be run after a hard (see
arch/i386/irq.c, do_IRQ()), or from a return from kernel to user-space
(entry.S).
The fact that you get a keyboard hard interrupt for sys-rq means that
hard-interrupts are not disable, which is why I assumed the bottom-half
was not running/getting stuck. (Console switching takes place in the
bottom-half).

markhe