On Sat, Sep 09, 2017 at 08:48:19PM +0200, Mateusz Guzik wrote:
>
> Here is a bunch of "./build.sh -j 40 kernel=MYCONF > /dev/null" on stock
> kernel:
> 618.65s user 1097.80s system 2502% cpu 1:08.60 total
[..]
>
> And on kernel with total hacks:
> 594.08s user 693.11s system 2459% cpu 52.331
On Sun, Sep 10, 2017 at 06:51:31PM +0100, Mindaugas Rasiukevicius wrote:
> Mateusz Guzik wrote:
> > 1. exclusive vnode locking (genfs_lock)
> >
> > ...
> >
> > 2. uvm_fault_internal
> >
> > ...
> >
> > 4. vm locks in general
> >
>
> We know these points of lock contention, but
> Le 09/09/2017 à 20:48, Mateusz Guzik a écrit :
On Sun, Sep 10, 2017 at 07:29:11PM +0200, Maxime Villard wrote:
> Le 09/09/2017 à 20:48, Mateusz Guzik a écrit :
> > [...]
> > I installed the 7.1 release, downloaded recent git snapshot and built
the
> > trunk kernel while using config stolen from
On Sun, Sep 10, 2017 at 07:56:11PM +0200, Maxime Villard wrote:
> Le 10/09/2017 à 19:50, Joerg Sonnenberger a écrit :
> > On Sun, Sep 10, 2017 at 07:17:51PM +0200, Joerg Sonnenberger wrote:
> > > That's true, but changing this also has quite a significant downside on
> > > some workloads for
Le 10/09/2017 à 19:50, Joerg Sonnenberger a écrit :
On Sun, Sep 10, 2017 at 07:17:51PM +0200, Joerg Sonnenberger wrote:
That's true, but changing this also has quite a significant downside on
some workloads for second order effects. I don't think it is a good idea
to change this right now, as
Mateusz Guzik wrote:
> ...
>
> 1) #define UBC_NWINS 1024
>
> The parameter was set in 2001 and is used on amd64 to this very day.
>
> lockstat says:
> 51.63 585505 321201.06 e4011d8304c0
> 40.39 291550 251302.17 e4011d8304c0 ubc_alloc+69
> 9.13
On Sun, Sep 10, 2017 at 07:17:51PM +0200, Joerg Sonnenberger wrote:
> That's true, but changing this also has quite a significant downside on
> some workloads for second order effects. I don't think it is a good idea
> to change this right now, as it doesn't even fix the real problem.
Just to
Thanks for this analysis. I have three remarks:
Le 09/09/2017 à 20:48, Mateusz Guzik a écrit :
[...]
I installed the 7.1 release, downloaded recent git snapshot and built the
trunk kernel while using config stolen from the release (had to edit out
something about 3g modems to make it compile).
On Sat, Sep 09, 2017 at 08:48:19PM +0200, Mateusz Guzik wrote:
> 1) #define UBC_NWINS 1024
Yes, this one should scale automatically. Needs a bit thought about that
a good scaling would be.
> 2. uvm_pageidlezero
I disagree on this, a lot. At best it is a band aid unless the
uvm_f?pageqlock