Re: NFS lockdep lock misordering mmap_sem<->i_mutex_key with2.6.32-git1

From: Trond Myklebust
Date: Wed Dec 16 2009 - 08:10:15 EST


On Wed, 2009-12-16 at 01:53 +0100, Andi Kleen wrote:
> > If you want to work around the problem rather than going for something
>
> I am mostly interested in making the ugly warning on my systems
> go away, preferably without breaking anything in the process.
> Whatever works.
>
> > like Peter's split up of the mmap() callback, then I'd suggest changing
> > to using nfs_revalidate_mapping_nolock() instead. The fact that we are
> > seeing these lock misordering warnings is proof that the call to
> > nfs_revalidate_mapping() is not always a no-op.
>
> I would say the interesting question is if there is really a expectation
> that mmap does this kind of synchronization?

Usually people who set the 'noac' mount flag will expect these syscalls
to act as synchronisation points.

Typically, their applications will be using some kind of locking scheme
that does not require POSIX or BSD locks to be set. For instance, they
may synchronise by means of a token passed through a socket (common in
MPI iirc).

> Why in mmap, not somewhere else?

We do the same thing in the read() and write() syscalls.

Cheers
Trond

--
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/