smp_mb(); /* Write futex before read reader_gp */
if (!rcu_gp_ongoing(index->rcu_reader_qs_gp)) {
/* Read reader_gp before write futex */
smp_mb();
/* Callbacks are queued, don't wait. */
smp_mb(); /* Write futex before read reader_gp */
if (!rcu_gp_ongoing(index->rcu_reader_qs_gp)) {
/* Read reader_gp before write futex */
smp_mb();
/* Callbacks are queued, don't wait. */