History

[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.

Paul Jackson committed 20 years ago

Commit 8a39cc61 parent 7b5b9ef1 file · +4 −7Browse files

Unified · Split

kernel/cpuset.c+4−7
@@ -858,8 +858,7 @@ static int update_nodemask(struct cpuset *cs, char *buf) · 857 unmodified lines
858858
859859 mutex_lock(&callback_mutex);
860860 cs->mems_allowed = trialcs.mems_allowed;
861− atomic_inc(&cpuset_mems_generation);
862− cs->mems_generation = atomic_read(&cpuset_mems_generation);
861+ cs->mems_generation = atomic_inc_return(&cpuset_mems_generation);
863862 mutex_unlock(&callback_mutex);
864863
865864 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) · 904 unmodified lines
17701769 atomic_set(&cs->count, 0);
17711770 INIT_LIST_HEAD(&cs->sibling);
17721771 INIT_LIST_HEAD(&cs->children);
1773− atomic_inc(&cpuset_mems_generation);
1774− cs->mems_generation = atomic_read(&cpuset_mems_generation);
1772+ cs->mems_generation = atomic_inc_return(&cpuset_mems_generation);
17751773 fmeter_init(&cs->fmeter);
17761774
17771775 cs->parent = parent;
@@ -1861,7 +1859,7 @@ int __init cpuset_init_early(void) · 83 unmodified lines
18611859 struct task_struct *tsk = current;
18621860
18631861 tsk->cpuset = &top_cpuset;
1864− tsk->cpuset->mems_generation = atomic_read(&cpuset_mems_generation);
1862+ tsk->cpuset->mems_generation = atomic_inc_return(&cpuset_mems_generation);
18651863 return 0;
18661864 }
18671865
@@ -1880,8 +1878,7 @@ int __init cpuset_init(void) · 12 unmodified lines
18801878 top_cpuset.mems_allowed = NODE_MASK_ALL;
18811879
18821880 fmeter_init(&top_cpuset.fmeter);
1883− atomic_inc(&cpuset_mems_generation);
1884− top_cpuset.mems_generation = atomic_read(&cpuset_mems_generation);
1881+ top_cpuset.mems_generation = atomic_inc_return(&cpuset_mems_generation);
18851882
18861883 init_task.cpuset = &top_cpuset;
18871884