>What I'm worried about is that there's no memory barrier after the >counter update, so how do we know it cannot happen after >synchronize_rcu()? I think we need something like rcu_assign_pointer() >but I don't see rcu_assign_index() (any more?) I did not find much on rcu_assign_index other than http://markmail.org/thread/h53fuecyo5odg6xv which has this function defined as +#define rcu_assign_index(p, v) ({ \ + smp_wmb(); \ + (p) = (v); \ + }) Will smp_wmb() do the trick? counter++; smp_wmb(); synchronize_rcu(); or will have to move to pointer logic? And use rcu_assign_pointer at key.c and rcu_dereference at tx.c with overhead of kmalloc and kfree? Thanks Yogesh -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html