Re: make -j4 gets stuck w/ ccache over NFS - solved!

From: Mark M. Hoffman
Date: Thu Mar 10 2005 - 00:57:00 EST


Hi Tridge, Greg, et. al.:

I wrote, some months ago:
> > I'm using ccache version 2.4 [1]. I just changed ~/.ccache to a symbolic
> > link to a directory which is NFS mounted [2]. The kernel source itself is
> > on a local FS. With the ccache suitably primed, when I do a kernel compile
> > using 'make -j4' it seems to get stuck for seconds at a time. When it gets
> > unstuck, it blows through a handful of files and then gets stuck again.

* tridge@xxxxxxxxx <tridge@xxxxxxxxx> [2004-12-08 18:25:59 +1100]:
> I'd suggest you first narrow down the problem to either being a
> locking problem or a file IO problem. To do that, change lock_fd() in
> util.c in ccache to just "return 0;". That will mean the ccache stats
> file could become corrupted, but if it runs fast then you know that it
> is a locking problem. I have noticed severe speed problem with NFS
> locking on Linux previosly, which is why I mention this as a
> possibility.
>
> Note that removing this locking will not cause ccache to produce
> incorrect object files, it will just mean the stats printed with
> "ccache -s" may be inaccurate.

Thanks for the suggestions. It wasn't very important to me so I didn't
make time to follow up on it. I was just playing w/ ccache at the time.

Finally I noticed this patch from -mm1... and it solves the problem.

nfsd--lockd-dont-try-to-match-callback-requests-against-export-table.patch

How I tested: I applied the first 12 patches in 2.6.11-mm1; the above
mentioned was last - couldn't reproduce the bug. When I unapplied just
that one, I saw it again.

original bug report:
http://marc.theaimsgroup.com/?l=linux-kernel&m=110238645132535&w=3

Greg: have you considered this one for 2.6.11.x?

Thanks,

--
Mark M. Hoffman
mhoffman@xxxxxxxxxxxxx

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