From: Paul Jackson Date: Fri, 24 Mar 2006 11:16:01 +0000 (-0800) Subject: [PATCH] cpuset use combined atomic_inc_return calls X-Git-Tag: v2.6.17-rc1~929 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a39cc60bfa5a72f32d975729a354daca124f6de;p=linux-2.6 [PATCH] cpuset use combined atomic_inc_return calls Replace pairs of calls to , with a single call atomic_inc_return, saving a few bytes of source and kernel text. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 9f28e1f001..44d13c246e 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -858,8 +858,7 @@ static int update_nodemask(struct cpuset *cs, char *buf) mutex_lock(&callback_mutex); cs->mems_allowed = trialcs.mems_allowed; - atomic_inc(&cpuset_mems_generation); - cs->mems_generation = atomic_read(&cpuset_mems_generation); + cs->mems_generation = atomic_inc_return(&cpuset_mems_generation); mutex_unlock(&callback_mutex); set_cpuset_being_rebound(cs); /* causes mpol_copy() rebind */ @@ -1770,8 +1769,7 @@ static long cpuset_create(struct cpuset *parent, const char *name, int mode) 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; } @@ -1880,8 +1878,7 @@ int __init cpuset_init(void) top_cpuset.mems_allowed = NODE_MASK_ALL; fmeter_init(&top_cpuset.fmeter); - atomic_inc(&cpuset_mems_generation); - top_cpuset.mems_generation = atomic_read(&cpuset_mems_generation); + top_cpuset.mems_generation = atomic_inc_return(&cpuset_mems_generation); init_task.cpuset = &top_cpuset;