Re: [PATCH] fix loop with disabled tasklets

Andrea Arcangeli
2001-11-12T01:12:27Z

I'm just guessing: the scheduler isn't yet functional when
spawn_ksoftirqd is called. This is clearly a sparc32 bug, because
swapn_ksoftirqd is called via the __initcall section and the scheduler
must be fully functional by that time. Unrelated to the fact ksoftirqd
can loop on disabled tasklets, the ksoftirqd startup is only an innocent
trigger for the deadlock.

Mathijs, can you verify that? If my theory is right need_resched isn't
set even if ksoftirqd loops forever. It could be one of those two
possibilities:

1) the timer irq isn't running yet
2) "current" isn't functional

The softirq code shouldn't really be the culprit of the sparc32
deadlock (as Alexey pointed out).

Andrea