freebsd-skq/sys
jeff cca9ad5b94 Refine UMA bucket allocation to reduce space consumption and improve
performance.

 - Always free to the alloc bucket if there is space.  This gives LIFO
   allocation order to improve hot-cache performance.  This also allows
   for zones with a single bucket per-cpu rather than a pair if the entire
   working set fits in one bucket.
 - Enable per-cpu caches of buckets.  To prevent recursive bucket
   allocation one bucket zone still has per-cpu caches disabled.
 - Pick the initial bucket size based on a table driven maximum size
   per-bucket rather than the number of items per-page.  This gives
   more sane initial sizes.
 - Only grow the bucket size when we face contention on the zone lock, this
   causes bucket sizes to grow more slowly.
 - Adjust the number of items per-bucket to account for the header space.
   This packs the buckets more efficiently per-page while making them
   not quite powers of two.
 - Eliminate the per-zone free bucket list.  Always return buckets back
   to the bucket zone.  This ensures that as zones grow into larger
   bucket sizes they eventually discard the smaller sizes.  It persists
   fewer buckets in the system.  The locking is slightly trickier.
 - Only switch buckets in zalloc, not zfree, this eliminates pathological
   cases where we ping-pong between two buckets.
 - Ensure that the thread that fills a new bucket gets to allocate from
   it to give a better upper bound on allocation time.

Sponsored by:	EMC / Isilon Storage Division
2013-06-18 04:50:20 +00:00
..
amd64 Upgrade Xen interface headers to Xen 4.2.1. 2013-06-14 23:43:44 +00:00
arm Make support for atomics on ARM complete. 2013-06-15 08:15:22 +00:00
boot - The method introduced as part of r234898 for not altering the boot path 2013-06-09 23:50:30 +00:00
bsm Implement chflagsat(2) system call, similar to fchmodat(2), but operates on 2013-03-21 22:59:01 +00:00
cam Add infrastructure for doing compatibility shims, as has been sorely 2013-06-17 08:57:09 +00:00
cddl MFV r251644: 2013-06-12 07:07:06 +00:00
compat aio_mlock() added: 2013-06-08 13:30:13 +00:00
conf This is an addendum to r251837. 2013-06-17 10:21:38 +00:00
contrib The AR9300 HAL uses this config to program AR_PHY_SWITCH_COM_2 on AR9485 2013-06-14 08:15:28 +00:00
crypto
ddb
dev Be sure to actually decrement the "count" parameter for each processed 2013-06-17 22:59:47 +00:00
fs Rename remaining DIAGNOSTIC to INVARIANTS. 2013-06-17 00:39:23 +00:00
gdb
geom Make CAM return and GEOM DISK pass through new GEOM::lunid attribute. 2013-06-12 13:36:20 +00:00
gnu/fs/reiserfs
i386 Adjust i386 Xen PV support for updated Xen interface files. 2013-06-17 01:43:07 +00:00
ia64 Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. 2013-05-24 09:22:43 +00:00
isa
kern The fix committed in r250951 replaced the reported panic with a deadlock... gold 2013-06-17 09:49:07 +00:00
kgssapi Isilon reported that sec=krb5p NFS mounts had a problem when m_len == 0 2013-05-01 22:07:55 +00:00
libkern Attempt to mitigate poor initialization of arc4 by one-shot 2013-04-19 00:30:52 +00:00
mips Make support for atomics on ARM complete. 2013-06-15 08:15:22 +00:00
modules Add missing dependency to linux${SFX}_genassym.c 2013-06-17 21:30:46 +00:00
net Return ENETDOWN instead of ENOENT when all lagg(4) links are 2013-06-17 19:31:03 +00:00
net80211 Fix typo (dbM -> dBm) 2013-06-14 23:04:31 +00:00
netatalk Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
netgraph Fix several typos 2013-05-12 16:43:26 +00:00
netinet Disable IGMPv3 link timers on a transition to IGMPv2. 2013-06-07 17:12:08 +00:00
netinet6 Really fix netmask address family this time. 2013-05-19 19:42:46 +00:00
netipsec Use IP6STAT_INC/IP6STAT_DEC macros to update ip6 stats. 2013-04-09 07:11:22 +00:00
netipx
netnatm
netpfil Improve locking strategy between keys hash and ID hash. 2013-06-13 06:07:19 +00:00
netsmb If the kernel is compiled with VMIMAGE support, the first attempt of 2013-05-04 16:55:48 +00:00
nfs Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
nfsclient - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nfsserver - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nlm
ofed Store a reference to the vnode associated with a file descriptor in the 2013-06-11 15:37:07 +00:00
opencrypto
pc98 MFi386: revision 251039 2013-06-01 12:21:59 +00:00
pci - Corrrect mispellings of word useful 2013-04-17 11:45:15 +00:00
powerpc Pad the PCPU MD struct, to satisfy an assert added with the projects/counters 2013-06-04 00:40:26 +00:00
rpc Fix a potential socket leak in the NFS server. If a client closes its 2013-04-08 19:03:01 +00:00
security Relax the vm object locking in mac_proc_vm_revoke_recurse(). A read lock 2013-06-04 17:23:09 +00:00
sparc64 Remove conflicting macros from SPARC64's atomic(9) header. 2013-06-15 08:23:53 +00:00
sys Add new FOREACH_FROM variants of the queue(3) FOREACH macros which can 2013-06-18 02:57:56 +00:00
teken
tools
ufs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
vm Refine UMA bucket allocation to reduce space consumption and improve 2013-06-18 04:50:20 +00:00
x86 Add basic support for FDT to i386 & amd64. This change includes: 2013-05-21 03:05:49 +00:00
xdr Use m_get() and m_getcl() instead of compat macros. 2013-03-15 10:21:18 +00:00
xen Adjust i386 Xen PV support for updated Xen interface files. 2013-06-17 01:43:07 +00:00
Makefile MFC 2013-03-13 01:05:42 +00:00