Re: [PATCH] lockdep: annotate nfs/nfsd in-kernel sockets

From: Peter Zijlstra
Date: Mon Oct 09 2006 - 04:12:14 EST


On Mon, 2006-10-09 at 11:00 +1000, Neil Brown wrote:
> On Friday October 6, a.p.zijlstra@xxxxxxxxx wrote:
> >
> > Stick NFS sockets in their own class to avoid some lockdep warnings.
> > NFS sockets are never exposed to user-space, and will hence not trigger
> > certain code paths that would otherwise pose deadlock scenarios.
>
> I'm a bit bothered that the changelog entry does mention what sort of
> lockdep warning are begin avoided,

These:
http://lkml.org/lkml/2006/7/13/84

> and that 'svc_reclassify_socket'
> doesn't contain the work 'lock', yet is it really the locks that are
> being reclassified.

Hmm, good point, shall I do s/reclassify_socket/reclassify_sock_lock/ ?

> However
>
> Acked-by: NeilBrown <neilb@xxxxxxx>
>
> NeilBrown
>
> > +
> > +static inline void svc_reclassify_socket(struct socket *sock)
> > +{
> > + struct sock *sk = sock->sk;
> > + BUG_ON(sk->sk_lock.owner != NULL);
> > + switch (sk->sk_family) {
> > + case AF_INET:
> > + sock_lock_init_class_and_name(sk,
> > + "slock-AF_INET-NFSD", &svc_slock_key[0],
> > + "sk_lock-AF_INET-NFSD", &svc_key[0]);
> > + break;
> > +
> > + case AF_INET6:
> > + sock_lock_init_class_and_name(sk,
> > + "slock-AF_INET6-NFSD", &svc_slock_key[1],
> > + "sk_lock-AF_INET6-NFSD", &svc_key[1]);
> > + break;
> > +
> > + default:
> > + BUG();
> > + }
> > +}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/