svn commit: r238610 - head/sys/amd64/amd64

2012-07-18 Thread Alan Cox
Author: alc Date: Thu Jul 19 05:34:19 2012 New Revision: 238610 URL: http://svn.freebsd.org/changeset/base/238610 Log: Don't unnecessarily set PGA_REFERENCED in pmap_enter(). Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r238561 - in head/sys: conf mips/mips vm

2012-07-17 Thread Alan Cox
Author: alc Date: Wed Jul 18 05:21:34 2012 New Revision: 238561 URL: http://svn.freebsd.org/changeset/base/238561 Log: Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar code resides. Rename vm_contig_grow_cache() to vm_pageout_grow_cache(). Reviewed by: kib

svn commit: r238536 - head/sys/vm

2012-07-16 Thread Alan Cox
Author: alc Date: Mon Jul 16 18:13:43 2012 New Revision: 238536 URL: http://svn.freebsd.org/changeset/base/238536 Log: Various improvements to vm_contig_grow_cache(). Most notably, even when it can't sleep, it can still move clean pages from the inactive queue to the cache. Also, when a

svn commit: r238543 - head/sys/vm

2012-07-16 Thread Alan Cox
Author: alc Date: Tue Jul 17 02:36:59 2012 New Revision: 238543 URL: http://svn.freebsd.org/changeset/base/238543 Log: Correct vm_page_alloc_contig()'s implementation of VM_ALLOC_NODUMP. Modified: head/sys/vm/vm_page.c Modified: head/sys/vm/vm_page.c

svn commit: r238510 - head/sys/vm

2012-07-15 Thread Alan Cox
Author: alc Date: Sun Jul 15 21:46:19 2012 New Revision: 238510 URL: http://svn.freebsd.org/changeset/base/238510 Log: Correct an off-by-one error in vm_reserv_alloc_contig() that resulted in the last reservation of a multi-reservation allocation not being initialized. Modified:

svn commit: r238452 - head/sys/vm

2012-07-14 Thread Alan Cox
Author: alc Date: Sat Jul 14 18:10:44 2012 New Revision: 238452 URL: http://svn.freebsd.org/changeset/base/238452 Log: Move kmem_alloc_{attr,contig}() to vm/vm_kern.c, where similarly named functions reside. Correct the comment describing kmem_alloc_contig(). Modified:

svn commit: r238456 - head/sys/vm

2012-07-14 Thread Alan Cox
Author: alc Date: Sat Jul 14 20:14:03 2012 New Revision: 238456 URL: http://svn.freebsd.org/changeset/base/238456 Log: If vm_contig_grow_cache() is allowed to sleep, then invoke the vm_lowmem handlers. Modified: head/sys/vm/vm_contig.c Modified: head/sys/vm/vm_contig.c

svn commit: r238414 - head/sys/amd64/amd64

2012-07-12 Thread Alan Cox
Author: alc Date: Fri Jul 13 04:10:41 2012 New Revision: 238414 URL: http://svn.freebsd.org/changeset/base/238414 Log: Wring a few cycles out of pmap_enter(). In particular, on a user-space pmap, avoid walking the page table twice. Modified: head/sys/amd64/amd64/pmap.c Modified:

svn commit: r238357 - in head/sys/powerpc: aim booke powerpc

2012-07-10 Thread Alan Cox
Author: alc Date: Tue Jul 10 22:10:21 2012 New Revision: 238357 URL: http://svn.freebsd.org/changeset/base/238357 Log: Avoid recursion on the pvh global lock in the aim oea pmap. Correct the return type of the pmap_ts_referenced() implementations. Reported by: jhibbits [1] Tested

svn commit: r238163 - head/sys/amd64/amd64

2012-07-06 Thread Alan Cox
Author: alc Date: Fri Jul 6 06:42:25 2012 New Revision: 238163 URL: http://svn.freebsd.org/changeset/base/238163 Log: Make pmap_enter()'s management of PV entries consistent with the other pmap functions that manage PV entries. Specifically, remove the PV entry from the containing PV list

svn commit: r238126 - head/sys/amd64/amd64

2012-07-05 Thread Alan Cox
Author: alc Date: Thu Jul 5 07:20:16 2012 New Revision: 238126 URL: http://svn.freebsd.org/changeset/base/238126 Log: Calculate the new PTE value in pmap_enter() before acquiring any locks. Move an assertion to the beginning of pmap_enter(). Modified: head/sys/amd64/amd64/pmap.c

svn commit: r238159 - head/sys/powerpc/aim

2012-07-05 Thread Alan Cox
Author: alc Date: Fri Jul 6 02:18:49 2012 New Revision: 238159 URL: http://svn.freebsd.org/changeset/base/238159 Log: Replace all uses of the vm page queues lock by a r/w lock that is private to this pmap. Tested by:andreast, jhibbits Modified: head/sys/powerpc/aim/mmu_oea.c

svn commit: r238124 - head/sys/amd64/amd64

2012-07-04 Thread Alan Cox
Author: alc Date: Thu Jul 5 00:08:47 2012 New Revision: 238124 URL: http://svn.freebsd.org/changeset/base/238124 Log: Correct an error in r237513. The call to reserve_pv_entries() must come before pmap_demote_pde() updates the PDE. Otherwise, pmap_pv_demote_pde() can crash. Crash

