freebsd-skq/sys
kib 23dcf48f60 Add FFS pager, which uses buffer cache read operation to validate pages.
See the comments for more detailed description of the algorithm.

The pager is used unconditionally when the block size of the
underlying device is larger than the machine page size, since local
vnode pager cannot handle the configuration [1].  Otherwise, the
vfs.ffs.use_buf_pager sysctl allows to switch to the local pager.

Measurements demonstrated no regression in the ever-important
buildworld benchmark, and small (~5%) throughput improvements in the
special microbenchmark configuration for dbench over swap-backed
md(4).

Code can be generalized and reused for other filesystems which use
buffer cache.

Reported by:	Anton Yuzhaninov <citrin@citrin.ru> [1]
Tested by:	pho
Benchmarked by:	mjg, pho
Reviewed by:	alc, markj, mckusick (previous version)
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D8198
2016-10-19 11:09:29 +00:00
..
amd64 Add sysctl to make amd64 minidump retry count tunable at runtime. 2016-10-17 22:57:41 +00:00
arm Use MODULES_EXTRA rather than MODULES_OVERRIDE for dtb. 2016-10-19 05:53:43 +00:00
arm64 Move SOC_BRCM_BCM2837 to GENERIC-UP since does not support SMP 2016-10-19 02:03:30 +00:00
boot Fix device delete child function. 2016-10-17 10:20:38 +00:00
bsm
cam Make pass driver better support CAM_CDB_POINTER flag. 2016-10-17 15:02:17 +00:00
cddl Add vfs.zfs.zil_log_limit sysctl. 2016-10-16 18:49:15 +00:00
compat linuxkpi: Fix PCI BAR lazy allocation support. 2016-09-30 05:51:11 +00:00
conf bcm2835_bsc.c should be compiled only if SOC_BRCM_BCM2837 is enabled 2016-10-19 02:02:21 +00:00
contrib Use proper integer-pointer type conversions. 2016-10-18 00:55:15 +00:00
crypto Fix C++ includability of crypto headers with static array sizes 2016-10-18 23:20:49 +00:00
ddb Determine the operand/address size of %cs in a new function 2016-09-25 16:30:29 +00:00
dev hyperv/vmbus: Expose channel management taskqueue for driver to use. 2016-10-19 09:12:14 +00:00
fs Fix panic() message reporting ufs instead of nandfs 2016-10-13 19:33:07 +00:00
gdb
geom Fix possible geom destruction before final provider close. 2016-10-06 15:20:05 +00:00
gnu Revert and redo r306083. 2016-09-22 15:17:36 +00:00
i386 Drop support for using mmap() with /dev/kmem. 2016-10-14 20:01:07 +00:00
isa
kern Assert that we're assigning a non-null taskqueue. 2016-10-18 14:00:26 +00:00
kgssapi
libkern
mips rtwn(4), urtwn(4): merge common code, add support for 11ac devices. 2016-10-17 20:38:24 +00:00
modules Add preliminary support for Raspberry PI3 images to nanobsd. 2016-10-18 04:02:00 +00:00
net Fix typo in comment. 2016-10-19 02:24:57 +00:00
net80211 [net80211] Initial full-offload scan support. 2016-10-19 05:03:46 +00:00
netgraph Avoid panic from ng_uncallout when unpluggin ethernet cable with active 2016-08-08 19:31:01 +00:00
netinet Fix a double-free when an inp transitions to INP_TIMEWAIT state 2016-10-18 07:16:49 +00:00
netinet6 Limit the number of mbufs that can be allocated for IPV6_2292PKTOPTIONS 2016-10-17 23:25:31 +00:00
netipsec Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead. 2016-09-15 07:41:48 +00:00
netnatm
netpfil pf: port extended DSCP support from OpenBSD 2016-10-13 20:34:44 +00:00
netsmb
nfs Hide the boottime and bootimebin globals, provide the getboottime(9) 2016-07-27 11:08:59 +00:00
nfsclient
nfsserver
nlm MFC r298351 2016-07-22 03:09:47 +00:00
ofed Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
opencrypto opencrypto AES-ICM: Fix heap corruption typo 2016-08-01 22:57:03 +00:00
pc98 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
powerpc Un-static two local variables in the FPU emulator 2016-10-19 02:23:29 +00:00
riscv rtwn(4), urtwn(4): merge common code, add support for 11ac devices. 2016-10-17 20:38:24 +00:00
rpc MFstable/11 r303691: 2016-08-03 01:19:10 +00:00
security Don't check aq64_minfree which is unsigned for negative values. 2016-09-08 19:47:57 +00:00
sparc64 Fix building on i386 and arm. But 'public domain' headers on the files 2016-10-13 06:56:23 +00:00
sys Fix C++ includability of crypto headers with static array sizes 2016-10-18 23:20:49 +00:00
teken
tests
tools Consider CROSS_BINUTILS_PREFIX environment variable so we use correct 2016-08-10 13:49:17 +00:00
ufs Add FFS pager, which uses buffer cache read operation to validate pages. 2016-10-19 11:09:29 +00:00
vm If vm_fault_hold(9) finds that fs.m is wired, do not free it after a 2016-10-17 08:17:06 +00:00
x86 Reprogram I/O APIC interrupt pins when registering an I/O APIC. 2016-10-14 21:51:50 +00:00
xdr
xen xen/vchan: change license of header from Lesser GPL v2.1 to BSD 2016-09-30 13:41:24 +00:00
Makefile