freebsd-dev/sys
Alexander Motin 5c32e9fcb2 Optimize kern.geom.conf* sysctls.
On large systems those sysctls may generate megabytes of output.  Before
this change sbuf(9) code was resizing buffer by 4KB each time many times,
generating tons of TLB shootdowns.  Unfortunately in this case existing
sbuf_new_for_sysctl() mechanism, supposed to help with this issue, is not
applicable, since all the sbuf writes are done in different kernel thread.

This change improves situation in two ways:
 - on first sysctl call, not providing any output buffer, it sets special
sbuf drain function, just counting the data and so not needing big buffer;
 - on second sysctl call it uses as initial buffer size value saved on
previous call, so that in most cases there will be no reallocation, unless
GEOM topology changed significantly.

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
2019-06-18 21:05:10 +00:00
..
amd64 Implement an alternative solution to the amd64 and i386 pmap problem that we 2019-06-09 03:36:10 +00:00
arm Implement the ofw_bus_get_node method in aw_pwm(4) so that ofw_pwmbus can 2019-06-17 03:40:00 +00:00
arm64 Eliminate a redundant call to pmap_invalidate_page() from 2019-06-17 01:58:25 +00:00
bsm
cam Minor white space changes. 2019-06-11 20:48:19 +00:00
cddl Minimize aggsum_compare(&arc_size, arc_c) calls. 2019-06-14 20:04:28 +00:00
compat Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m). 2019-06-07 18:23:29 +00:00
conf Add ACPI support for USB driver. 2019-06-17 23:03:30 +00:00
contrib Make ipf_objbytes a constant. ipf_objbytes is a table of internal data 2019-06-17 20:10:55 +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 random(4): Fix a regression in short AES mode reads 2019-06-18 18:50:58 +00:00
dts arm64: Add support for NanoPI NEO2 2019-05-02 12:56:13 +00:00
fs Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
gdb
geom Optimize kern.geom.conf* sysctls. 2019-06-18 21:05:10 +00:00
gnu dts: Import files from Linux 5.1 2019-05-08 19:27:30 +00:00
i386 Implement an alternative solution to the amd64 and i386 pmap problem that we 2019-06-09 03:36:10 +00:00
isa
kern Optimize kern.geom.conf* sysctls. 2019-06-18 21:05:10 +00:00
kgssapi Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
libkern Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
mips Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m). 2019-06-07 18:23:29 +00:00
modules Add ACPI support for USB driver. 2019-06-17 23:03:30 +00:00
net - Replace unused and only ever written to members of public iflib(9) 2019-06-15 11:07:41 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +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 Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
netinet6 Sort opt_foo.h #includes and add a missing blank line in ip_output(). 2019-06-11 22:07:39 +00:00
netipsec Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
netpfil Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Fix prio vs. nonprio tagged traffic in RDMACM 2019-06-04 06:21:31 +00:00
opencrypto Move declaration of warninterval out from under COMPAT_FREEBSD32. 2019-06-11 23:28:07 +00:00
powerpc Fix bug on newbus device deletion: we should delete the child's devinfo 2019-06-16 21:56:45 +00:00
riscv RISC-V: expose extension bits in AT_HWCAP 2019-06-11 00:55:54 +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 Optimize kern.geom.conf* sysctls. 2019-06-18 21:05:10 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests
tools Add SDIO support. 2019-06-08 16:26:56 +00:00
ufs Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
vm Critical comments were lost in r349203. This patch seeks to restore 2019-06-15 04:30:13 +00:00
x86 Currently, MCA entries remain on an every-growing linked list. This means 2019-06-08 18:26:48 +00:00
xdr
xen
Makefile