[PATCH tip/core/rcu 0/23] infrastructure for sparse checks for RCUusage

From: Paul E. McKenney
Date: Wed May 12 2010 - 17:33:30 EST


Hello!

This patchset pulls Arnd's sparse-checking commits out of the earlier
patchbomb (http://lkml.org/lkml/2010/5/4/298):

1. Add an rcu_dereference_check() API in order to continue supporting
the array-index use cases that would otherwise be invalidated
by this change.
2. Add an empty __rcu annotation API to reduce inter-commit dependency.
3-5. Updates to vfs, net, and mce to avoid breakage by later commits.
6. Introduce sparse __rcu functionality.
7. Update rculist primitives to avoid false positives.
8-22. Introduce __rcu annotations to cgroups, credentials, keys, nfs,
net, perf_event, notifiers, radix-tree, idr, input, net-netfilter,
kvm, and kernel.
23. Introduce __rcu annotations and checks to vhost.

These have been reordered and consolidated to reduce inter-commit
dependencies.

Thanx, Paul

b/arch/x86/include/asm/kvm_host.h | 2
b/arch/x86/kernel/cpu/mcheck/mce.c | 2
b/drivers/input/evdev.c | 2
b/drivers/net/bnx2.h | 2
b/drivers/net/bnx2x.h | 2
b/drivers/net/cnic.h | 2
b/drivers/net/macvtap.c | 2
b/drivers/vhost/net.c | 11 -
b/drivers/vhost/vhost.c | 14 -
b/drivers/vhost/vhost.h | 4
b/include/linux/cgroup.h | 4
b/include/linux/compiler.h | 2
b/include/linux/cred.h | 2
b/include/linux/fdtable.h | 1
b/include/linux/fs.h | 2
b/include/linux/genhd.h | 6
b/include/linux/idr.h | 4
b/include/linux/if_bridge.h | 3
b/include/linux/if_macvlan.h | 2
b/include/linux/igmp.h | 4
b/include/linux/init_task.h | 4
b/include/linux/input.h | 2
b/include/linux/iocontext.h | 2
b/include/linux/key.h | 3
b/include/linux/kvm_host.h | 2
b/include/linux/mm_types.h | 2
b/include/linux/netdevice.h | 12 -
b/include/linux/nfs_fs.h | 2
b/include/linux/notifier.h | 10
b/include/linux/perf_event.h | 6
b/include/linux/radix-tree.h | 4
b/include/linux/rculist.h | 53 +++-
b/include/linux/rculist_nulls.h | 16 +
b/include/linux/rcupdate.h | 33 +++
b/include/linux/sched.h | 2
b/include/linux/srcu.h | 27 ++
b/include/linux/sunrpc/auth_gss.h | 4
b/include/net/dst.h | 2
b/include/net/fib_rules.h | 2
b/include/net/garp.h | 2
b/include/net/inet_sock.h | 2
b/include/net/ip6_tunnel.h | 2
b/include/net/ipip.h | 6
b/include/net/net_namespace.h | 2
b/include/net/netfilter/nf_conntrack.h | 2
b/include/net/netns/xfrm.h | 2
b/include/net/sock.h | 4
b/kernel/cgroup.c | 2
b/kernel/pid.c | 2
b/kernel/rcupdate.c | 6
b/kernel/sched.c | 2
b/lib/Kconfig.debug | 13 +
b/lib/radix-tree.c | 2
b/net/802/stp.c | 4
b/net/bridge/br_fdb.c | 2
b/net/bridge/br_private.h | 8
b/net/bridge/netfilter/ebt_redirect.c | 2
b/net/bridge/netfilter/ebt_ulog.c | 4
b/net/bridge/netfilter/ebtables.c | 4
b/net/ipv4/ip_gre.c | 2
b/net/ipv4/ipip.c | 10
b/net/ipv4/netfilter/nf_nat_core.c | 2
b/net/ipv4/protocol.c | 2
b/net/ipv4/route.c | 2
b/net/ipv4/tcp.c | 4
b/net/ipv6/ip6_tunnel.c | 6
b/net/ipv6/protocol.c | 2
b/net/ipv6/sit.c | 10
b/net/mac80211/ieee80211_i.h | 15 -
b/net/mac80211/sta_info.h | 4
b/net/netfilter/core.c | 2
b/net/netfilter/nf_conntrack_ecache.c | 4
b/net/netfilter/nf_conntrack_extend.c | 2
b/net/netfilter/nf_conntrack_proto.c | 4
b/net/netfilter/nf_log.c | 2
b/net/netfilter/nf_queue.c | 2
b/net/netfilter/nfnetlink_log.c | 4
b/net/netfilter/nfnetlink_queue.c | 4
b/net/netlabel/netlabel_domainhash.c | 4
b/net/netlabel/netlabel_unlabeled.c | 4
b/net/netlink/af_netlink.c | 2
b/net/phonet/af_phonet.c | 2
b/net/phonet/pn_dev.c | 2
b/net/socket.c | 2
include/linux/compiler.h | 4
include/linux/fdtable.h | 6
include/linux/kvm_host.h | 4
include/linux/rcupdate.h | 352 +++++++++++++++++++--------------
include/linux/sched.h | 6
89 files changed, 498 insertions(+), 307 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/