* [PATCH] srcu-3: improved comment and code-style improvements from Joe Perches
@ 2006-07-07 23:26 Paul E. McKenney
0 siblings, 0 replies; only message in thread
From: Paul E. McKenney @ 2006-07-07 23:26 UTC (permalink / raw)
To: linux-kernel
Cc: joe, akpm, matthltc, dipankar, stern, mingo, tytso, dvhltc, oleg,
jes
An improved comment for synchronize_srcu() and fixes for code-style
bugs pointed out by off-list by Joe Perches.
CC: Joe Perches <joe@perches.com>
Signed-off-by: Paul E. McKenney <paulmck@us.ibm.com>
---
srcu.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff -urpNa -X dontdiff linux-2.6.17-srcu-LKML-3/kernel/srcu.c linux-2.6.17-srcu-LKML-4/kernel/srcu.c
--- linux-2.6.17-srcu-LKML-3/kernel/srcu.c 2006-07-06 16:45:01.000000000 -0700
+++ linux-2.6.17-srcu-LKML-4/kernel/srcu.c 2006-07-06 16:50:23.000000000 -0700
@@ -62,7 +62,7 @@ static int srcu_readers_active_idx(struc
sum = 0;
for_each_possible_cpu(cpu)
sum += per_cpu_ptr(sp->per_cpu_ref, cpu)->c[idx];
- return (sum);
+ return sum;
}
/**
@@ -144,11 +144,15 @@ void srcu_read_unlock(struct srcu_struct
* As with classic RCU, the updater must use some separate means of
* synchronizing concurrent updates. Can block; must be called from
* process context.
+ *
+ * Note that it is illegal to call synchornize_srcu() from the corresponding
+ * SRCU read-side critical section; doing so will result in deadlock.
+ * However, it is perfectly legal to call synchronize_srcu() on one
+ * srcu_struct from some other srcu_struct's read-side critical section.
*/
void synchronize_srcu(struct srcu_struct *sp)
{
int idx;
- int sum;
idx = sp->completed;
mutex_lock(&sp->mutex);
@@ -195,12 +199,8 @@ void synchronize_srcu(struct srcu_struct
* will have finished executing.
*/
- for (;;) {
- sum = srcu_readers_active_idx(sp, idx);
- if (sum == 0)
- break;
+ while (srcu_readers_active_idx(sp, idx))
schedule_timeout_interruptible(1);
- }
synchronize_sched(); /* Force memory barrier on all CPUs. */
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-07-07 23:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-07 23:26 [PATCH] srcu-3: improved comment and code-style improvements from Joe Perches Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox