1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-20 11:11:24 +00:00
freebsd/sys
Konstantin Belousov 0791e0c0e7 Provide more correct sizing of the KVA consumed by a vnode, used by
the virtvnodes calculation.  Include the size of fs-specific v_data as
the nfs nclnode inline, the NFS nclnode is bigger than either ZFS
znode or UFS inode.  Include the size of namecache_ts and short cache
path element, multiplied by the name cache population factor, again
inline.

Inline defines are used to avoid pollution of the vnode.h with the
subsystem-private objects.  Non-significant unsynchronized changes of
the definitions are fine, we do not care about that precision, and
e.g. ZFS consumes much malloced memory per vnode for reasons
unaccounted in the formula.

Lower the partition of kmem dedicated to vnodes, from 1/7 to 1/10.

The measures reduce vnode cache pressure on kmem and bring the vnode
cache memory use below some apparent thresholds that were exceeded by
r291244 due to more robust vnode reuse.

Reported and tested by:	marius (i386, previous version)
Reviewed by:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2016-02-24 15:15:46 +00:00
..
amd64 Return dst as the result from memcpy(9) on amd64. 2016-02-24 11:58:15 +00:00
arm Remove redundant __ARM_ARCH >= 6 check in armv6 specific files. 2016-02-23 10:12:50 +00:00
arm64 Make pci_host_generic and thunderx_pci common 2016-02-24 06:05:30 +00:00
boot Obsolete mkulzma(8) and geom_uncompress(4), their functionality 2016-02-24 00:39:36 +00:00
bsm
cam Remove a stray else. It isn't needed (due to the return at the end of 2016-02-18 15:12:52 +00:00
cddl As <machine/vmparam.h> is included from <vm/vm_param.h>, there is no 2016-02-22 09:08:04 +00:00
compat Call cap_rights_init() properly. 2016-02-24 10:54:26 +00:00
conf Make pci_host_generic and thunderx_pci common 2016-02-24 06:05:30 +00:00
contrib Optimize ROL and ROR emulations and fix comments. 2016-02-18 23:03:37 +00:00
crypto
ddb
dev hyperv/vmbus: Use free(9) for interrupt page; it is allocated by malloc(9) 2016-02-24 08:54:50 +00:00
fs Ext2: cleanup setting of ctime/mtime/birthtime. 2016-02-19 15:53:08 +00:00
gdb
geom Fixes to make it compile under gcc-4.2. 2016-02-24 02:52:49 +00:00
gnu Update our copy of the Linux dts files to be in sync with Linux 4.5-rc1. We 2016-02-09 16:42:32 +00:00
i386 As <machine/pmap.h> is included from <vm/pmap.h>, there is no need to 2016-02-22 09:02:20 +00:00
isa Replace several bus_alloc_resource() calls using default arguments with bus_alloc_resource_any() 2016-02-19 03:37:56 +00:00
kern Provide more correct sizing of the KVA consumed by a vnode, used by 2016-02-24 15:15:46 +00:00
kgssapi kcrypto_aes: Use separate sessions for AES and SHA1 2016-02-02 00:14:51 +00:00
libkern
mips Migrate UNCOMPRESS -> UZIP 2016-02-24 03:06:26 +00:00
modules hyperv/utils: Code rearrange and cleanup 2016-02-24 05:01:18 +00:00
net Fix regression introduced on 272446r. 2016-02-19 06:35:53 +00:00
net80211 net80211: fix TIM cleanup. 2016-02-23 21:11:42 +00:00
netgraph These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
netinet Fix build after r29592. 2016-02-23 21:21:47 +00:00
netinet6 Don't leak an address in an error path. 2016-02-23 18:50:34 +00:00
netipsec Fix useless check. m_pkthdr.len should be equal to orglen. 2016-02-24 12:28:49 +00:00
netnatm
netpfil Fix bug in filling and handling ipfw's O_DSCP opcode. 2016-02-24 13:16:03 +00:00
netsmb
nfs MFP r287070,r287073: split radix implementation and route table structure. 2016-01-25 06:33:15 +00:00
nfsclient
nfsserver
nlm
ofed LinuxKPI list updates: 2016-01-26 15:12:31 +00:00
opencrypto
pc98 Convert rman to use rman_res_t instead of u_long 2016-01-27 02:23:54 +00:00
powerpc Allow the size argument for law_enable() to be non-power-of-2. 2016-02-23 02:28:19 +00:00
riscv o Grab physical memory regions information from the device tree. 2016-02-23 14:21:46 +00:00
rpc These files were getting sys/malloc.h and vm/uma.h with header pollution 2016-02-01 17:41:21 +00:00
security Busy the mount point which is the owner of the audit vnode, around 2016-01-16 10:06:33 +00:00
sparc64 As <machine/pmap.h> is included from <vm/pmap.h>, there is no need to 2016-02-22 09:02:20 +00:00
sys Provide more correct sizing of the KVA consumed by a vnode, used by 2016-02-24 15:15:46 +00:00
teken
tests
tools Fix MFS builds when both MD_ROOT_SIZE and MFS_IMAGE are specified 2016-02-02 07:02:51 +00:00
ufs The UFS filesystem requires that the last block of a file always be 2016-02-24 01:58:40 +00:00
vm Include sys/_task.h into uma_int.h, so that taskqueue.h isn't a 2016-02-09 20:22:35 +00:00
x86 Silence PVS-Studio warning (V595). It can never be NULL here. 2016-02-23 23:57:24 +00:00
xdr
xen xenbus: add a comment with the names of the generated accessors 2016-01-15 14:34:31 +00:00
Makefile