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.

Reply via email to