svn commit: r237966 - in stable/9/sys: amd64/amd64 i386/i386

2012-07-02 Thread Alan Cox
Author: alc Date: Mon Jul 2 07:01:41 2012 New Revision: 237966 URL: http://svn.freebsd.org/changeset/base/237966 Log: MFC r235695, r236158, r236190, r236494 Replace all uses of the vm page queues lock by a r/w lock that is private to this pmap.c. Modified:

svn commit: r238005 - in stable/9/sys: amd64/amd64 i386/i386 i386/xen

2012-07-02 Thread Alan Cox
Author: alc Date: Mon Jul 2 17:22:38 2012 New Revision: 238005 URL: http://svn.freebsd.org/changeset/base/238005 Log: MFC r236534 Various small changes to PV entry management. Modified: stable/9/sys/amd64/amd64/pmap.c stable/9/sys/i386/i386/pmap.c stable/9/sys/i386/xen/pmap.c

svn commit: r238006 - stable/9/sys/amd64/amd64

2012-07-02 Thread Alan Cox
Author: alc Date: Mon Jul 2 17:37:40 2012 New Revision: 238006 URL: http://svn.freebsd.org/changeset/base/238006 Log: MFC r237085 Correctly identify the function in a KASSERT(). Modified: stable/9/sys/amd64/amd64/pmap.c Directory Properties: stable/9/sys/ (props changed) Modified:

svn commit: r237935 - stable/9/sys/amd64/amd64

2012-07-01 Thread Alan Cox
Author: alc Date: Sun Jul 1 18:27:13 2012 New Revision: 237935 URL: http://svn.freebsd.org/changeset/base/237935 Log: MFC r233954, r236930 Micro-optimize free_pv_entry() for the expected case. Avoid unnecessary atomic operations for clearing PGA_WRITEABLE in pmap_remove_pages().

svn commit: r237949 - in stable/9/sys: amd64/amd64 dev/xen/balloon i386/i386 i386/xen kern vm

2012-07-01 Thread Alan Cox
Author: alc Date: Mon Jul 2 03:49:52 2012 New Revision: 237949 URL: http://svn.freebsd.org/changeset/base/237949 Log: MFC r226843 Eliminate vestiges of page coloring in VM_ALLOC_NOOBJ calls to vm_page_alloc(). While I'm here, for the sake of consistency, always specify the

svn commit: r237950 - in stable/9/sys: amd64/amd64 amd64/include i386/i386 i386/include i386/xen

2012-07-01 Thread Alan Cox
Author: alc Date: Mon Jul 2 05:35:55 2012 New Revision: 237950 URL: http://svn.freebsd.org/changeset/base/237950 Log: MFC r233290, r235598, r235973, r236045, r236240, r236291, r236378 Change pv_entry_count to a long on amd64. Rename pmap_collect() to pmap_pv_reclaim() and rewrite it

svn commit: r237952 - stable/9/sys/i386/i386

2012-07-01 Thread Alan Cox
Author: alc Date: Mon Jul 2 05:57:44 2012 New Revision: 237952 URL: http://svn.freebsd.org/changeset/base/237952 Log: MFC r235912 There is no need for pmap_protect() to acquire the page queues lock unless it is going to access the pv lists or PMAP1/PADDR1. Modified:

svn commit: r237855 - in head/sys/amd64: amd64 include

2012-06-30 Thread Alan Cox
Author: alc Date: Sat Jun 30 20:25:12 2012 New Revision: 237855 URL: http://svn.freebsd.org/changeset/base/237855 Log: Optimize reserve_pv_entries() using the popcnt instruction. Modified: head/sys/amd64/amd64/pmap.c head/sys/amd64/include/cpufunc.h Modified: head/sys/amd64/amd64/pmap.c

svn commit: r237813 - head/sys/amd64/amd64

2012-06-29 Thread Alan Cox
Author: alc Date: Fri Jun 29 18:15:56 2012 New Revision: 237813 URL: http://svn.freebsd.org/changeset/base/237813 Log: In r237592, I forgot that pmap_enter() might already hold a PV list lock at the point that it calls get_pv_entry(). Thus, pmap_enter()'s PV list lock pointer must be

svn commit: r237733 - head/sys/amd64/amd64

2012-06-28 Thread Alan Cox
Author: alc Date: Thu Jun 28 22:03:59 2012 New Revision: 237733 URL: http://svn.freebsd.org/changeset/base/237733 Log: Avoid some unnecessary PV list locking in pmap_enter(). Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r237684 - head/sys/amd64/amd64

2012-06-27 Thread Alan Cox
Author: alc Date: Thu Jun 28 05:42:04 2012 New Revision: 237684 URL: http://svn.freebsd.org/changeset/base/237684 Log: Optimize pmap_pv_demote_pde(). Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r237592 - head/sys/amd64/amd64

2012-06-26 Thread Alan Cox
Author: alc Date: Tue Jun 26 06:02:43 2012 New Revision: 237592 URL: http://svn.freebsd.org/changeset/base/237592 Log: Add PV list locking to pmap_enter(). Its execution is no longer serialized by the pvh global lock. Add a needed atomic operation to pmap_object_init_pt(). Modified:

svn commit: r237604 - head/sys/amd64/amd64

