aboutsummaryrefslogtreecommitdiff
path: root/share/man/man9/ifnet.9
diff options
context:
space:
mode:
authorGleb Smirnoff <glebius@FreeBSD.org>2019-01-15 01:02:16 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2019-01-15 01:02:16 +0000
commit756a5412798b7de1709bb1de2db5ba2a5908cba3 (patch)
tree90da29baacc3d3eccb4f10f6629ca9f3993be631 /share/man/man9/ifnet.9
parent7c895edb6673b6cfe6ddcc024a5d2ab234bda7cc (diff)
downloadsrc-756a5412798b7de1709bb1de2db5ba2a5908cba3.tar.gz
src-756a5412798b7de1709bb1de2db5ba2a5908cba3.zip
Allocate pager bufs from UMA instead of 80-ish mutex protected linked list.
o In vm_pager_bufferinit() create pbuf_zone and start accounting on how many pbufs are we going to have set. In various subsystems that are going to utilize pbufs create private zones via call to pbuf_zsecond_create(). The latter calls uma_zsecond_create(), and sets a limit on created zone. After startup preallocate pbufs according to requirements of all pbuf zones. Subsystems that used to have a private limit with old allocator now have private pbuf zones: md(4), fusefs, NFS client, smbfs, VFS cluster, FFS, swap, vnode pager. The following subsystems use shared pbuf zone: cam(4), nvme(4), physio(9), aio(4). They should have their private limits, but changing that is out of scope of this commit. o Fetch tunable value of kern.nswbuf from init_param2() and while here move NSWBUF_MIN to opt_param.h and eliminate opt_swap.h, that was holding only this option. Default values aren't touched by this commit, but they probably should be reviewed wrt to modern hardware. This change removes a tight bottleneck from sendfile(2) operation, that uses pbufs in vnode pager. Other pagers also would benefit from faster allocation. Together with: gallatin Tested by: pho
Notes
Notes: svn path=/head/; revision=343030
Diffstat (limited to 'share/man/man9/ifnet.9')
0 files changed, 0 insertions, 0 deletions