On Mon, 16 Nov 1998, Olaf Meyer wrote:
> By scanning the scheduler code I found the place where the
> error message is produced. And it means what it says :-)
> The scheduler is being invoked from an interrupt and obviously
> that should not happen. I guess I have to resolve the address,
> to see who could do such a thing ...
>
> I know, that I'm not invoking the scheduler explicitly, so it must be done
> somewhere implicitly. What functions could invoke the sceduler? Adding and
> deleting timers in interrupts shouldn't be a problem. I know that the
> functions associated with wait queues can. Are there any other?
Adding and deleting timers in intterrupt code should be fine, since it's done
atomically. Since the kernel, presumably, didn't exhibit the error before you
started changing it, you should trace the impliciations of the changes you
made, rather than looking at every place that invokes schedule(). That is just
too much work! Every interruptible_sleep_on() or sleep_on() call invokes
schedule. The scheduler may aso be invoked when returning from a system call or
interrupt. It's safe to say that the schedule() function has a fairly wide
fan-in.
You could send some diffs to me or the list, but it's probably more fun and
educational if you figure it out on your own and then post a writeup. :)
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]