2012-06-26 Thread Alan Cox
Author: alc Date: Tue Jun 26 16:45:18 2012 New Revision: 237604 URL: http://svn.freebsd.org/changeset/base/237604 Log: Introduce RELEASE_PV_LIST_LOCK(). Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r237623 - in head/sys: amd64/amd64 i386/i386 kern sparc64/sparc64 vm

2012-06-26 Thread Alan Cox
Author: alc Date: Wed Jun 27 03:45:25 2012 New Revision: 237623 URL: http://svn.freebsd.org/changeset/base/237623 Log: Add new pmap layer locks to the predefined lock order. Change the names of a few existing VM locks to follow a consistent naming scheme. Modified:

svn commit: r237627 - in stable/9/sys/sparc64: include sparc64

2012-06-26 Thread Alan Cox
Author: alc Date: Wed Jun 27 05:38:39 2012 New Revision: 237627 URL: http://svn.freebsd.org/changeset/base/237627 Log: MFC r236214 Replace all uses of the vm page queues lock by a r/w lock that is private to this pmap.c. Modified: stable/9/sys/sparc64/include/pmap.h

svn commit: r237551 - head/sys/amd64/amd64

2012-06-25 Thread Alan Cox
Author: alc Date: Mon Jun 25 07:13:25 2012 New Revision: 237551 URL: http://svn.freebsd.org/changeset/base/237551 Log: Add PV chunk and list locking to pmap_change_wiring(), pmap_protect(), and pmap_remove(). The execution of these functions is no longer serialized by the pvh global lock.

svn commit: r237513 - head/sys/amd64/amd64

2012-06-23 Thread Alan Cox
Author: alc Date: Sat Jun 23 22:54:25 2012 New Revision: 237513 URL: http://svn.freebsd.org/changeset/base/237513 Log: Introduce reserve_pv_entry() and use it in pmap_pv_demote_pde(). In order to add PV list locking to pmap_pv_demote_pde(), it is necessary to change the way that

svn commit: r237404 - head/sys/amd64/amd64

2012-06-21 Thread Alan Cox
Author: alc Date: Thu Jun 21 16:37:36 2012 New Revision: 237404 URL: http://svn.freebsd.org/changeset/base/237404 Log: Update the PV stats in free_pv_entry() using atomics. After which, it is no longer necessary for free_pv_entry() to be serialized by the pvh global lock. Retire

svn commit: r237414 - head/sys/amd64/amd64

2012-06-21 Thread Alan Cox
Author: alc Date: Fri Jun 22 05:01:36 2012 New Revision: 237414 URL: http://svn.freebsd.org/changeset/base/237414 Log: Introduce CHANGE_PV_LIST_LOCK_TO_{PHYS,VM_PAGE}() to avoid duplication of code. Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r237290 - head/sys/amd64/amd64

2012-06-20 Thread Alan Cox
Author: alc Date: Wed Jun 20 07:25:20 2012 New Revision: 237290 URL: http://svn.freebsd.org/changeset/base/237290 Log: Add PV list locking to pmap_copy(), pmap_enter_object(), and pmap_enter_quick(). These functions are no longer serialized by the pvh global lock. There is no need to

svn commit: r237346 - head/sys/vm

2012-06-20 Thread Alan Cox
Author: alc Date: Wed Jun 20 23:25:47 2012 New Revision: 237346 URL: http://svn.freebsd.org/changeset/base/237346 Log: Selectively inline vm_page_dirty(). Modified: head/sys/vm/vm_page.c head/sys/vm/vm_page.h Modified: head/sys/vm/vm_page.c

svn commit: r237264 - head/sys/amd64/amd64

2012-06-19 Thread Alan Cox
Author: alc Date: Tue Jun 19 08:12:44 2012 New Revision: 237264 URL: http://svn.freebsd.org/changeset/base/237264 Log: Condition the implementation of pv_entry_count on PV_STATS. On amd64, pv_entry_count is purely informational. It does not serve any functional purpose. Add PV chunk

svn commit: r237228 - head/sys/amd64/amd64

2012-06-18 Thread Alan Cox
Author: alc Date: Mon Jun 18 16:21:59 2012 New Revision: 237228 URL: http://svn.freebsd.org/changeset/base/237228 Log: Add PV chunk and list locking to pmap_page_exists_quick(), pmap_page_is_mapped(), and pmap_remove_pages(). These functions are no longer serialized by the pvh global lock.

svn commit: r237168 - in head/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include vm

2012-06-16 Thread Alan Cox
Author: alc Date: Sat Jun 16 18:56:19 2012 New Revision: 237168 URL: http://svn.freebsd.org/changeset/base/237168 Log: The page flag PGA_WRITEABLE is set and cleared exclusively by the pmap layer, but it is read directly by the MI VM layer. This change introduces

svn commit: r237085 - head/sys/amd64/amd64

2012-06-14 Thread Alan Cox
Author: alc Date: Thu Jun 14 17:40:49 2012 New Revision: 237085 URL: http://svn.freebsd.org/changeset/base/237085 Log: Correctly identify the function in a KASSERT(). MFC after:3 days Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r237086 - head/sys/amd64/amd64

