Messages in this thread | | | Subject | Re: [PATCH] drivers/net: Use RCU_INIT_POINTER(x, NULL) in tun.c | From | Eric Dumazet <> | Date | Sun, 23 Mar 2014 22:25:27 -0700 |
| |
On Mon, 2014-03-24 at 07:09 +0200, Michael S. Tsirkin wrote:
> Seems an incredibly strict requirement for something that just > silences a warning. > What exactly should I test? > I intended to just verify this produces same code as before > d322f45ceed525daa under a recent gcc.
Thats because many rcu_assign_pointer(X, NULL) were already converted to RCU_INIT_POINTER(X, NULL)
Quite frankly I don't know why you bother at all.
Adding back the lazy test in rcu_assign_pointer() doesn't help to make the API cleaner and easier to understand.
People are usually using RCU API without really understanding all the issues. They tend to add superfluous barriers because they feel better.
Having separate RCU_INIT_POINTER() and rcu_assign_pointer() serve as better documentation of the code, I find it more easier to immediately check what is going on while reviewing stuff.
Presumably, checkpatch.pl could be augmented to suggest to use RCU_INIT_POINTER(X, NULL) instead of rcu_assign_pointer(X, NULL)
| |