freebsd-dev/sys
Alan Cox 8eefcd407b The blst_radix_init function has two purposes - to compute the number of
nodes to allocate for the blist, and to initialize them.  The computation
can be done much more quickly by identifying the terminating node, if any,
at every level of the tree and then summing the number of nodes at each
level that precedes the topmost terminator.  The initialization can also be
done quickly, since settings at the root mark the tree as all-allocated, and
only a few terminator nodes need to be marked in the rest of the tree.
Eliminate blst_radix_init, and perform its two functions more simply in
blist_create.

The allocation of the blist takes places in two pieces, but there's no good
reason to do so, when a single allocation is sufficient, and simpler.
Allocate the blist struct, and the array of nodes associated with it, with a
single allocation.

Submitted by:	Doug Moore <dougm@rice.edu>
Reviewed by:	markj (an earlier version)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D11968
2017-10-08 22:17:39 +00:00
..
amd64 amd64: remove unused variable from pmap_delayed_invl_genp 2017-10-05 18:51:48 +00:00
arm Fix imx6 hdmi init after r323553, which used a config_intrhook to defer the 2017-10-08 18:38:22 +00:00
arm64 Add a memory barrier to ensure the atomic write is visible to the other 2017-10-02 14:22:35 +00:00
boot Unbreak building efiboot with MK_ZFS == no 2017-10-07 17:40:31 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam Fix iSCSI target panics on concurrent session teardown and display 2017-10-04 11:35:04 +00:00
cddl MFV r322235: 8067 zdb should be able to dump literal embedded block pointer 2017-10-06 08:21:06 +00:00
compat Add get_random_{int,long} to the LinuxKPI. 2017-10-04 17:29:08 +00:00
conf cxgbe(4): Update T6, T5, and T4 firmwares to 1.16.63.0. 2017-10-07 17:24:23 +00:00
contrib Revert r324109. This commit broke a number of systems. 2017-09-30 20:28:50 +00:00
crypto aesni(4): CRYPTO_AES_NIST_GCM_16 mandates MAC 2017-10-04 21:15:45 +00:00
ddb Rename mkdumpheader() and group EKCD functions in kern_shutdown.c. 2017-08-18 04:04:09 +00:00
dev random(4): Gather entropy from Pure sources 2017-10-07 19:02:03 +00:00
fs Add Flex File Layout support to the NFSv4.1 pNFS client. 2017-10-05 20:10:40 +00:00
gdb
geom Display rotation rate and TRIM/UNMAP support in diskinfo(8) 2017-10-04 15:09:49 +00:00
gnu Update DTS files from Linux 4.12 2017-07-09 13:53:32 +00:00
i386 Improve i386_get_ldt(). 2017-10-06 14:29:53 +00:00
isa Use better hard-coded defaults for the cursor shape, and remove nearby 2017-08-19 19:33:16 +00:00
kern The blst_radix_init function has two purposes - to compute the number of 2017-10-08 22:17:39 +00:00
kgssapi
libkern Continuing efforts to provide hardening of FFS, this change adds a 2017-09-22 12:45:15 +00:00
mips bhnd: Add support for supplying bus I/O callbacks when initializing an EROM 2017-09-27 19:48:34 +00:00
modules Fix symlink if_igb.ko in -current such that its relative and doesn't 2017-10-07 23:33:14 +00:00
net Fix "taskqgroup_attach: setaffinity failed: 3" with iflib drivers 2017-10-05 14:43:30 +00:00
net80211 net80211: fix a typo (premable -> preamble). 2017-08-27 22:13:03 +00:00
netgraph Correction after r323873: #include <sys/lock.h> in addition to <sys/rmlock.h> 2017-09-28 11:26:37 +00:00
netinet Declare pmtud_blackhole global variables in tcp_timer.h, so that 2017-10-06 20:33:40 +00:00
netinet6 Hide struct socket and struct unpcb from the userland. 2017-10-02 23:29:56 +00:00
netipsec opencrypto: Loosen restriction on HMAC key sizes 2017-09-26 16:18:10 +00:00
netpfil Fix a bug which avoided that rules for matching port numbers for SCTP 2017-10-02 18:25:30 +00:00
netsmb netsmb: Fix buggy/racy smb_strdupin() 2017-09-29 15:53:26 +00:00
nfs Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfsclient
nfsserver
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed Remove unsafe access to the LinuxKPI file structure from ibcore. 2017-09-09 06:34:20 +00:00
opencrypto opencrypto: Use C99 initializers for auth_hash instances 2017-09-26 17:52:52 +00:00
powerpc PPC: increase MAX_PICS to 32 2017-10-02 06:05:19 +00:00
riscv Sync with amd64/arm/arm64/i386/mips pmap change r288256: 2017-09-20 04:19:49 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Sprinkle __read_frequently on few obvious places. 2017-09-06 20:33:33 +00:00
sparc64 Fix indentation for r323068 2017-09-19 20:40:05 +00:00
sys The blst_radix_init function has two purposes - to compute the number of 2017-10-08 22:17:39 +00:00
teken Fix syscons escape sequence for setting the local cursor type. This sequence 2017-08-18 15:40:40 +00:00
tests
tools make.conf: Add the possibility to use another DTC 2017-06-17 23:34:53 +00:00
ufs Don't defer wakeup()s for completed journal workitems. 2017-09-26 23:24:15 +00:00
vm Replace an unnecessary call to vm_page_activate() by an assertion that 2017-10-08 16:54:42 +00:00
x86 x86: Decode AMD "Extended Feature Extensions ID EBX" bits 2017-09-20 18:30:37 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00