All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Lockdep enablement for seqcount/seqlocks (v2)
@ 2013-10-07 22:51 John Stultz
  2013-10-07 22:51   ` John Stultz
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: John Stultz @ 2013-10-07 22:51 UTC (permalink / raw)
  To: LKML
  Cc: John Stultz, Eric Dumazet, Mathieu Desnoyers, Steven Rostedt,
	Peter Zijlstra, Ingo Molnar, Thomas Gleixner, David S. Miller,
	Alexey Kuznetsov, James Morris, Hideaki YOSHIFUJI

Just wanted to send this out again for further feedback.

This patch series enables lockdep for seqcount/seqlock structures,
as well as provides the required cleanups to explicitly initialize
the seqcount structures on u64_stat_sync users.

In addition the last two patches in this provide fixes to
some of the issues the new lockdep infrastructure caught.

I'd greatly appreciate any thoughts or feedback on the series!
Particularly on how the u64_stats_sync initialization changes
should be merged.

thanks
-john


Changeslog:
v2:
* Took Eric Dumazet's suggestion for a better ipv6 deadlock fix
* Macro formatting improvements suggested by Ingo
* Minor commit message tweaks

Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>

John Stultz (4):
  [RFC] net: Explicitly initialize u64_stats_sync structures for lockdep
  [RFC] seqcount: Add lockdep functionality to seqcount/seqlock
    structures
  [RFC] cpuset: Fix potential deadlock w/ set_mems_allowed
  [RFC] ipv6: Fix for possible ipv6 seqlock deadlock

 arch/x86/vdso/vclock_gettime.c                 |  8 +--
 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/seqlock.h                        | 79 +++++++++++++++++++++++---
 include/linux/u64_stats_sync.h                 |  7 +++
 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 +++
 43 files changed, 348 insertions(+), 28 deletions(-)

-- 
1.8.1.2


^ permalink raw reply	[flat|nested] 18+ messages in thread
* [PATCH 0/4][RFC] Lockdep enablement for seqcount/seqlocks
@ 2013-09-26 18:34 John Stultz
  2013-09-26 18:34 ` [PATCH 2/4] [RFC] seqcount: Add lockdep functionality to seqcount/seqlock structures John Stultz
  0 siblings, 1 reply; 18+ messages in thread
From: John Stultz @ 2013-09-26 18:34 UTC (permalink / raw)
  To: LKML
  Cc: John Stultz, Thomas Petazzoni, Mirko Lindner, Stephen Hemminger,
	Roger Luethi, Patrick McHardy, Rusty Russell, Michael S. Tsirkin,
	Alexey Kuznetsov, James Morris, Hideaki YOSHIFUJI, Wensong Zhang,
	Simon Horman, Julian Anastasov, Jesse Gross, Mathieu Desnoyers,
	Steven Rostedt, Peter Zijlstra, Ingo Molnar, Thomas Gleixner,
	David S. Miller, netdev, netfilter-devel

I wanted to send this out again for feedback.

This patch series enables lockdep for seqcount/seqlock structures,
as well as provides the required cleanups to explicitly initialize
the seqcount structures on u64_stat_sync users.

In addition the last two patches in this provide naive fixes to
some of the issues the new lockdep infrastructure caught.

I'd greatly appreciate any thoughts or feedback on the series!

thanks
-john

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Mirko Lindner <mlindner@marvell.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: Roger Luethi <rl@hellgate.ch>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Cc: James Morris <jmorris@namei.org>
Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Cc: Wensong Zhang <wensong@linux-vs.org>
Cc: Simon Horman <horms@verge.net.au>
Cc: Julian Anastasov <ja@ssi.bg>
Cc: Jesse Gross <jesse@nicira.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: netdev@vger.kernel.org
Cc: netfilter-devel@vger.kernel.org


John Stultz (4):
  [RFC] net: Explicitly initialize u64_stats_sync structures for lockdep
  [RFC] seqcount: Add lockdep functionality to seqcount/seqlock
    structures
  [RFC] cpuset: Fix potential deadlock w/ set_mems_allowed
  [RFC] ipv6: Fix for possible ipv6 seqlock deadlock

 arch/x86/vdso/vclock_gettime.c                 |  8 +--
 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/seqlock.h                        | 79 ++++++++++++++++++++++++--
 include/linux/u64_stats_sync.h                 |  7 +++
 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                          |  7 ++-
 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 +++
 43 files changed, 354 insertions(+), 27 deletions(-)

-- 
1.8.1.2



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2013-11-06 13:22 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-07 22:51 [PATCH 0/4] Lockdep enablement for seqcount/seqlocks (v2) John Stultz
2013-10-07 22:51 ` [PATCH 1/4] [RFC] net: Explicitly initialize u64_stats_sync structures for lockdep John Stultz
2013-10-07 22:51   ` John Stultz
2013-10-23 18:23   ` John Stultz
2013-10-23 19:37     ` Julian Anastasov
2013-10-23 19:37       ` Julian Anastasov
2013-11-06 13:20   ` [tip:core/locking] " tip-bot for John Stultz
2013-10-07 22:51 ` [PATCH 2/4] [RFC] seqcount: Add lockdep functionality to seqcount/seqlock structures John Stultz
2013-11-06 13:20   ` [tip:core/locking] " tip-bot for John Stultz
2013-10-07 22:52 ` [PATCH 3/4] [RFC] cpuset: Fix potential deadlock w/ set_mems_allowed John Stultz
2013-11-06 13:20   ` [tip:core/locking] " tip-bot for John Stultz
2013-10-07 22:52 ` [PATCH 4/4] [RFC] ipv6: Fix for possible ipv6 seqlock deadlock John Stultz
2013-10-07 23:54   ` Eric Dumazet
2013-11-06 13:20   ` [tip:core/locking] ipv6: Fix " tip-bot for John Stultz
2013-10-29 14:09 ` [PATCH 0/4] Lockdep enablement for seqcount/seqlocks (v2) Peter Zijlstra
  -- strict thread matches above, loose matches on Subject: below --
2013-09-26 18:34 [PATCH 0/4][RFC] Lockdep enablement for seqcount/seqlocks John Stultz
2013-09-26 18:34 ` [PATCH 2/4] [RFC] seqcount: Add lockdep functionality to seqcount/seqlock structures John Stultz
2013-09-26 20:46   ` Steven Rostedt
2013-09-26 20:59     ` John Stultz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.