linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).