Re: [PATCH/RFC] sched: Remove SYSTEM_RUNNING checks fromcond_resched*()

From: Andrew Morton
Date: Wed Jul 08 2009 - 17:12:00 EST


> On Wed, 8 Jul 2009 09:12:30 -0700 (PDT) Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> That said, I do agree that maybe SYSTEM_RUNNING isn't the right check.
> Testing that the scheduler is initialized may be the more correct one. I
> think the SYSTEM_RUNNING one just comes from that being used for other
> debug issues.

Agreed. system_state is too general.

If we specifically want to know whether it is safe to call schedule() then
let's create a global boolean it_is_safe_to_call_schedule and test that,
rather than testing something which indirectly and unreliably implies "it
is safe to call schedule". If that boolean already exists then no-brainer.

All that being said, I wonder if the netconsole code should be using
msleep(1) instead. Spinning on cond_resched() is a bit rude. But one
would have to verify that it is safe to call schedule() at this time, and
for the netconsole caller, this is dubious.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/