Hello,

Hi, so I did some timing tests before and after the vfs cache changes.

The original run for build.sh -j 80

    build.sh started:    Wed Sep 11 14:00:09 EDT 2019
    build.sh ended:      Wed Sep 11 16:48:03 EDT 2019
    2:47:54

Then I just moved name and nlen last and added the kmem_alloc for larger
allocations:

    # NCHNAMLEN=30 original order, name and nlen moved last.
    build.sh started:    Wed Sep 11 22:48:34 EDT 2019
    build.sh ended:      Thu Sep 12 01:54:20 EDT 2019
    3:06:46

This added 15 minutes to the build which sucks. I re-arranged things around
to move all the list members first:

    NCHNAMLEN=30 lists first, run1
    build.sh started:    Thu Sep 12 07:19:11 EDT 2019
    build.sh ended:      Thu Sep 12 10:15:49 EDT 2019
    2:56:38

It was better, then did a second run to see how much different it would be:

    NCHNAMLEN=30 lists first, run2
    build.sh started:    Thu Sep 12 10:32:32 EDT 2019
    build.sh ended:      Thu Sep 12 13:31:21 EDT 2019
    2:59:51

Not much different; still ~10 minutes slower. Then I noticed that we have
2 extra bytes available because of packing (to round to 160 bytes for _LP64
which was the original size) so I added that:

    NCHNAMLEN=32 lists first
    build.sh started:    Thu Sep 12 14:26:27 EDT 2019
    build.sh ended:      Thu Sep 12 17:10:51 EDT 2019
    2:44:36

Now we are approximately the same as before. I wonder how sensititive
this is to NCHNAMLEN. Anyway since there is no performance degradation
from the original I am planning to commit the changes and we can do
better later. I will commit the changes soon, unless there are objections.

Best,

christos

PS: The xz compression for the debug set takes 36 minutes on my machine.
We shoudl do something about it. Matt to use -T for more parallelism?

Reply via email to