From: Paolo Abeni <pab...@redhat.com> Date: Thu, 9 Mar 2017 13:54:08 +0100
> Currently the sock queue's spin locks get their lockdep > classes by the default init_spin_lock() initializer: > all socket families get - usually, see below - a single > class for rx, another specific class for tx, etc. > This can lead to false positive lockdep splat, as > reported by Andrey. > Moreover there are two separate initialization points > for the sock queues, one in sk_clone_lock() and one > in sock_init_data(), so that e.g. the rx queue lock > can get one of two possible, different classes, depending > on the socket being cloned or not. > This change tries to address the above, setting explicitly > a per address family lockdep class for each queue's > spinlock. Also, move the duplicated initialization code to a > single location. > > v1 -> v2: > - renamed the init helper > > rfc -> v1: > - no changes, tested with several different workload > > Suggested-by: Cong Wang <xiyou.wangc...@gmail.com> > Signed-off-by: Paolo Abeni <pab...@redhat.com> Applied, thank you.