tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: A new page allocator for UVM



On Sun, 22 Dec 2019 21:14:44 +0000
Andrew Doran <ad%netbsd.org@localhost> wrote:

> Hi,
> 
> Anyone interested in taking a look?  This solves the problem we have
> with uvm_fpageqlock.  Here's the code, and the blurb is below:
> 
> 	http://www.netbsd.org/~ad/2019/allocator.diff
> 
...
> 
> Results:
> 
> 	This from a "make -j96" kernel build, with a !DIAGNOSTIC,
> GENERIC kernel on the system mentioned above.  System time is the most
> 	interesting here.  With NUMA disabled in the BIOS:
> 
> 	       74.55 real      1635.13 user       725.04 sys
> before 72.66 real      1653.86 user       593.19 sys	after
> 
> 	With NUMA enabled in the BIOS & the allocator:
> 
> 	       76.81 real      1690.27 user       797.56 sys
> before 71.10 real      1632.42 user       603.41 sys	after
> 
> 	Lock contention before (no NUMA):
> 
> 	Total%  Count   Time/ms          Lock          
> 	------ ------- --------- ----------------------
> 	 99.80 36756212 182656.88 uvm_fpageqlock       
> 
> 	Lock contention after (no NUMA):
> 
> 	Total%  Count   Time/ms          Lock
> 	------ ------- --------- ----------------------
> 	 20.21  196928    132.50 uvm_freelist_locks+40  <all>
> 	 18.72  180522    122.74 uvm_freelist_locks     <all>

Hi Andrew,

I read my way through the patch... very impressive.
Currently I have a patched kernel running and see almost no lock
contention with uvm_freelist_locks, the system is a ryzen 2700.
It seems to have enough cores to make the problem with the old allocator
to appear (no as prominent as with larger machines especially as with
NUMA machines I guess).
The new allocator gets configured with one bucket and 16 colors.
Looks very good to me.

Thanks,
Lars



Home | Main Index | Thread Index | Old Index