svn commit: r285068 - in head/sys: conf modules/agp modules/geom/geom_part/geom_part_apm modules/geom/geom_part/geom_part_bsd modules/geom/geom_part/geom_part_bsd64 modules/geom/geom_part/geom_part...

Warner Losh imp at bsdimp.com
Wed Jul 29 16:59:07 UTC 2015


> On Jul 29, 2015, at 9:46 AM, Hans Petter Selasky <hps at selasky.org> wrote:
> 
> On 07/29/15 16:24, Warner Losh wrote:
>> 
>>> On Jul 29, 2015, at 4:19 AM, Hans Petter Selasky <hps at selasky.org> wrote:
>>> 
>>> On 07/03/15 22:15, Warner Losh wrote:
>>>> 
>>>>> On Jul 3, 2015, at 11:35 AM, Roger Pau Monné <royger at FreeBSD.org> wrote:
>>>>> 
>>>>> El 03/07/15 a les 19.26, Adrian Chadd ha escrit:
>>>>>> ok, so why's it make NFS builds so slow?
>>>>> 
>>>>> AFAICT it makes the build process spawn a bunch of concurrent "find"
>>>>> processes that weren't previously there.
>>>> 
>>>> OK. I’ll fix it. I knew it might slow things down a little, but this is quite a bit more than “a little”.
>>>> 
>>>> Warner
>>>> 
>>> 
>>> Hi,
>>> 
>>> Is there a fix for this issue yet? At Mellanox we're also seeing that NFS mounted shares are extremely slow building even a single module. Maybe the output from the find can be cached in a file somehow?
>> 
>> Committed the fix within a day of this message (so three weeks ago):
>> 
>> https://svnweb.freebsd.org/base?view=revision&revision=285124
>> 
>> Is it not working? this is the first negative report I’ve heard since Adrian and Roger posted. I spiked the test-build with a find that recorded every time it ran. W/o the fix, it runs a lot. With the fix it ran once. Is this not the case still?
> 
> Hi,
> 
> In this particular case one "find of /sys" takes 11-16 seconds over NFS, so building a single KMOD takes 16 seconds too. It's not possible to eliminate the find entirely during repeated builds?

16 seconds? That’s a really slow NFS server and at least 11 seconds longer than it should take :(.

Make doesn’t really have the ability to cache results run-to-run, but I’ll poke at other options. In the mean time, you can do something like:
	setenv _MPATH `(cd $MAKEOBJDIRPREFIX/path/sys/GENERIC; make -V _MPATH)`
to cache the value. Not ideal, but likely good enough for repeated module builds. If I can’t come up with anything clever, I’ll just commit the current list… I hate doing that, but I also hadn’t counted upon find taking so stinkin’ long...

Warner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20150729/e7aa3590/attachment.bin>


More information about the svn-src-all mailing list