freebsd-skq/sys
Konstantin Belousov 99a1570a25 r221714 fixed the situation when the collapse scan improperly handled
invalid (busy) page supposedly inserted by the vm_fault(), in the
OBSC_COLLAPSE_NOWAIT case.  As a continuation to r221714, fix a case
when invalid page is found by the object scan in OBSC_COLLAPSE_WAIT
case as well.  But, since this is waitable scan, we should wait for
the termination of the busy state and restart from the beginning of
the backing object' page queue. [*]

Do not free the shadow page swap space when the parent page is
invalid, otherwise this action potentially corrupts user data.

Combine all instances of the collapse scan sleep code fragments into
the new helper vm_object_backing_scan_wait().

Improve style compliance and comments.  Change the return type of
vm_object_backing_scan() to bool.

Initial submission by:	cem, https://reviews.freebsd.org/D4103 [*]
Reviewed by:	alc, cem
Tested by:	cem
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D4146
2015-12-01 09:06:09 +00:00
..
amd64 Remove sv_prepsyscall, sv_sigsize and sv_sigtbl members of the struct 2015-11-28 08:49:07 +00:00
arm ARM: create new memory attribute for writethrough cacheable memory. 2015-11-30 17:09:25 +00:00
arm64 Shorten conditional branch code. 2015-11-30 10:18:15 +00:00
boot META MODE: Update dependencies with 'the-lot' and add missing directories. 2015-12-01 05:23:19 +00:00
bsm IFp4 @1192291: 2014-04-07 20:44:00 +00:00
cam Fix panic when trying to sort unsupported command in OOA queue. 2015-11-27 14:29:04 +00:00
cddl Make the number of fasttrap probes and the size of the trace points hash table 2015-12-01 00:24:54 +00:00
compat Add more functions and types to the LinuxKPI. 2015-11-30 09:24:12 +00:00
conf Add initial support for RTL8152 USB Fast Ethernet. RTL8152 supports 2015-12-01 05:12:13 +00:00
contrib Adjust a comment; we now support these embedded boards! 2015-12-01 06:11:09 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Add helper to catch single step debug event and distinguish it from bkpt 2015-11-27 19:03:59 +00:00
dev sfxge: added setting TSO-related parameters 2015-12-01 06:29:11 +00:00
fs Delete the TUNABLE_INT() line. It was in r291527 so that it could be 2015-11-30 23:37:09 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Fix early kernel dump via dumpdev env 2015-11-17 20:55:50 +00:00
gnu Fixing a memory leak on module unloading. 2015-09-11 22:43:35 +00:00
i386 Remove sv_prepsyscall, sv_sigsize and sv_sigtbl members of the struct 2015-11-28 08:49:07 +00:00
isa
kern capsicum: plug spurious memset in __cap_rights_init 2015-12-01 02:48:42 +00:00
kgssapi Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
libkern libkern: ffs, fls: s/4/3/ the 3rd BSD clause 2015-10-22 21:04:47 +00:00
mips Add support for the integrated wifi for the QCA953x base config and 2015-11-29 05:49:49 +00:00
modules Add initial support for RTL8152 USB Fast Ethernet. RTL8152 supports 2015-12-01 05:12:13 +00:00
net Fix LINT-NOIP kernels after r291467 2015-12-01 05:59:53 +00:00
net80211 [net80211] decode WPA cipher config '0' as "clear cipher config". 2015-11-26 01:54:58 +00:00
netgraph Move iflladdr_event eventhandler invocation to if_setlladdr. 2015-11-14 13:34:03 +00:00
netinet Remove in_setifarnh definition. 2015-11-30 06:02:35 +00:00
netinet6 Add new rt_foreach_fib_walk_del() function for deleting route entries 2015-11-30 05:51:14 +00:00
netipsec Overhaul if_enc(4) and make it loadable in run-time. 2015-11-25 07:31:59 +00:00
netnatm Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
netpfil Add destroy_object callback to object rewriting framework. 2015-11-23 22:06:55 +00:00
netsmb The problem report was for a crash that happened when smbfs was 2015-11-18 23:04:01 +00:00
nfs Add kernel support to the NFS server for the "-manage-gids" 2015-11-30 21:54:27 +00:00
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver Use M_SIZE() instead of hand-crafted (and mostly correct) NFSMSIZ() macro 2015-01-07 17:22:56 +00:00
nlm Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
ofed Add some defines needed by the coming mlx5 infiniband support. 2015-11-24 12:11:56 +00:00
opencrypto Remove unneeded includes of opt_kdtrace.h. 2015-11-22 02:01:01 +00:00
pc98 Disconnect iBCS2 emulator from the build. The ibcs2 option, the build 2015-11-28 08:31:32 +00:00
powerpc Print machine check address for Book-E. 2015-11-30 02:40:41 +00:00
rpc Improve locking of sg_threadcount. 2015-11-19 08:04:05 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Remove sv_prepsyscall, sv_sigsize and sv_sigtbl members of the struct 2015-11-28 08:49:07 +00:00
sys Bump __FreeBSD_version since r291527 changes the interface between the 2015-11-30 22:35:53 +00:00
teken Sync HPA and VPA implementations with CUP. 2015-08-24 07:49:27 +00:00
tests Style 9 changes. 2015-11-12 10:31:14 +00:00
tools Rename the /usr/share/doc/legal files to driver.LICENSE to work around 2015-10-16 00:38:05 +00:00
ufs For performance reasons, it is useful to have a single string used as 2015-11-29 21:01:02 +00:00
vm r221714 fixed the situation when the collapse scan improperly handled 2015-12-01 09:06:09 +00:00
x86 Correct the number of DTLB entries reported for the CPUID Leaf 2 2015-11-24 19:55:11 +00:00
xdr
xen xen/intr: fix the event channel enabled per-cpu mask 2015-11-05 14:33:46 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00