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

Li-Wen Hsu lwhsu at freebsd.org
Sat Feb 1 19:21:07 UTC 2020


On Fri, Jan 31, 2020 at 8:50 AM Jeff Roberson <jeff at freebsd.org> wrote:
>
> 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 UMA.
>
>   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

I found it might cause i386 boot fail:

Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex kernel arena (kernel arena) r = 0 (0x1d99d80)
locked @ /usr/src/sys/kern/subr_vmem.c:1344

Full backtrace is available at
https://ci.freebsd.org/job/FreeBSD-head-i386-test/8275/console

Please help checking this.

Thanks,
Li-Wen


More information about the svn-src-head mailing list