public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: mingo@elte.hu, laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca,
	josh@joshtriplett.org, dvhltc@us.ibm.com, niv@us.ibm.com,
	tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org,
	Valdis.Kletnieks@vt.edu, dhowells@redhat.com,
	eric.dumazet@gmail.com
Subject: [PATCH tip/core/rcu 0/48] v4 patches queued for 2.6.35
Date: Tue, 4 May 2010 13:19:34 -0700	[thread overview]
Message-ID: <20100504201934.GA19234@linux.vnet.ibm.com> (raw)

Hello!

RFC preview of RCU patches queued for 2.6.35, take 4.
Take 3 is at http://lkml.org/lkml/2010/4/20/321.
New patches flagged with "New".

 1.	New: optionally leave lockdep enabled after RCU lockdep splat
	This patch, based on one from Lai Jiangshan, allows multiple
	RCU-lockdep splats per boot.  This was proposed for 2.6.34,
	but it does not qualify as a regression, so it is now at the
	head of the 2.6.35 queue.

 2.	substitute set_need_resched for sending resched IPIs
 	This reduces OS jitter.

 3.	make dead code really dead.
 4.	move some code from macro to function
 	Cleanups from Lai Jiangshan.

 5.	ignore offline CPUs in last non dyntick idle CPU check
 	Fix to my CONFIG_RCU_FAST_NO_HZ code to handle offline and
	non-existent CPUs, also from Lai Jiangshan.

 6.	fix bogus CONFIG_PROVE_LOCKING in comments to reality
 7.	fix now bogus rcu_scheduler_active comments
 	Comment fixups.

 8.	shrink rcutiny by making synchronize_rcu_bh be inline
 	Shrink TINY_RCU some more.

 9.	rename rcutiny rcu_ctrlblk to rcu_sched_ctrlblk
 	First step towards TINY_PREEMPTIBLE_RCU.

10.	refactor RCU's context switch handling
 	Reduce the number of needless softirqs.

11.	slim down rcutiny by removing rcu_scheduler_active and friends
	More shrinkage for TINY_RCU

12.	enable CPU_STALL_VERBOSE by default.  It will have been in one
	release, so time to enable it.

13.	disable CPU stall warnings upon panic

14.	print boot-time console messages if RCU configs out of ordinary

15.	improve RCU CPU stall-warning messages

16.	permit discontiguous cpu_possible_mask CPU numbering

17.	v2: reduce the number of spurious RCU_SOFTIRQ invocations
	[Original from Lai Jiangshan]

18.	improve the RCU CPU-stall-warning documentation

19.	debugobjects transition check
20.	introduce rcu_head_init_on_stack
21.	remove all non-on-stack rcu_head initializations
22.	remove rcu_head initializers
23.	Add debug RCU head objects
	Debug-objects-based rcu_head checking from Mathieu Desnoyers

24.	make SRCU usable in modules
	[From Lai Jiangshan]

25.	New: fix debugobjects rcu head init on stack in rcutree_plugin.h
	Fix from Mathieu for the earlier debugobjects series

26.	New: RCU_FAST_NO_HZ must check RCU dyntick state
	Fix for the classic Classic RCU bug introduced via the
	RCU_FAST_NO_HZ patch.  :-/

