svn commit: r357314 - in head/sys: conf kern sys vm

Cy Schubert Cy.Schubert at cschubert.com
Fri Jan 31 04:05:38 UTC 2020


In message <202001310049.00V0np1a077223 at repo.freebsd.org>, Jeff Roberson 
writes
:
> Author: jeff
> Date: Fri Jan 31 00:49:51 2020
> New Revision: 357314
> URL: https://svnweb.freebsd.org/changeset/base/357314
>
> Log:
>   Implement a safe memory reclamation feature that is tightly coupled with UM
> A.
>   
>   This is in the same family of algorithms as Epoch/QSBR/RCU/PARSEC but is
>   a unique algorithm.  This has 3x the performance of epoch in a write heavy
>   workload with less than half of the read side cost.  The memory overhead
>   is significantly lessened by limiting the free-to-use latency.  A synthetic
>   test uses 1/20th of the memory vs Epoch.  There is significant further
>   discussion in the comments and code review.
>   
>   This code should be considered experimental.  I will write a man page after
>   it has settled.  After further validation the VM will begin using this
>   feature to permit lockless page lookups.
>   
>   Both markj and cperciva tested on arm64 at large core counts to verify
>   fences on weaker ordering architectures.  I will commit a stress testing
>   tool in a follow-up.
>   
>   Reviewed by:	mmacy, markj, rlibby, hselasky
>   Discussed with:	sbahara
>   Differential Revision:	https://reviews.freebsd.org/D22586
>
> Added:
>   head/sys/kern/subr_smr.c   (contents, props changed)
>   head/sys/sys/_smr.h   (contents, props changed)
>   head/sys/sys/smr.h   (contents, props changed)
> Modified:
>   head/sys/conf/files
>   head/sys/vm/uma.h
>   head/sys/vm/uma_core.c
>   head/sys/vm/uma_int.h
>

Thank you for all your hard work Jeff.


-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.




More information about the svn-src-all mailing list