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