2012-06-14 Thread Alan Cox
Author: alc Date: Thu Jun 14 17:47:54 2012 New Revision: 237086 URL: http://svn.freebsd.org/changeset/base/237086 Log: Update a couple comments to reflect r235598. X-MFC after: r235598 Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r236930 - head/sys/amd64/amd64

2012-06-11 Thread Alan Cox
Author: alc Date: Mon Jun 11 21:41:16 2012 New Revision: 236930 URL: http://svn.freebsd.org/changeset/base/236930 Log: Avoid unnecessary atomic operations for clearing PGA_WRITEABLE in pmap_remove_pages(). This reduces pmap_remove_pages()'s running time by 4 to 11% in my tests. MFC

svn commit: r236534 - in head/sys: amd64/amd64 i386/i386 i386/xen

2012-06-03 Thread Alan Cox
Author: alc Date: Mon Jun 4 03:51:08 2012 New Revision: 236534 URL: http://svn.freebsd.org/changeset/base/236534 Log: Various small changes to PV entry management: Constify pc_freemask[]. pmap_pv_reclaim() Eliminate freemask because it was a pessimization. Add a comment about

svn commit: r236494 - in head/sys: amd64/amd64 i386/i386

2012-06-02 Thread Alan Cox
Author: alc Date: Sat Jun 2 22:14:10 2012 New Revision: 236494 URL: http://svn.freebsd.org/changeset/base/236494 Log: Isolate the global pv list lock from data and other locks to prevent false sharing within the cache. Modified: head/sys/amd64/amd64/pmap.c head/sys/i386/i386/pmap.c

svn commit: r236375 - head/sys/ia64/ia64

2012-05-31 Thread Alan Cox
Author: alc Date: Fri Jun 1 03:56:12 2012 New Revision: 236375 URL: http://svn.freebsd.org/changeset/base/236375 Log: pmap_alloc_vhpt() doesn't need the pages that it allocates to be mapped into the kernel map, so vm_page_alloc_contig() can be used in place of contigmalloc(). Reviewed

svn commit: r236378 - in head/sys: amd64/amd64 i386/i386 i386/xen

2012-05-31 Thread Alan Cox
Author: alc Date: Fri Jun 1 04:26:50 2012 New Revision: 236378 URL: http://svn.freebsd.org/changeset/base/236378 Log: Eliminate code duplication in free_pv_entry() and pmap_remove_pages() by introducing free_pv_chunk(). Modified: head/sys/amd64/amd64/pmap.c head/sys/i386/i386/pmap.c

svn commit: r236240 - head/sys/i386/xen

2012-05-29 Thread Alan Cox
Author: alc Date: Tue May 29 15:41:20 2012 New Revision: 236240 URL: http://svn.freebsd.org/changeset/base/236240 Log: Rename pmap_collect() to pmap_pv_reclaim() and rewrite it such that it no longer uses the active and inactive paging queues. Instead, the pmap now maintains an LRU-ordered

svn commit: r236243 - head/sys/i386/xen

2012-05-29 Thread Alan Cox
Author: alc Date: Tue May 29 16:11:15 2012 New Revision: 236243 URL: http://svn.freebsd.org/changeset/base/236243 Log: MFi386 pmap r233433 Disable detailed PV entry accounting by default. (A config option for enabling it was already introduced in r233433.) Modified:

svn commit: r236291 - in head/sys: amd64/amd64 i386/i386 i386/xen

2012-05-29 Thread Alan Cox
Author: alc Date: Wed May 30 04:16:54 2012 New Revision: 236291 URL: http://svn.freebsd.org/changeset/base/236291 Log: Eliminate some purely stylistic differences among the amd64, i386 native, and i386 xen PV entry allocators. Modified: head/sys/amd64/amd64/pmap.c

svn commit: r236190 - head/sys/i386/i386

2012-05-28 Thread Alan Cox
Author: alc Date: Mon May 28 17:35:23 2012 New Revision: 236190 URL: http://svn.freebsd.org/changeset/base/236190 Log: Update a comment in get_pv_entry() to reflect the changes to the synchronization of pv_vafree in r236158. Modified: head/sys/i386/i386/pmap.c Modified:

svn commit: r236199 - head/sys/dev/drm2/i915

2012-05-28 Thread Alan Cox
Author: alc Date: Mon May 28 21:15:54 2012 New Revision: 236199 URL: http://svn.freebsd.org/changeset/base/236199 Log: A small simplification to i915_gem_pager_fault(). Reviewed by: kib Modified: head/sys/dev/drm2/i915/i915_gem.c Modified: head/sys/dev/drm2/i915/i915_gem.c

svn commit: r236208 - in stable/9/sys: fs/tmpfs kern

2012-05-28 Thread Alan Cox
Author: alc Date: Mon May 28 22:58:13 2012 New Revision: 236208 URL: http://svn.freebsd.org/changeset/base/236208 Log: MFC r229821 Correct an error of omission in the implementation of the truncation operation on POSIX shared memory objects and tmpfs. Previously, neither of these

svn commit: r236209 - stable/9/sys/fs/tmpfs

2012-05-28 Thread Alan Cox
Author: alc Date: Mon May 28 23:31:48 2012 New Revision: 236209 URL: http://svn.freebsd.org/changeset/base/236209 Log: MFC r230120 Neither tmpfs_nocacheread() nor tmpfs_mappedwrite() needs to call vm_object_pip_{add,subtract}() on the swap object because the swap object can't be