27.	New: add fs.h to define struct file
28.	New: Make accesses to ->br_port safe for sparse RCU
29.	New: add an rcu_dereference_index_check()
30.	New: mce: convert to rcu_dereference_index_check()
31.	New: define __rcu address space modifier for sparse
32.	New: rculist: avoid __rcu annotations
33.	New: cgroups: __rcu annotations
34.	New: credentials: rcu annotation
35.	New: keys: __rcu annotations
36.	New: nfs: __rcu annotations
37.	New: net: __rcu annotations for drivers
38.	New: perf_event: __rcu annotations
39.	New: notifiers: __rcu annotations
40.	New: radix-tree: __rcu annotations
41.	New: idr: __rcu annotations
42.	New: input: __rcu annotations
43.	New: vhost: add __rcu annotations
44.	New: net/netfilter: __rcu annotations
45.	New: kvm: add __rcu annotations
46.	New: kernel: __rcu annotations
47.	New: net: __rcu annotations
48.	New: kvm: more __rcu annotations
	Sparse-based RCU checking from Arnd Bergmann.  These changes
	allow sparse to generate complaints if RCU-protected pointers
	are accessed directly rather than via the appropriate RCU
	primitive.  This is a debugging tool rather than a code-quality
	enforcement mechanism, although Arnd does have some additional
	patches should someone wish to use this as a code-quality
	enforcement mechanism for their code.

							Thanx, Paul

 b/Documentation/RCU/stallwarn.txt             |   94 +++--
 b/Documentation/RCU/trace.txt                 |   35 +
 b/arch/powerpc/mm/pgtable.c                   |    1 
 b/arch/x86/include/asm/kvm_host.h             |    2 
 b/arch/x86/kernel/cpu/mcheck/mce.c            |    2 
 b/block/cfq-iosched.c                         |    1 
 b/block/genhd.c                               |    1 
 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/staging/batman-adv/hard-interface.c |    1 
 b/drivers/vhost/net.c                         |    6 
 b/drivers/vhost/vhost.c                       |   12 
 b/drivers/vhost/vhost.h                       |    4 
 b/fs/file.c                                   |    3 
 b/fs/fs-writeback.c                           |   31 +
 b/fs/nfs/delegation.h                         |    2 
 b/fs/partitions/check.c                       |    1 
 b/include/linux/cgroup.h                      |    4 
 b/include/linux/compiler.h                    |    6 
 b/include/linux/cred.h                        |    2 
 b/include/linux/debugobjects.h                |   11 
 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                   |    1 
 b/include/linux/if_macvlan.h                  |    2 
 b/include/linux/igmp.h                        |    4 
 b/include/linux/init_task.h                   |    1 
 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                     |   52 +-
 b/include/linux/rculist_nulls.h               |   16 
 b/include/linux/rcupdate.h                    |    6 
 b/include/linux/rcutiny.h                     |   12 
 b/include/linux/rcutree.h                     |    2 
 b/include/linux/sched.h                       |    2 
 b/include/linux/srcu.h                        |    4 
 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/lockdep.c                            |    2 
 b/kernel/pid.c                                |    2 
 b/kernel/rcupdate.c                           |   19 -
 b/kernel/rcutiny.c                            |    9 
 b/kernel/rcutiny_plugin.h                     |   39 ++
 b/kernel/rcutorture.c                         |    2 
 b/kernel/rcutree.c                            |   10 
 b/kernel/rcutree.h                            |    1 
 b/kernel/rcutree_plugin.h                     |    2 
 b/kernel/rcutree_trace.c                      |    4 
 b/kernel/sched.c                              |    2 
 b/kernel/softirq.c                            |    2 
 b/lib/Kconfig.debug                           |   12 
 b/lib/debugobjects.c                          |   59 +++
 b/lib/radix-tree.c                            |    2 
 b/mm/backing-dev.c                            |    1 
 b/mm/slob.c                                   |    1 
 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_expect.c         |   12 
 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 
 b/security/selinux/avc.c                      |    1 
 b/security/selinux/netnode.c                  |    2 
 include/linux/fdtable.h                       |    6 
 include/linux/init_task.h                     |    4 
 include/linux/kvm_host.h                      |    4 
 include/linux/rcupdate.h                      |  477 +++++++++++++++++---------
 include/linux/rcutiny.h                       |   17 
 include/linux/rcutree.h                       |    4 
 include/linux/sched.h                         |    6 
 include/linux/srcu.h                          |   29 +
 kernel/rcupdate.c                             |  155 ++++++++
 kernel/rcutiny.c                              |   28 +
 kernel/rcutree.c                              |  127 ++++--
 kernel/rcutree.h                              |    1 
 kernel/rcutree_plugin.h                       |   69 +++
 kernel/sched.c                                |    2 
 lib/Kconfig.debug                             |   21 +
 127 files changed, 1193 insertions(+), 485 deletions(-)

             reply	other threads:[~2010-05-04 20:19 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-04 20:19 Paul E. McKenney [this message]
2010-05-04 20:19 ` [PATCH tip/core/rcu 01/48] rcu: optionally leave lockdep enabled after RCU lockdep splat Paul E. McKenney
2010-05-05 22:46   ` Mathieu Desnoyers
2010-05-05 23:05     ` Paul E. McKenney
2010-05-05 23:24       ` Mathieu Desnoyers
2010-05-05 23:36         ` Paul E. McKenney
2010-05-06  2:05           ` Mathieu Desnoyers
2010-05-06 23:09             ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 02/48] rcu: substitute set_need_resched for sending resched IPIs Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 03/48] rcu: make dead code really dead Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 04/48] rcu: move some code from macro to function Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 05/48] rcu: ignore offline CPUs in last non-dyntick-idle CPU check Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 06/48] rcu: Fix bogus CONFIG_PROVE_LOCKING in comments to reflect reality Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 07/48] rcu: fix now-bogus rcu_scheduler_active comments Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 08/48] rcu: shrink rcutiny by making synchronize_rcu_bh() be inline Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 09/48] rcu: rename rcutiny rcu_ctrlblk to rcu_sched_ctrlblk Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 10/48] rcu: refactor RCU's context-switch handling Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 11/48] rcu: slim down rcutiny by removing rcu_scheduler_active and friends Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 12/48] rcu: enable CPU_STALL_VERBOSE by default Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 13/48] rcu: disable CPU stall warnings upon panic Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 14/48] rcu: print boot-time console messages if RCU configs out of ordinary Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 15/48] rcu: improve RCU CPU stall-warning messages Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 16/48] rcu: permit discontiguous cpu_possible_mask CPU numbering Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 17/48] rcu: v2: reduce the number of spurious RCU_SOFTIRQ invocations Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 18/48] rcu: improve the RCU CPU-stall warning documentation Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 19/48] Debugobjects transition check Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 20/48] rcu head introduce rcu head init on stack Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 21/48] remove all rcu head initializations, except on_stack initializations Paul E. McKenney
2010-05-04 20:27   ` Matt Mackall
2010-05-04 20:36     ` Paul E. McKenney
2010-05-04 23:44   ` James Morris
2010-05-05  0:03     ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 22/48] rcu head remove init Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 23/48] tree/tiny rcu: Add debug RCU head objects (v5) Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 24/48] rcu: make SRCU usable in modules Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 25/48] rcu: fix debugobjects rcu head init on stack in rcutree_plugin.h Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 26/48] rcu: RCU_FAST_NO_HZ must check RCU dyntick state Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 27/48] vfs: add fs.h to define struct file Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 28/48] net: Make accesses to ->br_port safe for sparse RCU Paul E. McKenney
2010-05-04 21:26   ` Stephen Hemminger
2010-05-04 21:41     ` Arnd Bergmann
2010-05-05 22:03       ` Paul E. McKenney
2010-05-06 14:09         ` Arnd Bergmann
2010-05-06 23:12           ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 29/48] rcu: add an rcu_dereference_index_check() Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 30/48] mce: convert to rcu_dereference_index_check() Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 31/48] rcu: define __rcu address space modifier for sparse Paul E. McKenney
2010-05-04 20:58   ` Arnd Bergmann
2010-05-04 23:07     ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 32/48] rculist: avoid __rcu annotations Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 33/48] cgroups: " Paul E. McKenney
2010-05-04 20:48   ` Paul Menage
2010-05-05  0:04     ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 34/48] credentials: rcu annotation Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 35/48] keys: __rcu annotations Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 36/48] nfs: " Paul E. McKenney
2010-05-05 10:14   ` David Howells
2010-05-05 12:44     ` Trond Myklebust
2010-05-05 21:01       ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 37/48] net: __rcu annotations for drivers Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 38/48] perf_event: __rcu annotations Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 39/48] notifiers: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 40/48] radix-tree: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 41/48] idr: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 42/48] input: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 43/48] vhost: add " Paul E. McKenney
2010-05-04 21:39   ` Michael S. Tsirkin
2010-05-04 23:57     ` Paul E. McKenney
2010-05-04 23:59       ` Michael S. Tsirkin
2010-05-05  0:39         ` Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 44/48] net/netfilter: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 45/48] kvm: add " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 46/48] kernel: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 47/48] net: " Paul E. McKenney
2010-05-04 20:19 ` [PATCH tip/core/rcu 48/48] kvm: more " Paul E. McKenney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100504201934.GA19234@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=akpm@linux-foundation.org \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=dvhltc@us.ibm.com \
    --cc=eric.dumazet@gmail.com \
    --cc=josh@joshtriplett.org \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=niv@us.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox