Re: 2.6.18 mmap hangs unrelated apps

From: Trond Myklebust
Date: Fri Dec 15 2006 - 16:44:54 EST


On Fri, 2006-12-15 at 15:06 -0600, Michal Sabala wrote:
> On 2006/12/15 at 13:44:44 Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote
> > On Fri, 2006-12-15 at 11:50 -0600, Michal Sabala wrote:
> > > On 2006/12/15 at 10:24:15 Trond Myklebust <trond.myklebust@xxxxxxxxxx> wrote
> > > > On Thu, 2006-12-14 at 20:30 -0600, Michal Sabala wrote:
> > > > >
> > > > > `cat /proc/*PID*/wchan` for all hanging processes contains page_sync.
> > > >
> > > > Have you tried an 'echo t >/proc/sysrq-trigger' on a client with one of
> > > > these hanging processes? If so, what does the output look like?
> > >
> > > Hello Trond,
> > >
> > > Below is the sysrq trace output for XFree86 which entered the
> > > uninterruptible sleep state on the P4 machine with nfs /home. Please
> > > note that XFree86 does not have any files open in /home - as reported by
> > > `lsof`. Below, I also listed the output of vmstat.
> >
> >
> > It is hanging because it is trying to free up memory by reclaiming pages
> > that are held by your mmaped file on NFS. Do you know why NFS is
> > hanging?
>
> Trond,
>
> I do not have any indication that it is the server not responding. Other
> applications which have NFS files open are continuing to work while in
> this case XFree86 blocks.
>
> Also, please note that test-mmap.c has successfully finished execution
> and it is no longer running while XFree86 is still hanging.
>
> Could this be related to the fact that the nfs mmaped file is unlinked
> before it is ummaped? The .nfsXXXXXXX file disappears from the NFS
> server as soon as test-mmap.c exits.

That shouldn't normally matter. The file won't be deleted until after
the last user has stopped referencing it. However it is true that the
trace you sent indicated that XFree86 was hanging in iput().

> What nfs_debug information would be useful in tracking this
> problem? Is there any other information I can provide you?

Could you just out of interest try 2.6.20-rc1?

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/