svn commit: r236214 - in head/sys/sparc64: include sparc64

2012-05-28 Thread Alan Cox
Author: alc Date: Tue May 29 01:52:38 2012 New Revision: 236214 URL: http://svn.freebsd.org/changeset/base/236214 Log: Replace all uses of the vm page queues lock by a r/w lock that is private to this pmap.c. This new r/w lock is used primarily to synchronize access to the TTE lists.

svn commit: r236158 - head/sys/i386/i386

2012-05-27 Thread Alan Cox
Author: alc Date: Sun May 27 16:24:00 2012 New Revision: 236158 URL: http://svn.freebsd.org/changeset/base/236158 Log: Replace all uses of the vm page queues lock by a r/w lock that is private to this pmap.c. This new r/w lock is used primarily to synchronize access to the PV lists.

svn commit: r236045 - in head/sys/i386: i386 include

2012-05-26 Thread Alan Cox
Author: alc Date: Sat May 26 06:10:25 2012 New Revision: 236045 URL: http://svn.freebsd.org/changeset/base/236045 Log: Rename pmap_collect() to pmap_pv_reclaim() and rewrite it such that it no longer uses the active and inactive paging queues. Instead, the pmap now maintains an LRU-ordered

svn commit: r236123 - stable/9/sys/i386/i386

2012-05-26 Thread Alan Cox
Author: alc Date: Sat May 26 22:47:56 2012 New Revision: 236123 URL: http://svn.freebsd.org/changeset/base/236123 Log: MFC r228513 Create large page mappings in pmap_map(). Modified: stable/9/sys/i386/i386/pmap.c Directory Properties: stable/9/sys/ (props changed) Modified:

svn commit: r236127 - stable/8/sys/i386/i386

2012-05-26 Thread Alan Cox
Author: alc Date: Sat May 26 23:10:36 2012 New Revision: 236127 URL: http://svn.freebsd.org/changeset/base/236127 Log: MFC r228513 Create large page mappings in pmap_map(). Modified: stable/8/sys/i386/i386/pmap.c Directory Properties: stable/8/sys/ (props changed) Modified:

svn commit: r235912 - head/sys/i386/i386

2012-05-24 Thread Alan Cox
Author: alc Date: Thu May 24 15:25:35 2012 New Revision: 235912 URL: http://svn.freebsd.org/changeset/base/235912 Log: MF amd64 r233097, r233122 With the changes over the past year to how accesses to the page's dirty field are synchronized, there is no need for pmap_protect() to acquire

svn commit: r235973 - head/sys/amd64/amd64

2012-05-24 Thread Alan Cox
Author: alc Date: Fri May 25 05:28:14 2012 New Revision: 235973 URL: http://svn.freebsd.org/changeset/base/235973 Log: Correct an error in pmap_pv_reclaim(). In a rare case, when it should have returned NULL, it might instead return a pointer to a page that it had just unmapped. Modified:

svn commit: r235876 - stable/9/sys/vm

2012-05-23 Thread Alan Cox
Author: alc Date: Thu May 24 03:38:47 2012 New Revision: 235876 URL: http://svn.freebsd.org/changeset/base/235876 Log: MFC r235230 Give vm_fault()'s sequential access optimization a makeover. There are two aspects to the sequential access optimization: (1) read ahead of pages

svn commit: r235878 - stable/9/sys/vm

2012-05-23 Thread Alan Cox
Author: alc Date: Thu May 24 04:09:47 2012 New Revision: 235878 URL: http://svn.freebsd.org/changeset/base/235878 Log: MFC r232160 Simplify vmspace_fork()'s control flow by copying immutable data before the vm map locks are acquired. Also, eliminate redundant initialization of the

svn commit: r235882 - stable/9/sys/vm

2012-05-23 Thread Alan Cox
Author: alc Date: Thu May 24 04:33:32 2012 New Revision: 235882 URL: http://svn.freebsd.org/changeset/base/235882 Log: MFC r232288 Simplify kmem_alloc() by eliminating code that existed on account of external pagers in Mach. Modified: stable/9/sys/vm/vm_kern.c Directory Properties:

svn commit: r235883 - stable/9/sys/kern

2012-05-23 Thread Alan Cox
Author: alc Date: Thu May 24 04:46:40 2012 New Revision: 235883 URL: http://svn.freebsd.org/changeset/base/235883 Log: MFC r232192 Fix typo. Modified: stable/9/sys/kern/vfs_bio.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/vfs_bio.c

svn commit: r235884 - in stable/9/sys: amd64/amd64 amd64/conf conf i386/conf i386/i386

2012-05-23 Thread Alan Cox
Author: alc Date: Thu May 24 05:11:21 2012 New Revision: 235884 URL: http://svn.freebsd.org/changeset/base/235884 Log: MFC r233433 Disable detailed PV entry accounting by default. Add a config option to enable it. Modified: stable/9/sys/amd64/amd64/pmap.c

svn commit: r235885 - in stable/8/sys: amd64/amd64 amd64/conf conf i386/conf i386/i386

