Messages in this thread |  | | Date | Wed, 13 Nov 2013 18:33:49 +0100 | From | Ingo Molnar <> | Subject | [GIT PULL] locking changes for v3.13 |
| |
Linus,
Please pull the latest core-locking-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-locking-for-linus
# HEAD: 90d3839b90fe379557dae4a44735a6af78f42885 block: Use u64_stats_init() to initialize seqcounts
The biggest changes:
- add lockdep support for seqcount/seqlocks structures, this unearthed both bugs and required extra annotation.
- move the various kernel locking primitives to the new kernel/locking/ directory.
Thanks,
Ingo
[ Note: shortlog and diffstat was generated by hand. One trivial conflict in kernel/Makefile. ] ------------------>
Borislav Petkov (1): lockdep, x86/alternatives: Drop ancient lockdep fixup message
Davidlohr Bueso (1): lockstat: Report avg wait and hold times
Fengguang Wu (1): locking/lockdep: Mark __lockdep_count_forward_deps() as static
Ingo Molnar (3): Merge tag 'v3.12' into core/locking to pick up mutex upates Merge branch 'core/rcu' into core/locking, to prepare the kernel/locking/ file move Merge branch 'sched/core' into core/locking, to prepare the kernel/locking/ file move
John Stultz (4): net: Explicitly initialize u64_stats_sync structures for lockdep seqcount: Add lockdep functionality to seqcount/seqlock structures cpuset: Fix potential deadlock w/ set_mems_allowed ipv6: Fix possible ipv6 seqlock deadlock
Li Zefan (1): hung_task: Change sysctl_hung_task_check_count to 'int'
Oleg Nesterov (1): hung_task debugging: Add tracepoint to report the hang
Peter Zijlstra (11): locking: Move the mutex code to kernel/locking/ locking: Move the lockdep code to kernel/locking/ locking: Move the spinlock code to kernel/locking/ locking: Move the semaphore core to kernel/locking/ locking: Move the rtmutex code to kernel/locking/ locking: Move the rwsem code to kernel/locking/ locking: Move the lglocks code to kernel/locking/ locking: Move the percpu-rwsem code to kernel/locking/ locking/doc: Update references to kernel/mutex.c lockdep/proc: Fix lock-time avg computation block: Use u64_stats_init() to initialize seqcounts
Raghavendra K T (1): x86/locking/kconfig: Update paravirt spinlock Kconfig description
Documentation/DocBook/kernel-locking.tmpl | 2 +- Documentation/lockstat.txt | 123 ++++++++++++------------- Documentation/mutex-design.txt | 10 +- arch/x86/Kconfig | 6 +- arch/x86/kernel/alternative.c | 11 --- arch/x86/vdso/vclock_gettime.c | 8 +- block/blk-cgroup.h | 10 ++ block/blk-throttle.c | 10 ++ block/cfq-iosched.c | 25 +++++ drivers/net/dummy.c | 6 ++ drivers/net/ethernet/emulex/benet/be_main.c | 4 + drivers/net/ethernet/intel/igb/igb_main.c | 5 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 + drivers/net/ethernet/marvell/mvneta.c | 3 + drivers/net/ethernet/marvell/sky2.c | 3 + drivers/net/ethernet/neterion/vxge/vxge-main.c | 4 + drivers/net/ethernet/nvidia/forcedeth.c | 2 + drivers/net/ethernet/realtek/8139too.c | 3 + drivers/net/ethernet/tile/tilepro.c | 2 + drivers/net/ethernet/via/via-rhine.c | 3 + drivers/net/ifb.c | 5 + drivers/net/loopback.c | 6 ++ drivers/net/macvlan.c | 7 ++ drivers/net/nlmon.c | 8 ++ drivers/net/team/team.c | 6 ++ drivers/net/team/team_mode_loadbalance.c | 9 +- drivers/net/veth.c | 8 ++ drivers/net/virtio_net.c | 8 ++ drivers/net/vxlan.c | 8 ++ drivers/net/xen-netfront.c | 6 ++ fs/dcache.c | 4 +- fs/fs_struct.c | 2 +- include/linux/cpuset.h | 4 + include/linux/init_task.h | 8 +- include/linux/lockdep.h | 8 +- include/linux/mutex.h | 2 +- include/linux/sched/sysctl.h | 2 +- include/linux/seqlock.h | 79 ++++++++++++++-- include/linux/u64_stats_sync.h | 7 ++ include/trace/events/sched.h | 19 ++++ kernel/Makefile | 22 +---- kernel/futex.c | 2 +- kernel/hung_task.c | 6 +- kernel/locking/Makefile | 25 +++++ kernel/{ => locking}/lglock.c | 0 kernel/{ => locking}/lockdep.c | 4 +- kernel/{ => locking}/lockdep_internals.h | 0 kernel/{ => locking}/lockdep_proc.c | 15 +-- kernel/{ => locking}/lockdep_states.h | 0 kernel/{ => locking}/mutex-debug.c | 0 kernel/{ => locking}/mutex-debug.h | 0 kernel/{ => locking}/mutex.c | 2 +- kernel/{ => locking}/mutex.h | 0 {lib => kernel/locking}/percpu-rwsem.c | 0 kernel/{ => locking}/rtmutex-debug.c | 0 kernel/{ => locking}/rtmutex-debug.h | 0 kernel/{ => locking}/rtmutex-tester.c | 0 kernel/{ => locking}/rtmutex.c | 0 kernel/{ => locking}/rtmutex.h | 0 kernel/{ => locking}/rtmutex_common.h | 0 {lib => kernel/locking}/rwsem-spinlock.c | 0 lib/rwsem.c => kernel/locking/rwsem-xadd.c | 0 kernel/{ => locking}/rwsem.c | 0 kernel/{ => locking}/semaphore.c | 0 kernel/{ => locking}/spinlock.c | 0 {lib => kernel/locking}/spinlock_debug.c | 0 kernel/rcu/tree_plugin.h | 2 +- kernel/sysctl.c | 5 +- lib/Makefile | 4 - mm/filemap_xip.c | 2 +- net/8021q/vlan_dev.c | 9 +- net/bridge/br_device.c | 7 ++ net/ipv4/af_inet.c | 14 +++ net/ipv4/ip_tunnel.c | 8 +- net/ipv6/addrconf.c | 14 +++ net/ipv6/af_inet6.c | 14 +++ net/ipv6/ip6_gre.c | 15 +++ net/ipv6/ip6_output.c | 2 +- net/ipv6/ip6_tunnel.c | 7 ++ net/ipv6/sit.c | 15 +++ net/netfilter/ipvs/ip_vs_ctl.c | 25 ++++- net/openvswitch/datapath.c | 6 ++ net/openvswitch/vport.c | 8 ++ 83 files changed, 535 insertions(+), 148 deletions(-) create mode 100644 kernel/locking/Makefile rename kernel/{ => locking}/lglock.c (100%) rename kernel/{ => locking}/lockdep.c (99%) rename kernel/{ => locking}/lockdep_internals.h (100%) rename kernel/{ => locking}/lockdep_proc.c (97%) rename kernel/{ => locking}/lockdep_states.h (100%) rename kernel/{ => locking}/mutex-debug.c (100%) rename kernel/{ => locking}/mutex-debug.h (100%) rename kernel/{ => locking}/mutex.c (99%) rename kernel/{ => locking}/mutex.h (100%) rename {lib => kernel/locking}/percpu-rwsem.c (100%) rename kernel/{ => locking}/rtmutex-debug.c (100%) rename kernel/{ => locking}/rtmutex-debug.h (100%) rename kernel/{ => locking}/rtmutex-tester.c (100%) rename kernel/{ => locking}/rtmutex.c (100%) rename kernel/{ => locking}/rtmutex.h (100%) rename kernel/{ => locking}/rtmutex_common.h (100%) rename {lib => kernel/locking}/rwsem-spinlock.c (100%) rename lib/rwsem.c => kernel/locking/rwsem-xadd.c (100%) rename kernel/{ => locking}/rwsem.c (100%) rename kernel/{ => locking}/semaphore.c (100%) rename kernel/{ => locking}/spinlock.c (100%) rename {lib => kernel/locking}/spinlock_debug.c (100%)
|  |