Messages in this thread | | | Date | Tue, 10 Aug 2004 02:00:51 -0700 | From | William Lee Irwin III <> | Subject | Re: 2.6.8-rc3-mm2 |
| |
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@holomorphy.com> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |