freebsd-nq/sys
Alexander Motin 3b2f2cb8e9 Allow UMA hash tables to expand faster then 2x in 20 seconds.
ZFS ABD allocates tons of 4KB chunks via UMA, requiring huge hash tables.
With initial hash table size of only 32 elements it takes ~20 expansions
or ~400 seconds to adapt to handling 220GB ZFS ARC.  During that time not
only the hash table is highly inefficient, but also each of those expan-
sions takes significant time with the lock held, blocking operation.

On my test system with 256GB of RAM and ZFS pool of 28 HDDs this change
reduces time needed to first time read 240GB from ~300-400s, during which
system is quite busy and unresponsive, to only ~150s with light CPU load
and just 5 sub-second CPU spikes to expand the hash table.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2019-06-06 23:57:28 +00:00
..
amd64 Fix a race between fasttrap and the user breakpoint handler. 2019-06-06 16:03:25 +00:00
arm Implement the ffs and fls functions, and their longer counterparts, in 2019-05-28 15:47:00 +00:00
arm64 very large dma mappings can cause integer overflow 2019-06-03 19:19:35 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Simplify math added in r310524. 2019-05-22 15:39:35 +00:00
cddl Fix a race between fasttrap and the user breakpoint handler. 2019-06-06 16:03:25 +00:00
compat Make the linuxkpi's alloc_pages() consistently return wired pages. 2019-06-06 16:09:19 +00:00
conf Expose the kernel's build-ID through sysctl 2019-06-04 13:07:10 +00:00
contrib While working on a PR, more are discovered. 2019-06-04 19:37:51 +00:00
crypto aesni(4): Fix trivial type typo 2019-05-27 00:47:51 +00:00
ddb Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
dev Do not overwrite the RGMII bits in the CPU port register of Switch. 2019-06-06 21:25:46 +00:00
dts arm64: Add support for NanoPI NEO2 2019-05-02 12:56:13 +00:00
fs Manually clear text references on reclaim for nullfs and tmpfs. 2019-06-05 20:16:25 +00:00
gdb
geom geli: build warning fixes 2019-06-05 22:46:18 +00:00
gnu dts: Import files from Linux 5.1 2019-05-08 19:27:30 +00:00
i386 Fix a race between fasttrap and the user breakpoint handler. 2019-06-06 16:03:25 +00:00
isa
kern Add a testing facility to manually reclaim a vnode 2019-06-06 15:04:50 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern random(4): depessimize arc4random 2019-05-12 06:32:46 +00:00
mips octusb: fix detach loop over USB ports 2019-06-01 18:19:16 +00:00
modules For armv6 and armv7, build hwpmc_armv7.c as well as the base hwpmc_arm.c. 2019-06-06 15:21:36 +00:00
net Restore the comment removed in r348745. 2019-06-06 17:20:35 +00:00
net80211 Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet r347382 added receiver side DSACK support for the TCP base stack. 2019-06-06 07:49:03 +00:00
netinet6 Restructure mbuf send tags to provide stronger guarantees. 2019-05-24 22:30:40 +00:00
netipsec Add deprecation warnings for IPsec algorithms deprecated in RFC 8221. 2019-05-23 22:06:57 +00:00
netpfil Initialize V_nat64out methods explicitly. 2019-06-05 09:25:40 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Fix prio vs. nonprio tagged traffic in RDMACM 2019-06-04 06:21:31 +00:00
opencrypto cryptodeflate: Drop z_stream zbuf.state->dummy from SDT probe. 2019-05-24 02:44:15 +00:00
powerpc powerpc/moea: Fix moea64 native VA invalidation 2019-06-01 01:40:14 +00:00
riscv Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
rpc Fix malloc stats for the RPCSEC_GSS server code when DEBUG is enabled. 2019-04-04 01:23:06 +00:00
security Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
sparc64 FCP-101: Remove wb(4) 2019-05-17 15:24:34 +00:00
sys first step towards enforcing must-succeed semantics for bus accessors 2019-06-05 13:18:00 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools Avoid literal @generated tag in file-generating scripts 2019-05-08 13:35:51 +00:00
ufs Add a missing bresle() in seldom-used error return. 2019-05-28 17:31:35 +00:00
vm Allow UMA hash tables to expand faster then 2x in 20 seconds. 2019-06-06 23:57:28 +00:00
x86 another occurrence where a very large dma mapping can cause integer overflow 2019-06-05 13:08:21 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile