lkml.org 
[lkml]   [2010]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subject[PATCH tip/core/rcu 0/48] v4 patches queued for 2.6.35
    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(-)


    \
     
     \ /
      Last update: 2010-05-04 22:23    [W:4.271 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site