Re: [PATCH v2 02/07] cpuset use combined atomic_inc_return calls

From: Michael Buesch
Date: Thu Feb 09 2006 - 14:22:27 EST


On Thursday 09 February 2006 19:54, you wrote:
> @@ -1770,8 +1769,7 @@ static long cpuset_create(struct cpuset
> atomic_set(&cs->count, 0);
> INIT_LIST_HEAD(&cs->sibling);
> INIT_LIST_HEAD(&cs->children);
> - atomic_inc(&cpuset_mems_generation);
> - cs->mems_generation = atomic_read(&cpuset_mems_generation);
> + cs->mems_generation = atomic_inc_return(&cpuset_mems_generation);
> fmeter_init(&cs->fmeter);
>
> cs->parent = parent;
> @@ -1861,7 +1859,7 @@ int __init cpuset_init_early(void)
> struct task_struct *tsk = current;
>
> tsk->cpuset = &top_cpuset;
> - tsk->cpuset->mems_generation = atomic_read(&cpuset_mems_generation);
> + tsk->cpuset->mems_generation = atomic_inc_return(&cpuset_mems_generation);
> return 0;
> }

Is this hunk really correct? I did not look into the code, but from
the patch context it seems like it adds an inc here.

--
Greetings Michael.

Attachment: pgp00000.pgp
Description: PGP signature