mirror of
https://github.com/opnsense/src.git
synced 2026-05-04 17:05:14 -04:00
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 |
||
|---|---|---|
| .. | ||
| config.mk | ||
| dtb.mk | ||
| files | ||
| files.amd64 | ||
| files.arm | ||
| files.arm64 | ||
| files.i386 | ||
| files.mips | ||
| files.powerpc | ||
| files.riscv | ||
| files.sparc64 | ||
| kern.mk | ||
| kern.opts.mk | ||
| kern.post.mk | ||
| kern.pre.mk | ||
| kmod.mk | ||
| kmod_syms.awk | ||
| kmod_syms_prefix.awk | ||
| ldscript.amd64 | ||
| ldscript.arm | ||
| ldscript.arm64 | ||
| ldscript.i386 | ||
| ldscript.mips | ||
| ldscript.mips.cfe | ||
| ldscript.mips.mips64 | ||
| ldscript.mips.octeon1 | ||
| ldscript.powerpc | ||
| ldscript.powerpc64 | ||
| ldscript.powerpcspe | ||
| ldscript.riscv | ||
| ldscript.sparc64 | ||
| Makefile.amd64 | ||
| Makefile.arm | ||
| Makefile.arm64 | ||
| Makefile.i386 | ||
| Makefile.mips | ||
| Makefile.powerpc | ||
| Makefile.riscv | ||
| Makefile.sparc64 | ||
| makeLINT.mk | ||
| makeLINT.sed | ||
| newvers.sh | ||
| NOTES | ||
| options | ||
| options.amd64 | ||
| options.arm | ||
| options.arm64 | ||
| options.i386 | ||
| options.mips | ||
| options.powerpc | ||
| options.riscv | ||
| options.sparc64 | ||
| systags.sh | ||
| WITHOUT_SOURCELESS | ||
| WITHOUT_SOURCELESS_HOST | ||
| WITHOUT_SOURCELESS_UCODE | ||