Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965208AbWBHWcN (ORCPT ); Wed, 8 Feb 2006 17:32:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S965210AbWBHWcN (ORCPT ); Wed, 8 Feb 2006 17:32:13 -0500 Received: from mx1.redhat.com ([66.187.233.31]:7621 "EHLO mx1.redhat.com") by vger.kernel.org with ESMTP id S965208AbWBHWcL (ORCPT ); Wed, 8 Feb 2006 17:32:11 -0500 Date: Wed, 8 Feb 2006 17:31:54 -0500 (EST) From: Rik van Riel X-X-Sender: riel@cuia.boston.redhat.com To: Linux Kernel Mailing List cc: Eric Dumazet , Linus Torvalds Subject: Re: [PATCH] percpu data: only iterate over possible CPUs In-Reply-To: <200602051959.k15JxoHK001630@hera.kernel.org> Message-ID: References: <200602051959.k15JxoHK001630@hera.kernel.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1063 Lines: 33 On Sun, 5 Feb 2006, Linux Kernel Mailing List wrote: > [PATCH] percpu data: only iterate over possible CPUs This sched.c bit breaks Xen, and probably also other architectures that have CPU hotplug. I suspect the reason is that during early bootup only the boot CPU is online, so nothing initialises the runqueues for CPUs that are brought up afterwards. I suspect we can get rid of this problem quite easily by moving runqueue initialisation to init_idle()... > diff --git a/kernel/sched.c b/kernel/sched.c > index f77f23f..839466f 100644 > --- a/kernel/sched.c > +++ b/kernel/sched.c > @@ -6109,7 +6109,7 @@ void __init sched_init(void) > runqueue_t *rq; > int i, j, k; > > - for (i = 0; i < NR_CPUS; i++) { > + for_each_cpu(i) { > prio_array_t *array; > > rq = cpu_rq(i); -- All Rights Reversed - 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/