1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys
Konstantin Belousov 8a945d109c Reintroduce the r196640, after fixing the problem with my testing.
Remove the altkstacks, instead instantiate threads with kernel stack
allocated with the right size from the start. For the thread that has
kernel stack cached, verify that requested stack size is equial to the
actual, and reallocate the stack if sizes differ [1].

This fixes the bug introduced by r173361 that was committed several days
after r173004 and consisted of kthread_add(9) ignoring the non-default
kernel stack size.

Also, r173361 removed the caching of the kernel stacks for a non-first
thread in the process. Introduce separate kernel stack cache that keeps
some limited amount of preallocated kernel stacks to lower the latency
of thread allocation. Add vm_lowmem handler to prune the cache on
low memory condition. This way, system with reasonable amount of the
threads get lower latency of thread creation, while still not exhausting
significant portion of KVA for unused kstacks.

Submitted by:	peter [1]
Discussed with:	jhb, julian, peter
Reviewed by:	jhb
Tested by:	pho (and retested according to new test scenarious)
MFC after:	1 week
2009-09-01 11:41:51 +00:00
..
amd64 Simplify pmap_change_attr() a bit: 2009-08-31 18:41:13 +00:00
arm Reintroduce the r196640, after fixing the problem with my testing. 2009-09-01 11:41:51 +00:00
boot Fix parse() so that the partition to boot (load /boot/loader) from can 2009-08-17 15:19:03 +00:00
bsm Import OpenBSM 1.1p1 from vendor branch to 8-CURRENT, populating 2009-07-17 14:02:20 +00:00
cam Short ATA command format has 28bit address, not 36bit. 2009-08-30 16:31:25 +00:00
cddl Backport the 'dirtying dbuf' panic fix from newer ZFS version. 2009-08-31 16:27:00 +00:00
compat Make sure FreeBSD binaries without .note.ABI-tag section work 2009-08-30 14:38:17 +00:00
conf Connect bwi up to the build. While there are some problems with this 2009-08-29 01:34:42 +00:00
contrib Fix argument ordering to memcpy as well as the size of the copy in the 2009-08-25 19:30:32 +00:00
crypto
ddb Merge the remainder of kern_vimage.c and vimage.h into vnet.c and 2009-08-01 19:26:27 +00:00
dev Make sure rx descriptor ring align on 16 bytes. I guess the 2009-08-31 22:09:48 +00:00
fs Remove spurious pfs_unlock(). 2009-08-31 09:26:04 +00:00
gdb
geom There's no need for checking result of M_WAITOK allocation. 2009-08-27 08:40:51 +00:00
gnu Fix the build by using proper format. 2009-06-25 16:48:13 +00:00
i386 Migrate to use cpuset_t. 2009-09-01 06:15:50 +00:00
ia64 Decouple ACPI CPU Ids from FreeBSD's cpuid. The ACPI Ids can be 2009-08-16 01:43:08 +00:00
isa Tweak the way that the ACPI and ISA bus drivers match hint devices to 2009-08-24 21:51:46 +00:00
kern Reintroduce the r196640, after fixing the problem with my testing. 2009-09-01 11:41:51 +00:00
kgssapi
libkern
mips * Completely Remove the option STOP_NMI from the kernel. This option 2009-08-13 17:09:45 +00:00
modules Connect bwi up to the build. While there are some problems with this 2009-08-29 01:34:42 +00:00
net As part of r196609, a call to "rtalloc" did not take the fib into 2009-08-31 00:14:37 +00:00
net80211 Fix a typo in ifdef mesh support. This would make mesh unworkable if 2009-08-17 12:57:57 +00:00
netatalk Reverse misordered unlock and lock in at_control for netatalk phase I 2009-08-12 10:44:13 +00:00
netgraph Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
netinet This patch fixes the following issues: 2009-08-31 21:02:48 +00:00
netinet6 Prefix on-link verification is being performed on statically 2009-08-30 02:07:23 +00:00
netipsec Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
netipx Use queue(9) instead of hand-crafted link lists for the global IPX 2009-06-24 20:57:50 +00:00
netnatm
netncp
netsmb
nfs Revert rev 192323 (nfs_common.c only): 2009-07-12 03:53:52 +00:00
nfsclient Fix NFS panics with options VIMAGE kernels by apropriately setting curvnet 2009-08-24 10:09:30 +00:00
nfsserver Remove the old kernel RPC implementation and the NFS_LEGACYRPC option. 2009-06-30 19:03:27 +00:00
nlm
opencrypto
pc98 Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
pci Add RTL8168DP/RTL8111DP device id. While I'm here append "8111D" to 2009-08-24 18:58:13 +00:00
powerpc * Completely Remove the option STOP_NMI from the kernel. This option 2009-08-13 17:09:45 +00:00
rpc Fix NFS panics with options VIMAGE kernels by apropriately setting curvnet 2009-08-24 10:09:30 +00:00
security Correctly audit real gids following changes to the audit record argument 2009-08-12 10:45:45 +00:00
sparc64 * Completely Remove the option STOP_NMI from the kernel. This option 2009-08-13 17:09:45 +00:00
sun4v * Completely Remove the option STOP_NMI from the kernel. This option 2009-08-13 17:09:45 +00:00
sys Reintroduce the r196640, after fixing the problem with my testing. 2009-09-01 11:41:51 +00:00
tools - Increase dynamic range of filter coefficients from 28bit to 30bit. 2009-07-05 18:15:06 +00:00
ufs When a UFS node is truncated to the zero length, e.g. by explicit 2009-08-14 11:00:38 +00:00
vm Reintroduce the r196640, after fixing the problem with my testing. 2009-09-01 11:41:51 +00:00
xdr Add a check for a NULL mbuf ptr at the beginning of xdrmbuf_inline() 2009-08-12 16:27:51 +00:00
xen Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
Makefile