freebsd-dev/sys
Mark Johnston 0ffc7ed7e3 Have uiomove_object_page() keep accessed pages in the active queue.
Previously, uiomove_object_page() would maintain LRU by requeuing the
accessed page. This involves acquiring one of the heavily contended page
queue locks. Moreover, it is unnecessarily expensive for pages in the
active queue.

As of r254304 the page daemon continually performs a slow scan of the
active queue, with the effect that unreferenced pages are gradually
moved to the inactive queue, from which they can be reclaimed. Prior to
that revision, the active queue was scanned only during shortages of
free and inactive pages, meaning that unreferenced pages could get
"stuck" in the queue. Thus, tmpfs was required to use the inactive queue
and requeue pages in order to maintain LRU. Now that this is no longer
the case, tmpfs I/O operations can use the active queue and avoid the
page queue locks in most cases, instead setting PGA_REFERENCED on
referenced pages to provide pseudo-LRU.

Reviewed by:	alc (previous version)
MFC after:	2 weeks
2017-09-30 23:41:28 +00:00
..
amd64 Do not do torn writes to active LDTs. 2017-09-19 17:57:04 +00:00
arm Disable/enable CSUM_UDP and CSUM_TCP along with CSUM_IP 2017-09-30 10:35:44 +00:00
arm64 Fix indentation for r323068 2017-09-19 20:40:05 +00:00
boot Compile loader as Little-Endian on PPC64/POWER8 2017-09-29 06:36:19 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam Add sysctl/tunable for maximal request time. 2017-09-30 13:17:31 +00:00
cddl Use C99 initializers for DTrace provider methods. 2017-09-27 17:46:38 +00:00
compat Small style(9) issue: spaces vs TAB. 2017-09-24 20:57:03 +00:00
conf aesni(4): Add support for x86 SHA intrinsics 2017-09-26 23:12:32 +00:00
contrib Revert r324109. This commit broke a number of systems. 2017-09-30 20:28:50 +00:00
crypto aesni(4): Fix GCC build 2017-09-29 19:56:09 +00:00
ddb Rename mkdumpheader() and group EKCD functions in kern_shutdown.c. 2017-08-18 04:04:09 +00:00
dev uath(4): fix varible types, add missing checks for descriptor / command 2017-09-30 21:00:46 +00:00
fs tmpfs: skip zero-sized page count updates 2017-09-30 18:23:45 +00:00
gdb
geom g_resize_provider_event: Do not invoke orphan method twice 2017-09-24 19:59:26 +00:00
gnu Update DTS files from Linux 4.12 2017-07-09 13:53:32 +00:00
i386 A different fix for the issue from r323722. 2017-09-28 09:01:28 +00:00
isa Use better hard-coded defaults for the cursor shape, and remove nearby 2017-08-19 19:33:16 +00:00
kern Have uiomove_object_page() keep accessed pages in the active queue. 2017-09-30 23:41:28 +00:00
kgssapi
libkern Continuing efforts to provide hardening of FFS, this change adds a 2017-09-22 12:45:15 +00:00
mips bhnd: Add support for supplying bus I/O callbacks when initializing an EROM 2017-09-27 19:48:34 +00:00
modules bhnd: Add support for supplying bus I/O callbacks when initializing an EROM 2017-09-27 19:48:34 +00:00
net Add PNP metadata to more drivers 2017-09-26 23:23:58 +00:00
net80211 net80211: fix a typo (premable -> preamble). 2017-08-27 22:13:03 +00:00
netgraph Correction after r323873: #include <sys/lock.h> in addition to <sys/rmlock.h> 2017-09-28 11:26:37 +00:00
netinet Some mbuf related fixes in icmp_error() 2017-09-29 06:24:45 +00:00
netinet6 Fix a locking issue found by Coverity scanning the usrsctp library. 2017-09-09 20:51:54 +00:00
netipsec opencrypto: Loosen restriction on HMAC key sizes 2017-09-26 16:18:10 +00:00
netpfil Use in_localip() function instead of unlocked access to addresses hash 2017-09-20 22:35:28 +00:00
netsmb netsmb: Fix buggy/racy smb_strdupin() 2017-09-29 15:53:26 +00:00
nfs Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfsclient
nfsserver
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed Remove unsafe access to the LinuxKPI file structure from ibcore. 2017-09-09 06:34:20 +00:00
opencrypto opencrypto: Use C99 initializers for auth_hash instances 2017-09-26 17:52:52 +00:00
powerpc Fix indentation for r323068 2017-09-19 20:40:05 +00:00
riscv Sync with amd64/arm/arm64/i386/mips pmap change r288256: 2017-09-20 04:19:49 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Sprinkle __read_frequently on few obvious places. 2017-09-06 20:33:33 +00:00
sparc64 Fix indentation for r323068 2017-09-19 20:40:05 +00:00
sys Improve description of the PNP string a bit. 2017-09-27 19:21:52 +00:00
teken Fix syscons escape sequence for setting the local cursor type. This sequence 2017-08-18 15:40:40 +00:00
tests style(9): sort headers 2017-05-09 05:08:47 +00:00
tools make.conf: Add the possibility to use another DTC 2017-06-17 23:34:53 +00:00
ufs Don't defer wakeup()s for completed journal workitems. 2017-09-26 23:24:15 +00:00
vm Optimize vm_object_page_remove() by eliminating pointless calls to 2017-09-28 17:55:41 +00:00
x86 x86: Decode AMD "Extended Feature Extensions ID EBX" bits 2017-09-20 18:30:37 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00