Messages in this thread | | | Date | Tue, 10 Aug 2004 10:04:30 +0200 | From | Ingo Molnar <> | Subject | Re: 2.6.8-rc3-mm2 |
| |
* William Lee Irwin III <wli@holomorphy.com> wrote:
> On Mon, Aug 09, 2004 at 03:45:46PM -0700, William Lee Irwin III wrote: > > Adding mdelay(1000) before and after the wakeup IPI didn't help. Must > > be something else going on in printk(). > > None of the printk()'s in do_boot_cpu() appear essential. The > following also boots:
the key seems to be not doing fork_idle() call via keventd?
i'm wondering about:
> - if (!keventd_up() || current_is_keventd()) > - work.func(work.data); > - else { > - schedule_work(&work); > - wait_for_completion(&c_idle.done); > - }
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)
Ingo - 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/
| |