aboutsummaryrefslogtreecommitdiff
path: root/lib/cpu-notifier-error-inject.c
diff options
context:
space:
mode:
authorPaul E. McKenney <[email protected]>2009-09-08 15:54:36 -0700
committerIngo Molnar <[email protected]>2009-09-18 00:04:54 +0200
commitde078d875cc7fc709f7818f26d38389c04369826 (patch)
tree0e7ed4d9d11ae707cc3b4e1e9d511a6d78e9e29d /lib/cpu-notifier-error-inject.c
parentde55a8958f6e3ef5ce5f0971b80bd44bfcac7cf1 (diff)
rcu: Need to update rnp->gpnum if preemptable RCU is to be reliable
Without this patch, tasks preempted in RCU read-side critical sections can fail to block the grace period, given that rnp->gpnum is used to determine which rnp->blocked_tasks[] element the preempted task is enqueued on. Before the patch, rnp->gpnum is always zero, so preempted tasks are always enqueued on rnp->blocked_tasks[0], which is correct only when the current CPU has not checked into the current grace period and the grace-period number is even, or, similarly, if the current CPU -has- checked into the current grace period and the grace-period number is odd. Signed-off-by: Paul E. McKenney <[email protected]> Acked-by: Steven Rostedt <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] LKML-Reference: <12524504771622-git-send-email-> Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'lib/cpu-notifier-error-inject.c')
0 files changed, 0 insertions, 0 deletions