2012-05-23 Thread Alan Cox
Author: alc Date: Thu May 24 05:30:17 2012 New Revision: 235885 URL: http://svn.freebsd.org/changeset/base/235885 Log: MFC r233433 Disable detailed PV entry accounting by default. Add a config option to enable it. Modified: stable/8/sys/amd64/amd64/pmap.c

svn commit: r235695 - head/sys/amd64/amd64

2012-05-20 Thread Alan Cox
Author: alc Date: Sun May 20 18:25:45 2012 New Revision: 235695 URL: http://svn.freebsd.org/changeset/base/235695 Log: Replace all uses of the vm page queues lock by a r/w lock that is private to this pmap.c. This new r/w lock is used primarily to synchronize access to the PV lists.

svn commit: r235598 - in head/sys/amd64: amd64 include

2012-05-17 Thread Alan Cox
Author: alc Date: Fri May 18 05:36:04 2012 New Revision: 235598 URL: http://svn.freebsd.org/changeset/base/235598 Log: Rename pmap_collect() to pmap_pv_reclaim() and rewrite it such that it no longer uses the active and inactive paging queues. Instead, the pmap now maintains an LRU-ordered

svn commit: r235230 - head/sys/vm

2012-05-10 Thread Alan Cox
Author: alc Date: Thu May 10 15:16:42 2012 New Revision: 235230 URL: http://svn.freebsd.org/changeset/base/235230 Log: Give vm_fault()'s sequential access optimization a makeover. There are two aspects to the sequential access optimization: (1) read ahead of pages that are expected to be

svn commit: r234763 - in stable/9/sys: i386/conf kern vm

2012-04-28 Thread Alan Cox
Author: alc Date: Sat Apr 28 17:29:08 2012 New Revision: 234763 URL: http://svn.freebsd.org/changeset/base/234763 Log: MFC r232166 Simplify vm_mmap()'s control flow. Add a comment describing what vm_mmap_to_errno() does. Modified: stable/9/sys/vm/vm_mmap.c Directory Properties:

svn commit: r234764 - in stable/9/sys: i386/conf kern vm

2012-04-28 Thread Alan Cox
Author: alc Date: Sat Apr 28 17:54:54 2012 New Revision: 234764 URL: http://svn.freebsd.org/changeset/base/234764 Log: MFC r234554 Updates to the vm_page's flags no longer require the page queues lock. Modified: stable/9/sys/vm/vm_page.c Directory Properties: stable/9/sys/ (props

svn commit: r234765 - in stable/9/sys: amd64/amd64 i386/conf kern

2012-04-28 Thread Alan Cox
Author: alc Date: Sat Apr 28 18:03:57 2012 New Revision: 234765 URL: http://svn.freebsd.org/changeset/base/234765 Log: MFC r233097 With the changes over the past year to how accesses to the page's dirty field are synchronized, there is no need for pmap_protect() to acquire the page

svn commit: r234766 - in stable/9/sys: i386/conf kern vm

2012-04-28 Thread Alan Cox
Author: alc Date: Sat Apr 28 18:43:27 2012 New Revision: 234766 URL: http://svn.freebsd.org/changeset/base/234766 Log: MFC r234039 Fix mincore(2) so that it reports PG_CACHED pages as resident. Modified: stable/9/sys/vm/vm_mmap.c stable/9/sys/vm/vm_page.c stable/9/sys/vm/vm_page.h

svn commit: r234771 - in stable/9/sys: i386/conf kern vm

2012-04-28 Thread Alan Cox
Author: alc Date: Sat Apr 28 20:34:14 2012 New Revision: 234771 URL: http://svn.freebsd.org/changeset/base/234771 Log: MFC r234038 If a page belonging a reservation is cached, then mark the reservation so that it will be freed to the cache pool rather than the default pool.

svn commit: r234776 - in stable/8/sys: i386/conf vm

2012-04-28 Thread Alan Cox
Author: alc Date: Sat Apr 28 23:05:08 2012 New Revision: 234776 URL: http://svn.freebsd.org/changeset/base/234776 Log: MFC r234038 If a page belonging a reservation is cached, then mark the reservation so that it will be freed to the cache pool rather than the default pool.

svn commit: r234554 - head/sys/vm

2012-04-21 Thread Alan Cox
Author: alc Date: Sat Apr 21 18:26:16 2012 New Revision: 234554 URL: http://svn.freebsd.org/changeset/base/234554 Log: As documented in vm_page.h, updates to the vm_page's flags no longer require the page queues lock. MFC after:1 week Modified: head/sys/vm/vm_page.c Modified:

svn commit: r234038 - head/sys/vm

2012-04-08 Thread Alan Cox
Author: alc Date: Sun Apr 8 17:00:46 2012 New Revision: 234038 URL: http://svn.freebsd.org/changeset/base/234038 Log: If a page belonging a reservation is cached, then mark the reservation so that it will be freed to the cache pool rather than the default pool. Otherwise, the cached pages

svn commit: r234039 - head/sys/vm

2012-04-08 Thread Alan Cox
Author: alc Date: Sun Apr 8 18:25:12 2012 New Revision: 234039 URL: http://svn.freebsd.org/changeset/base/234039 Log: Fix mincore(2) so that it reports PG_CACHED pages as resident. MFC after:2 weeks Modified: head/sys/vm/vm_mmap.c head/sys/vm/vm_page.c head/sys/vm/vm_page.h

