* softirq & schedule documentation
@ 2001-08-29 16:29 Jonathan Zimmerman
0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Zimmerman @ 2001-08-29 16:29 UTC (permalink / raw)
To: linux-kernel
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: softirq & schedule documentation
@ 2001-08-30 14:27 Shailabh Nagar
0 siblings, 0 replies; 2+ messages in thread
From: Shailabh Nagar @ 2001-08-30 14:27 UTC (permalink / raw)
To: tyrius; +Cc: linux-kernel
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/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-08-30 14:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-29 16:29 softirq & schedule documentation Jonathan Zimmerman
2001-08-30 14:27 Shailabh Nagar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).