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

From: Neil Brown
Date: Mon Oct 09 2006 - 04:04:53 EST


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, and that 'svc_reclassify_socket'
doesn't contain the work 'lock', yet is it really the locks that are
being reclassified. 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/