svn commit: r233954 - head/sys/amd64/amd64

2012-04-06 Thread Alan Cox
Author: alc Date: Fri Apr 6 16:41:19 2012 New Revision: 233954 URL: http://svn.freebsd.org/changeset/base/233954 Log: Micro-optimize free_pv_entry() for the expected case. Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r233750 - in stable/9/sys: amd64/amd64 amd64/conf conf i386/conf

2012-03-31 Thread Alan Cox
Author: alc Date: Sat Mar 31 17:47:50 2012 New Revision: 233750 URL: http://svn.freebsd.org/changeset/base/233750 Log: MFC r233256 Eliminate vm.pmap.shpgperproc and vm.pmap.pv_entry_max because they no longer serve any purpose. Modified: stable/9/sys/amd64/amd64/pmap.c

svn commit: r233751 - in stable/8/sys: amd64/amd64 amd64/conf conf i386/conf

2012-03-31 Thread Alan Cox
Author: alc Date: Sat Mar 31 18:29:24 2012 New Revision: 233751 URL: http://svn.freebsd.org/changeset/base/233751 Log: MFC r233256 Eliminate vm.pmap.shpgperproc and vm.pmap.pv_entry_max because they no longer serve any purpose. Modified: stable/8/sys/amd64/amd64/pmap.c

svn commit: r233649 - in stable/8/sys: amd64/amd64 amd64/include i386/conf i386/i386 i386/include kern sys vm

2012-03-29 Thread Alan Cox
Author: alc Date: Thu Mar 29 06:01:11 2012 New Revision: 233649 URL: http://svn.freebsd.org/changeset/base/233649 Log: MFC r233291 Handle spurious page faults that may occur in no-fault sections of the kernel. Modified: stable/8/sys/amd64/amd64/trap.c

svn commit: r233647 - in stable/9/sys: amd64/amd64 amd64/include i386/conf i386/i386 i386/include kern sys vm

2012-03-28 Thread Alan Cox
Author: alc Date: Thu Mar 29 04:54:34 2012 New Revision: 233647 URL: http://svn.freebsd.org/changeset/base/233647 Log: MFC r233291 Handle spurious page faults that may occur in no-fault sections of the kernel. Modified: stable/9/sys/amd64/amd64/trap.c

svn commit: r233433 - in head/sys: amd64/amd64 amd64/conf conf i386/conf i386/i386

2012-03-24 Thread Alan Cox
Author: alc Date: Sat Mar 24 19:43:49 2012 New Revision: 233433 URL: http://svn.freebsd.org/changeset/base/233433 Log: Disable detailed PV entry accounting by default. Add a config option to enable it. MFC after:1 week Modified: head/sys/amd64/amd64/pmap.c

Re: svn commit: r233290 - head/sys/amd64/amd64

2012-03-22 Thread Alan Cox
On 03/22/2012 03:12, Sergey Kandaurov wrote: On 22 March 2012 08:40, Alan Coxa...@freebsd.org wrote: Author: alc Date: Thu Mar 22 04:40:22 2012 New Revision: 233290 URL: http://svn.freebsd.org/changeset/base/233290 Log: Change pv_entry_count to a long. During the lifetime of FreeBSD 10.x,

svn commit: r233290 - head/sys/amd64/amd64

2012-03-21 Thread Alan Cox
Author: alc Date: Thu Mar 22 04:40:22 2012 New Revision: 233290 URL: http://svn.freebsd.org/changeset/base/233290 Log: Change pv_entry_count to a long. During the lifetime of FreeBSD 10.x, physical memory sizes at the high-end will likely reach a point that the number of pv entries could

svn commit: r233291 - in head/sys: amd64/amd64 amd64/include i386/i386 i386/include kern sys vm

2012-03-21 Thread Alan Cox
Author: alc Date: Thu Mar 22 04:52:51 2012 New Revision: 233291 URL: http://svn.freebsd.org/changeset/base/233291 Log: Handle spurious page faults that may occur in no-fault sections of the kernel. When access restrictions are added to a page table entry, we flush the corresponding

svn commit: r233256 - in head/sys: amd64/amd64 amd64/conf conf

2012-03-20 Thread Alan Cox
Author: alc Date: Wed Mar 21 04:00:58 2012 New Revision: 233256 URL: http://svn.freebsd.org/changeset/base/233256 Log: Eliminate vm.pmap.shpgperproc and vm.pmap.pv_entry_max because they no longer serve any purpose. Prior to r157446, they served a purpose because there was a fixed amount

svn commit: r233122 - head/sys/amd64/amd64

2012-03-18 Thread Alan Cox
Author: alc Date: Sun Mar 18 17:41:54 2012 New Revision: 233122 URL: http://svn.freebsd.org/changeset/base/233122 Log: Style fix to pmap_protect(). Submitted by: bde Modified: head/sys/amd64/amd64/pmap.c Modified: head/sys/amd64/amd64/pmap.c

svn commit: r233097 - head/sys/amd64/amd64

2012-03-17 Thread Alan Cox
Author: alc Date: Sat Mar 17 22:04:58 2012 New Revision: 233097 URL: http://svn.freebsd.org/changeset/base/233097 Log: With the changes over the past year to how accesses to the page's dirty field are synchronized, there is no need for pmap_protect() to acquire the page queues lock unless

