Messages in this thread | | | Subject | Re: softirq & schedule documentation | From | "Shailabh Nagar" <> | Date | 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/
| |