Re: softirq & schedule documentation

Shailabh Nagar (nagar@us.ibm.com)
Thu, 30 Aug 2001 10:27:02 -0400


While porting our MultiQueue scheduler to 2.4.6 (on x86) and above, we had
faced some problems with ksoftirqd too but it turned out to be something
related to what our code was doing rather than ksoftirqd (an attempt was
being made to delete a task from the runqueue when it wasn't on it).

But while debugging the error, we found that the problem was exacerbated by
ksoftirqd trying to call schedule() before all CPU's had a chance to come
up.A few printk's in the spawn_ksoftirqd()/ksoftirqd() code temporarily
"solved" the problem by introducing a slight delay. You could try the same.
I don't remember the exact code locations in softirq.c that we put the
printks in but it was in the initializing parts.

Are you trying to boot an SMP ?

Shailabh

Hi,
I'm in the process of trying to track down a problem with the sparc32 port

not booting and believe that the problem lies somewhere in either the
scheduling algorithm or ksoftirqd. Schedule is called by spawn_ksoftirqd,
which then proceeds to loop infinately. I know that, eventually, prev =
current = next = ksoftirqd. current->need_resched gets set to 0 in the
move_rr_back block of schedule(),but at some point in recalculate: it gets
set back to 1.

Is there any sort of documentation on the softirq stuff and the scheduling
algorithm out there that is relevant to 2.4.9? It seems that the only stuff
I've managed to find is based off the 2.2.x kernels.

Thanks,

Jonathan Zimmerman
-
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/

-
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/