Re: [PATCH 01/10] cpu: Introduce clear_tasks_mm_cpumask() helper

From: Peter Zijlstra
Date: Sat Mar 24 2012 - 08:45:17 EST


On Sat, 2012-03-24 at 14:27 +0400, Anton Vorontsov wrote:
> +void clear_tasks_mm_cpumask(int cpu)
> +{
> + struct task_struct *p;
> +
> + read_lock(&tasklist_lock);
> + for_each_process(p) {
> + struct task_struct *t;
> +
> + t = find_lock_task_mm(p);
> + if (!t)
> + continue;
> + cpumask_clear_cpu(cpu, mm_cpumask(t->mm));
> + task_unlock(t);
> + }
> + read_unlock(&tasklist_lock);
> +}

Why bother with the tasklist_lock at all anymore, afaict you could use
rcu_read_lock() here. This all is called after the cpu is taken down and
marked offline, so its not like new tasks will ever get this cpu set in
their mm mask.


--
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/