freebsd-skq/sys
Alan Cox ce18658792 Reduce the scope of the page queues lock and the number of
PG_REFERENCED changes in vm_pageout_object_deactivate_pages().
Simplify this function's inner loop using TAILQ_FOREACH(), and shorten
some of its overly long lines.  Update a stale comment.

Assert that PG_REFERENCED may be cleared only if the object containing
the page is locked.  Add a comment documenting this.

Assert that a caller to vm_page_requeue() holds the page queues lock,
and assert that the page is on a page queue.

Push down the page queues lock into pmap_ts_referenced() and
pmap_page_exists_quick().  (As of now, there are no longer any pmap
functions that expect to be called with the page queues lock held.)

Neither pmap_ts_referenced() nor pmap_page_exists_quick() should ever
be passed an unmanaged page.  Assert this rather than returning "0"
and "FALSE" respectively.

ARM:

Simplify pmap_page_exists_quick() by switching to TAILQ_FOREACH().

Push down the page queues lock inside of pmap_clearbit(), simplifying
pmap_clear_modify(), pmap_clear_reference(), and pmap_remove_write().
Additionally, this allows for avoiding the acquisition of the page
queues lock in some cases.

PowerPC/AIM:

moea*_page_exits_quick() and moea*_page_wired_mappings() will never be
called before pmap initialization is complete.  Therefore, the check
for moea_initialized can be eliminated.

Push down the page queues lock inside of moea*_clear_bit(),
simplifying moea*_clear_modify() and moea*_clear_reference().

The last parameter to moea*_clear_bit() is never used.  Eliminate it.

PowerPC/BookE:

Simplify mmu_booke_page_exists_quick()'s control flow.

Reviewed by:	kib@
2010-06-10 16:56:35 +00:00
..
amd64 Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
arm Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
boot Use -Wl,-N instead of the undocumented -N option for GCC. 2010-06-03 17:42:32 +00:00
bsm
cam Rearrange how things are done to avoid dereferencing stale pointers in 2010-06-08 22:46:44 +00:00
cddl Fix freeing space after deleting large files with holes. 2010-06-03 11:08:46 +00:00
compat Bring USB fixes for linux(4). 2010-05-24 07:04:00 +00:00
conf Fix typo. 2010-06-09 12:30:40 +00:00
contrib Provide kernel level headers for the libfdt code. 2010-06-02 17:24:41 +00:00
crypto Use the fpu_kern_enter() interface to properly separate usermode FPU 2010-06-05 16:00:53 +00:00
ddb MFp4 @178364: 2010-05-24 16:41:05 +00:00
dev Apply driver update from LSI. Many thanks to LSI for continuing to 2010-06-09 21:40:38 +00:00
fs Add a new function devfs_parent_dirent() for resolving devfs parent 2010-06-09 15:29:12 +00:00
gdb
geom Try and narrow the gap in which you act on an event that has been canceled. 2010-06-08 22:40:02 +00:00
gnu Move checking against RLIMIT_FSIZE into one place, vn_rlimit_fsize(). 2010-05-05 16:44:25 +00:00
i386 Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
ia64 Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
isa Do not attempt to switch to the same VTs between suspend and resume. 2010-05-26 16:37:54 +00:00
kern Store interrupt trap frame into struct thread. It allows interrupt handler 2010-06-10 16:14:05 +00:00
kgssapi
libkern Provide memchr() in the libkern. 2010-06-02 17:27:23 +00:00
mips Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
modules New netgraph node ng_patch(4). It performs data modification of packets 2010-06-09 12:25:57 +00:00
net Provide a macro for registering a virtualized sysctl handler for 2010-06-02 15:29:21 +00:00
net80211 Fix resource leaks in ieee80211_ioctl_setchanlist() in case of error. 2010-06-01 14:20:58 +00:00
netatalk
netgraph Style(9) fixes: 2010-06-10 16:45:30 +00:00
netinet Found by Michael. In cases where we run 2010-06-09 22:05:29 +00:00
netinet6 Fix our version of IPv6 address representation. 2010-05-19 00:35:47 +00:00
netipsec MFp4 @178283: 2010-05-24 16:27:47 +00:00
netipx
netnatm
netncp Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
netsmb Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
nfs Factor out the code shared between NFS client and server into its own 2010-02-16 20:00:21 +00:00
nfsclient Fix build: newnp represents newvp so KDTRACE_NFS_ATTRCACHE_FLUSH_DONE() 2010-05-27 22:59:37 +00:00
nfsserver Patch the regular NFS server so that it returns ESTALE to the client 2010-03-26 01:19:29 +00:00
nlm
opencrypto Use the fpu_kern_enter() interface to properly separate usermode FPU 2010-06-05 16:00:53 +00:00
pc98 Introduce the x86 kernel interfaces to allow kernel code to use 2010-06-05 15:59:59 +00:00
pci Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
powerpc Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
rpc When the regular NFS server replied to a UDP client out of the replay 2010-03-23 23:03:30 +00:00
security Add a case to make sure that internal audit records get converted 2010-05-04 15:29:07 +00:00
sparc64 Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
sun4v Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
sys Store interrupt trap frame into struct thread. It allows interrupt handler 2010-06-10 16:14:05 +00:00
teken Just use <stdint.h> instead of <inttypes.h>. We don't need it here. 2010-04-03 17:22:28 +00:00
tools Flattened Device Tree helper scripts. 2010-06-02 17:22:38 +00:00
ufs Extend the scope of the lock on the quota file vnode in quotaon() to 2010-06-03 10:24:53 +00:00
vm Reduce the scope of the page queues lock and the number of 2010-06-10 16:56:35 +00:00
x86 Move the MD support for PCI message signalled interrupts to the x86 tree 2010-06-08 18:36:03 +00:00
xdr
xen don't hold spin lock across free 2010-02-21 01:12:18 +00:00
Makefile