[PATCH tip/core/rcu 0/8] v2 RCU callback-numbering simplificationsfor 3.11

From: Paul E. McKenney
Date: Mon May 20 2013 - 10:38:43 EST


This series takes advantage of callback numbering to simplify RCU's
grace-period machinery, in some cases also reducing the number of
lock acquisitions (though the resulting change in performance is not
perceptible). The individual patches are as follows:

1. Move code to make way for the code-combining in later patches.
This commit makes no changes, just moves code.

2. Make __note_new_gpnum() also check for the ends of prior grace
periods, thus eliminating the earlier possibility of a given
CPU becoming aware of the start of the next grace period before
becoming aware of the end of the previous grace period. Yes,
the code did handle this correctly, but now it doesn't need to.
More important, now I don't need to think about how it handles
this correctly.

3. Rename note_new_gpnum() to note_gp_changes() in preparation for
later merge of rcu_process_gp_end() into this function.

4. Change calls to rcu_process_gp_end() to instead call
note_gp_changes(), and also remove the now-used rcu_process_gp_end().

5. Remove duplicate code by merging __rcu_process_gp_end() into

6. Eliminate now-redundant call to check_for_new_grace_period(). This
leaves only a single caller, so inline check_for_new_grace_period().

7. Given that rcu_start_gp_per_cpu() is a trivial wrapper function
with only one caller, inline it into its sole remaining call site.

8. Eliminate now-redundant call to note_gp_changes().

Changes since v1:

o Added Reviewed-bys.

Thanx, Paul

b/kernel/rcutree.c | 262 ++++++++++++++--------------------------------
b/kernel/rcutree_plugin.h | 2
2 files changed, 85 insertions(+), 179 deletions(-)

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/