Re: 2.6.8-rc3-mm2
From: William Lee Irwin III
Date: Tue Aug 10 2004 - 04:08:58 EST
On Mon, Aug 09, 2004 at 03:45:46PM -0700, William Lee Irwin III wrote:
>> None of the printk()'s in do_boot_cpu() appear essential. The
>> following also boots:
On Tue, Aug 10, 2004 at 10:04:30AM +0200, Ingo Molnar wrote:
> the key seems to be not doing fork_idle() call via keventd?
> i'm wondering about:
It deadlocks with or without the fork_idle() call being via keventd;
the printk change is what makes the difference. =(
William Lee Irwin III <wli@xxxxxxxxxxxxxx> wrote:
>>- if (!keventd_up() || current_is_keventd())
>>- work.func(work.data);
>>- else {
>>- schedule_work(&work);
>>- wait_for_completion(&c_idle.done);
>>- }
On Tue, Aug 10, 2004 at 10:04:30AM +0200, Ingo Molnar wrote:
> is keventd_up() true during normal SMP bootup? If not then could you do
> something like this in do_fork_idle():
> if (keventd_up())
> complete(&c_idle->done);
> since we are in the idle thread and waking up ourselves could move us
> back to the runqueue. (bad)
There appear to be some dependencies on idle being able to schedule
and participate in kernel activity, e.g. kthread_create() does
something odd like this during migration_init().
-- wli
-
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/