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-all
mailing list