Commit 8a39cc60 authored by Paul Jackson's avatar Paul Jackson Committed by Linus Torvalds

[PATCH] cpuset use combined atomic_inc_return calls

Replace pairs of calls to <atomic_inc, atomic_read>, with a single call
atomic_inc_return, saving a few bytes of source and kernel text.
Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 7b5b9ef0
...@@ -858,8 +858,7 @@ static int update_nodemask(struct cpuset *cs, char *buf) ...@@ -858,8 +858,7 @@ static int update_nodemask(struct cpuset *cs, char *buf)
mutex_lock(&callback_mutex); mutex_lock(&callback_mutex);
cs->mems_allowed = trialcs.mems_allowed; cs->mems_allowed = trialcs.mems_allowed;
atomic_inc(&cpuset_mems_generation); cs->mems_generation = atomic_inc_return(&cpuset_mems_generation);
cs->mems_generation = atomic_read(&cpuset_mems_generation);
mutex_unlock(&callback_mutex); mutex_unlock(&callback_mutex);
set_cpuset_being_rebound(cs); /* causes mpol_copy() rebind */ 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) ...@@ -1770,8 +1769,7 @@ static long cpuset_create(struct cpuset *parent, const char *name, int mode)
atomic_set(&cs->count, 0); atomic_set(&cs->count, 0);
INIT_LIST_HEAD(&cs->sibling); INIT_LIST_HEAD(&cs->sibling);
INIT_LIST_HEAD(&cs->children); INIT_LIST_HEAD(&cs->children);
atomic_inc(&cpuset_mems_generation); cs->mems_generation = atomic_inc_return(&cpuset_mems_generation);
cs->mems_generation = atomic_read(&cpuset_mems_generation);
fmeter_init(&cs->fmeter); fmeter_init(&cs->fmeter);
cs->parent = parent; cs->parent = parent;
...@@ -1861,7 +1859,7 @@ int __init cpuset_init_early(void) ...@@ -1861,7 +1859,7 @@ int __init cpuset_init_early(void)
struct task_struct *tsk = current; struct task_struct *tsk = current;
tsk->cpuset = &top_cpuset; 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; return 0;
} }
...@@ -1880,8 +1878,7 @@ int __init cpuset_init(void) ...@@ -1880,8 +1878,7 @@ int __init cpuset_init(void)
top_cpuset.mems_allowed = NODE_MASK_ALL; top_cpuset.mems_allowed = NODE_MASK_ALL;
fmeter_init(&top_cpuset.fmeter); fmeter_init(&top_cpuset.fmeter);
atomic_inc(&cpuset_mems_generation); top_cpuset.mems_generation = atomic_inc_return(&cpuset_mems_generation);
top_cpuset.mems_generation = atomic_read(&cpuset_mems_generation);
init_task.cpuset = &top_cpuset; init_task.cpuset = &top_cpuset;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment