zfs/module
shodanshok b445b25b27
Fix arc_p aggressive increase
The original ARC paper called for an initial 50/50 MRU/MFU split
and this is accounted in various places where arc_p = arc_c >> 1,
with further adjustment based on ghost lists size/hit. However, in
current code both arc_adapt() and arc_get_data_impl() aggressively
grow arc_p until arc_c is reached, causing unneeded pressure on
MFU and greatly reducing its scan-resistance until ghost list
adjustments kick in.

This patch restores the original behavior of initially having arc_p
as 1/2 of total ARC, without preventing MRU to use up to 100% total
ARC when MFU is empty.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Gionatan Danti <g.danti@assyoma.it>
Closes #14137 
Closes #14120
2022-11-11 10:41:36 -08:00
..
avl Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
icp icp: fix all !ENDBR objtool warnings in x86 Asm code 2022-11-04 11:25:56 -07:00
lua icp: properly fix all RETs in x86_64 Asm code 2022-11-04 11:24:09 -07:00
nvpair Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
os Cleanup: Suppress Coverity dereference before/after NULL check reports 2022-11-10 13:58:05 -08:00
unicode Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
zcommon Allow to control failfast 2022-11-10 13:37:12 -08:00
zfs Fix arc_p aggressive increase 2022-11-11 10:41:36 -08:00
zstd Cleanup: Specify unsignedness on things that should not be signed 2022-09-27 16:42:41 -07:00
.gitignore FreeBSD: Ignore symlink to i386 includes 2022-08-02 16:34:23 -07:00
Kbuild.in icp: fix rodata being marked as text in x86 Asm code 2022-11-04 11:25:51 -07:00
Makefile.bsd Cleanup dead spa_boot code 2022-09-13 16:40:10 -07:00
Makefile.in autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00