freebsd-dev/sys
Jonathan T. Looney 1524298754 The current IPMI KCS code is waiting 100us for all transitions (roughly
between each byte either sent or received). However, most transitions
actually complete in 2-3 microseconds.

By polling the status register with a delay of 4us with exponential
backoff, the performance of most IPMI operations is significantly
improved:
  - A BMC update on a Supermicro x9 or x11 motherboard goes from ~1 hour
    to ~6-8 minutes.
  - An ipmitool sensor list time improves by a factor of 4.

Testing showed no significant improvements on a modern server by using
a lower delay.

The changes should also generally reduce the total amount of CPU or
I/O bandwidth used for a given IPMI operation.

Submitted by:	Loic Prylli <lprylli@netflix.com>
Reviewed by:	jhb
MFC after:	2 weeks
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D20527
2019-06-12 16:06:31 +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 A bit of code hygiene (no functional changes). 2019-06-10 23:25:40 +00:00
arm64 A bit of code hygiene (no functional changes). 2019-06-10 23:25:40 +00:00
bsm
cam Minor white space changes. 2019-06-11 20:48:19 +00:00
cddl Fix comparison signedness in arc_is_overflowing(). 2019-06-07 20:59:24 +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 Restore genassym.o to CLEANFILES. 2019-06-11 23:35:34 +00:00
contrib Whitespace adjustments replacing spaces with tabs. 2019-06-12 11:18:11 +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 The current IPMI KCS code is waiting 100us for all transitions (roughly 2019-06-12 16:06:31 +00:00
dts
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 Implement an alternative solution to the amd64 and i386 pmap problem that we 2019-06-09 03:36:10 +00:00
isa
kern Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
kgssapi Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
libkern random(4): depessimize arc4random 2019-05-12 06:32:46 +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 Don't attempt to include hwpmc support for armv6, we're missing some of the 2019-06-12 16:05:20 +00:00
net Restore the comment removed in r348745. 2019-06-06 17:20:35 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph
netinet Sort opt_foo.h #includes and add a missing blank line in ip_output(). 2019-06-11 22:07:39 +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 Initialize V_nat64out methods explicitly. 2019-06-05 09:25:40 +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 PPC970 boot after r348783 2019-06-12 15:58:11 +00:00
riscv RISC-V: expose extension bits in AT_HWCAP 2019-06-11 00:55:54 +00:00
rpc
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 Make the warning intervals for deprecated crypto algorithms tunable. 2019-06-11 23:00:55 +00:00
teken
tests
tools Add SDIO support. 2019-06-08 16:26:56 +00:00
ufs Add a missing bresle() in seldom-used error return. 2019-05-28 17:31:35 +00:00
vm To test to see if a free space is big enough compare the required 2019-06-11 22:41:39 +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