diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-07-10 09:51:32 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-12 14:03:24 -0700 |
commit | 6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a (patch) | |
tree | d80582a2c3c248acef1193291a1888ffd588e9fd /kernel/taskstats.c | |
parent | 487420df79f1d9f5b9de74c9bef378609c475a39 (diff) | |
download | op-kernel-dev-6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a.zip op-kernel-dev-6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a.tar.gz |
netlink: use call_rcu for netlink_change_ngroups
For the network namespace work in generic netlink I need
to be able to call this function under rcu_read_lock(),
otherwise the locking becomes a nightmare and more locks
would be needed. Instead, just embed a struct rcu_head
(actually a struct listeners_rcu_head that also carries
the pointer to the memory block) into the listeners
memory so we can use call_rcu() instead of synchronising
and then freeing. No rcu_barrier() is needed since this
code cannot be modular.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'kernel/taskstats.c')
0 files changed, 0 insertions, 0 deletions