Re: svn commit: r233097 - head/sys/amd64/amd64

2012-03-17 Thread Alan Cox
On 03/17/2012 17:14, Nathan Whitehorn wrote: On Mar 17, 2012, at 5:04 PM, Alan Cox wrote: Author: alc Date: Sat Mar 17 22:04:58 2012 New Revision: 233097 URL: http://svn.freebsd.org/changeset/base/233097 Log: With the changes over the past year to how accesses to the page's dirty field

Re: svn commit: r233011 - head/sys/powerpc/aim

2012-03-16 Thread Alan Cox
On 03/15/2012 19:12, Nathan Whitehorn wrote: On 03/15/12 18:40, Alan Cox wrote: On 3/15/2012 5:55 PM, Nathan Whitehorn wrote: On 03/15/12 17:18, Alan Cox wrote: On 3/15/2012 2:36 PM, Nathan Whitehorn wrote: Author: nwhitehorn Date: Thu Mar 15 19:36:52 2012 New Revision: 233011 URL: http

Re: svn commit: r233011 - head/sys/powerpc/aim

2012-03-15 Thread Alan Cox
On 3/15/2012 2:36 PM, Nathan Whitehorn wrote: Author: nwhitehorn Date: Thu Mar 15 19:36:52 2012 New Revision: 233011 URL: http://svn.freebsd.org/changeset/base/233011 Log: Improve algorithm for deciding whether to loop through all process pages or look them up individually in

Re: svn commit: r233011 - head/sys/powerpc/aim

2012-03-15 Thread Alan Cox
On 3/15/2012 5:55 PM, Nathan Whitehorn wrote: On 03/15/12 17:18, Alan Cox wrote: On 3/15/2012 2:36 PM, Nathan Whitehorn wrote: Author: nwhitehorn Date: Thu Mar 15 19:36:52 2012 New Revision: 233011 URL: http://svn.freebsd.org/changeset/base/233011 Log: Improve algorithm for deciding

svn commit: r232842 - head/sys/amd64/amd64

2012-03-11 Thread Alan Cox
Author: alc Date: Mon Mar 12 00:47:13 2012 New Revision: 232842 URL: http://svn.freebsd.org/changeset/base/232842 Log: Simplify the error checking in one branch of trap_pfault() and update the nearby comment. Add missing whitespace to a return statement in trap_pfault(). Submitted

svn commit: r232851 - head/sys/i386/i386

2012-03-11 Thread Alan Cox
Author: alc Date: Mon Mar 12 05:28:02 2012 New Revision: 232851 URL: http://svn.freebsd.org/changeset/base/232851 Log: Simplify the error checking in one branch of trap_pfault() and update the nearby comment. Correct the style of two return statements in trap_pfault(). Merge a

svn commit: r232399 - head/sys/vm

2012-03-02 Thread Alan Cox
Author: alc Date: Fri Mar 2 17:33:51 2012 New Revision: 232399 URL: http://svn.freebsd.org/changeset/base/232399 Log: Eliminate stale incorrect ARGSUSED comments. Submitted by: bde Modified: head/sys/vm/vm_mmap.c Modified: head/sys/vm/vm_mmap.c

svn commit: r232288 - head/sys/vm

2012-02-28 Thread Alan Cox
Author: alc Date: Wed Feb 29 05:41:29 2012 New Revision: 232288 URL: http://svn.freebsd.org/changeset/base/232288 Log: Simplify kmem_alloc() by eliminating code that existed on account of external pagers in Mach. FreeBSD doesn't implement external pagers. Moreover, it don't pageout the

svn commit: r232192 - head/sys/kern

2012-02-26 Thread Alan Cox
Author: alc Date: Sun Feb 26 19:10:14 2012 New Revision: 232192 URL: http://svn.freebsd.org/changeset/base/232192 Log: Fix typo. MFC after:1 week Modified: head/sys/kern/vfs_bio.c Modified: head/sys/kern/vfs_bio.c

svn commit: r232160 - head/sys/vm

2012-02-25 Thread Alan Cox
Author: alc Date: Sat Feb 25 17:49:59 2012 New Revision: 232160 URL: http://svn.freebsd.org/changeset/base/232160 Log: Simplify vmspace_fork()'s control flow by copying immutable data before the vm map locks are acquired. Also, eliminate redundant initialization of the new vm map's

svn commit: r232166 - head/sys/vm

2012-02-25 Thread Alan Cox
Author: alc Date: Sat Feb 25 21:06:39 2012 New Revision: 232166 URL: http://svn.freebsd.org/changeset/base/232166 Log: Simplify vm_mmap()'s control flow. Add a comment describing what vm_mmap_to_errno() does. Reviewed by: kib MFC after:3 weeks X-MFC after: r232071 Modified:

svn commit: r232117 - in stable/9/sys: i386/conf kern

2012-02-24 Thread Alan Cox
Author: alc Date: Fri Feb 24 17:50:23 2012 New Revision: 232117 URL: http://svn.freebsd.org/changeset/base/232117 Log: MFC r231904 Close a race due to dropping of the map lock between creating a map entry for a shared mapping and marking the entry for inheritance. Modified:

<    3   4   5   6   7   8   9   10   11   12   >