git: kernel - Improve physio performance (2)
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Jul 17 12:00:32 PDT 2016
commit 9942a85186eb01e7d377406f3f6c91aba66a35ac
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Jul 17 11:56:49 2016 -0700
kernel - Improve physio performance (2)
* Increase the cap on pbuf_mem buffers from 256 to 512. 256
wasn't enough to max-out three NVMe devices.
* Add 25% hysteresis to the pbuf_{mem,kva,raw}_count counters
to reduce unnecessary tsleep()s and wakeup()s (and thus
unnecessary IPIs) when the pbuf pool is exhausted.
Add a tiny bit of hysteresis for the localized *pfreecnt
as subsystems tend to use smaller values (e.g. pageout
code).
* In physio tests throughput with 3 x NVMe + 4 x SATA SSDs
increases to 6.5 GBytes/sec and max IOPS @ 4K increases
to 1.05M IOPS (yes, that's million). (random read
from urandom-filled partition using 32KB and 4KB blocks,
with high user process concurrency).
Summary of changes:
sys/platform/pc64/x86_64/machdep.c | 4 ++--
sys/vm/vm_pager.c | 12 ++++++------
2 files changed, 8 insertions(+), 8 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/9942a85186eb01e7d377406f3f6c91aba66a35ac
--
DragonFly BSD source repository
More information about the Commits
mailing list