freebsd-skq/sys
Mark Johnston f8b6c51538 uma: Enforce the use of uz_bucket_size_max in the free path
uz_bucket_size_max is the maximum permitted bucket size.  When filling a
new bucket to satisfy uma_zalloc(), the bucket is populated with at most
uz_bucket_size_max items.  The maximum number of entries in the bucket
may be larger.  When freeing items, however, we will fill per-CPPU
buckets up to their maximum number of entries, potentially exceeding
uz_bucket_size_max.  This makes it difficult to precisely limit the
number of items that may be cached in a zone.  For example, if one wants
to limit buckets to 1 entry for a particular zone, that's not possible
since the smallest bucket holds up to 2 entries.

Try to solve the problem by using uz_bucket_size_max to limit the number
of entries in a bucket.  Note that the ub_entries field is initialized
upon every bucket allocation.  Most zones are not affected since they do
not impose any specific limit on the maximum bucket size.

While here, remove the UMA_ZONE_MINBUCKET flag.  It was unused and we
now have uma_zone_set_maxcache() to control the zone's cache size more
precisely.

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D27167
2020-12-06 22:45:39 +00:00
..
amd64 Fix i386 linux module after r367395. 2020-12-05 14:53:24 +00:00
arm Add basic support for Freescale LX2160A SoC. 2020-12-05 12:08:37 +00:00
arm64 Simplify startup of secondary cores and store MPIDR register to pcpu. 2020-12-05 14:06:01 +00:00
bsm
cam mmccam: Convert some printf to CAM_DEBUG 2020-11-30 14:49:13 +00:00
cddl sdt: Create providers and probes in separate passes when loading sdt.ko 2020-12-03 17:10:00 +00:00
compat Move V4L feature declarations and DTrace provider definitions from 2020-12-06 10:58:55 +00:00
conf Move V4L feature declarations and DTrace provider definitions from 2020-12-06 10:58:55 +00:00
contrib Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
crypto Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
ddb Add a kstack_contains() helper function. 2020-12-01 17:04:46 +00:00
dev Add deprecation notice to mn(4) 2020-12-06 21:34:04 +00:00
dts Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
fs Document the BA_CLRBUF flag used in ufs and ext2fs filesystems. 2020-12-06 20:50:21 +00:00
gdb gdb(4): Don't escape GDB special characters at application layer 2020-09-30 14:55:54 +00:00
geom Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
gnu Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
i386 Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
isa
kern vfs: add cleanup on error missed in r368375 2020-12-06 19:24:38 +00:00
kgssapi State kgssapi dependency on xdr. 2020-09-17 22:29:38 +00:00
libkern arc4random(9): Integrate with RANDOM_FENESTRASX push-reseed 2020-10-10 21:48:06 +00:00
mips Various fixes for the MIPS DDB stack unwinder. 2020-12-04 20:14:25 +00:00
modules if_em.ko: fix module build outside of kernel build environment 2020-12-06 17:44:28 +00:00
net Add IPv4/IPv6 rtentry prefix accessors. 2020-12-03 22:23:57 +00:00
net80211 net80211: fix a typo 2020-11-04 12:07:33 +00:00
netgraph ng_nat: unbreak ABI 2020-11-10 02:26:44 +00:00
netinet Add TCP feature Proportional Rate Reduction (PRR) - RFC6937 2020-12-04 11:29:27 +00:00
netinet6 Expose nonstandard IPv6 kernel definitions to standalone builds. 2020-12-04 21:51:47 +00:00
netipsec Trigger soft lifetime expiration on sequence number 2020-10-16 11:27:01 +00:00
netpfil pf: Fix table entry counter toggling 2020-12-02 16:01:43 +00:00
netsmb net: clean up empty lines in .c and .h files 2020-09-01 21:19:14 +00:00
nfs nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsclient nfs: clean up empty lines in .c and .h files 2020-09-01 21:25:39 +00:00
nfsserver nfs: Mark unused statistics variable as reserved 2020-11-18 04:35:49 +00:00
nlm nlm: clean up empty lines in .c and .h files 2020-09-01 22:14:52 +00:00
ofed Fix for referencing file via its vnode in ibore. 2020-11-02 10:44:29 +00:00
opencrypto Remove the cloned file descriptors for /dev/crypto. 2020-11-25 00:10:54 +00:00
powerpc Add CFI start/end proc directives to arm64, i386, and ppc 2020-12-05 00:33:28 +00:00
riscv Add a kstack_contains() helper function. 2020-12-01 17:04:46 +00:00
rpc Fix a potential memory leak in the NFS over TLS handling code. 2020-09-05 00:50:52 +00:00
security pipe: allow for lockless pipe_stat 2020-11-19 06:30:25 +00:00
sys Add kern_ntp_adjtime(9). 2020-12-04 18:56:44 +00:00
teken Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
tests Add small tool to invoke kernel test framework tests. 2020-09-02 09:20:40 +00:00
tools Brand our DTS with the Linux version it was imported from 2020-10-10 07:18:51 +00:00
ufs Document the BA_CLRBUF flag used in ufs and ext2fs filesystems. 2020-12-06 20:50:21 +00:00
vm uma: Enforce the use of uz_bucket_size_max in the free path 2020-12-06 22:45:39 +00:00
x86 busdma: Annotate bus_dmamap_sync() with fence 2020-12-04 21:34:04 +00:00
xdr xdr: clean up empty lines in .c and .h files 2020-09-01 22:13:28 +00:00
xen xen: clean up empty lines in .c and .h files 2020-09-01 21:21:55 +00:00
Makefile