freebsd-nq/sys
Mateusz Guzik c9e05ccd62 malloc: stop reading the subzone if MALLOC_DEBUG_MAXZONES == 1 (the default)
malloc was showing at the top of profile during while running microbenchmarks.

#define DTMALLOC_PROBE_MAX              2
struct malloc_type_internal {
        uint32_t        mti_probes[DTMALLOC_PROBE_MAX];
        u_char          mti_zone;
        struct malloc_type_stats        mti_stats[MAXCPU];
};

Reading mti_zone it wastes a cacheline to hold mti_probes + mti_zone
(which we know is 0) + part of malloc stats of the first cpu which on top
induces false-sharing.

In particular will-it-scale lock1_processes -t 128 -s 10:
before: average:45879692
after:  average:51655596

Note the counters can be padded but the right fix is to move them to
counter(9), leaving the struct read-only after creation (modulo dtrace
probes).
2018-04-23 22:28:49 +00:00
..
amd64 Simplify the code to allocate stack for auxv, argv[], and environment vectors. 2018-04-19 16:00:34 +00:00
arm Implement 32-bit atomic_fcmpset() in userland for armv4/v5. 2018-04-23 17:00:15 +00:00
arm64 Remove the unused fuwintr() and suiwintr() functions. 2018-04-17 18:04:28 +00:00
bsm
cam Just assert that the lock is held here, rather than taking it out and 2018-04-13 16:45:35 +00:00
cddl 9433 Fix ARC hit rate 2018-04-16 00:54:58 +00:00
compat Map FreeBSD EDOOFUS to Linux EINVAL 2018-04-23 18:33:26 +00:00
conf Add driver for Cadence Quad SPI Flash Controller found on 2018-04-23 10:35:00 +00:00
contrib Import CK as of commit b19ed4c6a56ec93215ab567ba18ba61bf1cfbac8 2018-04-02 23:40:50 +00:00
crypto opencrypto: Integrate Chacha20 algorithm into OCF 2018-03-29 04:02:50 +00:00
ddb Restore db_radix on parse error, otherwise we'll silently change it to 2018-04-17 15:44:05 +00:00
dev hda(4) 2018-04-23 16:38:27 +00:00
dts Enable ARM PL330 DMA engine and Cadence Quad SPI flash controller on 2018-04-23 12:23:05 +00:00
fs Fix use of pointer after being set NULL. 2018-04-20 11:38:29 +00:00
gdb amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
geom Annotate geom modules with MODULE_VERSION 2018-04-10 19:18:16 +00:00
gnu gnu/dts: Update our copy of arm dts from Linux 4.16 2018-04-20 19:37:08 +00:00
i386 Use symbolic constant, explaining the operation. 2018-04-19 18:08:46 +00:00
isa Revert r330780, it was improperly tested and results in taking a spin 2018-03-11 20:13:15 +00:00
kern malloc: stop reading the subzone if MALLOC_DEBUG_MAXZONES == 1 (the default) 2018-04-23 22:28:49 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern iconv uses strlen directly on user supplied memory 2018-02-26 18:23:36 +00:00
mips Remove the unused fuwintr() and suiwintr() functions. 2018-04-17 18:04:28 +00:00
modules blake2: Disable warnings (not just error) for code we will not modify 2018-04-21 02:08:56 +00:00
net Finish removing FDDI and tokenring media support. 2018-04-23 21:10:33 +00:00
net80211 Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
netgraph Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
netinet Load balance sockets with new SO_REUSEPORT_LB option 2018-04-23 19:51:00 +00:00
netinet6 Load balance sockets with new SO_REUSEPORT_LB option 2018-04-23 19:51:00 +00:00
netipsec Set the proper vnet in IPsec callback functions. 2018-03-20 17:05:23 +00:00
netpfil To avoid possible deadlock do not acquire JQUEUE_LOCK before callout_drain. 2018-04-13 10:03:30 +00:00
netsmb Unsign some values related to allocation. 2018-01-22 02:08:10 +00:00
nfs Remove support for FDDI networks. 2018-04-11 17:28:24 +00:00
nfsclient style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfsserver
nlm Use syscall_helper_register() to register syscalls and initialize though 2018-02-10 01:09:22 +00:00
ofed Improve copy-and-pasted versions of SIOCGIFADDR. 2018-03-27 20:51:49 +00:00
opencrypto cryptosoft: Do not exceed crd_len around *crypt_multi 2018-04-19 15:24:21 +00:00
powerpc Fix the build post r332859 2018-04-22 03:58:04 +00:00
riscv Remove the unused fuwintr() and suiwintr() functions. 2018-04-17 18:04:28 +00:00
rpc
security Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
sparc64 Remove references to fs_nofault_intr_begin/end. 2018-04-17 22:30:00 +00:00
sys Load balance sockets with new SO_REUSEPORT_LB option 2018-04-23 19:51:00 +00:00
teken Pedantic polishing of code to please FlexeLint. 2018-04-08 19:23:50 +00:00
tests
tools Add dtb overlays support 2018-03-24 21:30:24 +00:00
ufs Renumber soft-update types starting at 1 instead of 0 to avoid confusion 2018-04-05 00:32:01 +00:00
vm Initialize marker pages in vm_page_domain_init(). 2018-04-19 14:09:44 +00:00
x86 Fix two off-by-one errors when allocating MSI and MSI-X interrupts. 2018-04-18 18:45:34 +00:00
xdr
xen
Makefile