[PATCH] explicitly bind idle tasks
Joel Schopp
jschopp at austin.ibm.com
Tue Mar 8 10:01:28 EST 2005
Nathan Lynch wrote:
> With hotplug cpu and preempt, we tend to see smp_processor_id warnings
> from idle loop code because it's always checking whether its cpu has
> gone offline. Replacing every use of smp_processor_id with
> _smp_processor_id in all idle loop code is one solution; another way
> is explicitly binding idle threads to their cpus (the smp_processor_id
> warning does not fire if the caller is bound only to the calling cpu).
> This has the (admittedly slight) advantage of letting us know if an
> idle thread ever runs on the wrong cpu.
I also prefer explicitly binding idle threads to their cpus instead of
replacing use of smp_processor_id with _smp_processor_id.
>
>
> Signed-off-by: Nathan Lynch <ntl at pobox.com>
Acked-by: Joel Schopp <jschopp at austin.ibm.com>
>
> Index: linux-2.6.11-rc5-mm1/init/main.c
> ===================================================================
> --- linux-2.6.11-rc5-mm1.orig/init/main.c 2005-03-02 00:12:07.000000000 +0000
> +++ linux-2.6.11-rc5-mm1/init/main.c 2005-03-02 00:53:04.000000000 +0000
> @@ -638,6 +638,10 @@
> {
> lock_kernel();
> /*
> + * init can run on any cpu.
> + */
> + set_cpus_allowed(current, CPU_MASK_ALL);
> + /*
> * Tell the world that we're going to be the grim
> * reaper of innocent orphaned children.
> *
> Index: linux-2.6.11-rc5-mm1/kernel/sched.c
> ===================================================================
> --- linux-2.6.11-rc5-mm1.orig/kernel/sched.c 2005-03-02 00:12:07.000000000 +0000
> +++ linux-2.6.11-rc5-mm1/kernel/sched.c 2005-03-02 00:47:14.000000000 +0000
> @@ -4092,6 +4092,7 @@
> idle->array = NULL;
> idle->prio = MAX_PRIO;
> idle->state = TASK_RUNNING;
> + idle->cpus_allowed = cpumask_of_cpu(cpu);
> set_task_cpu(idle, cpu);
>
> spin_lock_irqsave(&rq->lock, flags);
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
More information about the Linuxppc64-dev
mailing list