Author: alc
Date: Fri Oct 15 15:23:34 2010
New Revision: 213897
URL: http://svn.freebsd.org/changeset/base/213897
Log:
Update pmap_extract() to handle 1GB page mappings. Some device drivers
use pmap_extract() rather than pmap_kextract() on direct map addresses.
Thus, pmap_extract() needs
Author: alc
Date: Sat Oct 30 17:21:32 2010
New Revision: 214563
URL: http://svn.freebsd.org/changeset/base/214563
Log:
Don't demote in pmap_demote_DMAP() if the specified length is zero.
Modified:
head/sys/amd64/amd64/pmap.c
Modified: head/sys/amd64/amd64/pmap.c
Author: alc
Date: Sat Oct 30 18:00:53 2010
New Revision: 214564
URL: http://svn.freebsd.org/changeset/base/214564
Log:
Correct some format strings used by sysctls.
MFC after:1 week
Modified:
head/sys/vm/vm_phys.c
head/sys/vm/vm_reserv.c
Modified: head/sys/vm/vm_phys.c
Author: alc
Date: Sat Oct 30 23:49:37 2010
New Revision: 214576
URL: http://svn.freebsd.org/changeset/base/214576
Log:
Add another safety belt to pmap_demote_DMAP().
Modified:
head/sys/amd64/amd64/pmap.c
Modified: head/sys/amd64/amd64/pmap.c
Author: alc
Date: Mon Nov 1 02:22:48 2010
New Revision: 214617
URL: http://svn.freebsd.org/changeset/base/214617
Log:
Implement pmap_is_prefaultable().
Reviewed by: nwhitehorn
Modified:
head/sys/powerpc/aim/mmu_oea.c
head/sys/powerpc/aim/mmu_oea64.c
Modified:
Author: alc
Date: Sun Nov 7 18:42:37 2010
New Revision: 214938
URL: http://svn.freebsd.org/changeset/base/214938
Log:
Eliminate a possible race between pmap_pinit() and pmap_kenter_pde() on
superpage promotion or demotion.
Micro-optimize pmap_kenter_pde().
Reviewed by: kib, jhb
Author: alc
Date: Sun Nov 7 21:40:34 2010
New Revision: 214953
URL: http://svn.freebsd.org/changeset/base/214953
Log:
In case the stack size reaches its limit and its growth must be restricted,
ensure that grow_amount is a multiple of the page size. Otherwise, the
kernel may crash in
Author: alc
Date: Sun Nov 7 21:48:49 2010
New Revision: 214954
URL: http://svn.freebsd.org/changeset/base/214954
Log:
Don't call pmap_demote_DMAP() on MTRR entries from the BIOS that are marked
as bogus.
Reported by: Jia-Shiun Li
Modified:
head/sys/amd64/amd64/amd64_mem.c
Modified:
Author: alc
Date: Wed Nov 10 17:57:34 2010
New Revision: 215093
URL: http://svn.freebsd.org/changeset/base/215093
Log:
Enable reservation-based physical memory allocation. Even without the
creation of large page mappings in the pmap, it can provide modest
performance benefits. In
Bernhard Schmidt wrote:
Author: bschmidt
Date: Thu Nov 11 18:43:31 2010
New Revision: 215135
URL: http://svn.freebsd.org/changeset/base/215135
Log:
According to specs for MmAllocateContiguousMemorySpecifyCache() physically
contiguous memory with requested restrictions must be allocated.
Author: alc
Date: Fri Nov 19 17:49:08 2010
New Revision: 215538
URL: http://svn.freebsd.org/changeset/base/215538
Log:
Reduce the amount of detail printed by vm_page_free_toq() when it panics.
Reviewed by: kib
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
Marius Strobl wrote:
On Mon, Nov 29, 2010 at 08:23:08PM +0100, Marius Strobl wrote:
On Tue, Nov 30, 2010 at 12:31:31AM +0600, Max Khon wrote:
Marius,
On Mon, Nov 29, 2010 at 1:45 AM, Marius Strobl mar...@alchemy.franken.dewrote:
On Sun, Nov 28, 2010 at 07:26:20PM +, Max Khon
Marius Strobl wrote:
On Wed, Dec 01, 2010 at 12:19:17PM -0600, Alan Cox wrote:
Marius Strobl wrote:
On Mon, Nov 29, 2010 at 08:23:08PM +0100, Marius Strobl wrote:
On Tue, Nov 30, 2010 at 12:31:31AM +0600, Max Khon wrote:
Marius,
On Mon, Nov 29, 2010 at 1:45 AM
Author: alc
Date: Thu Dec 9 20:16:00 2010
New Revision: 216333
URL: http://svn.freebsd.org/changeset/base/216333
Log:
When r207410 eliminated the acquisition and release of the page queues
lock from pmap_extract_and_hold(), it didn't take into account that
pmap_pte_quick() sometimes
Author: alc
Date: Tue Dec 14 05:47:35 2010
New Revision: 216425
URL: http://svn.freebsd.org/changeset/base/216425
Log:
Change memguard_fudge() so that it can handle km_max being zero. Not
every platform defines VM_KMEM_SIZE_MAX, and on those platforms km_max
will be zero.
Reviewed by:
m...@freebsd.org wrote:
On Tue, Dec 7, 2010 at 5:41 AM, Marius Strobl mar...@alchemy.franken.de wrote:
On Mon, Dec 06, 2010 at 02:30:01PM -0800, m...@freebsd.org wrote:
On Mon, Dec 6, 2010 at 2:07 PM, Marius Strobl mar...@alchemy.franken.de wrote:
[lots of snip]
With that one
Author: alc
Date: Fri Dec 17 22:41:22 2010
New Revision: 216511
URL: http://svn.freebsd.org/changeset/base/216511
Log:
Implement and use a single optimized function for unholding a set of pages.
Reviewed by: kib@
Modified:
head/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c
Author: alc
Date: Sun Dec 19 07:31:56 2010
New Revision: 216555
URL: http://svn.freebsd.org/changeset/base/216555
Log:
Redo some parts of r216333, specifically, the locking changes to
pmap_extract_and_hold(), and undo the rest. In particular, I forgot
that PG_PS and PG_PTE_PAT are the same
Author: alc
Date: Mon Dec 20 22:49:31 2010
New Revision: 216604
URL: http://svn.freebsd.org/changeset/base/216604
Log:
Introduce vm_fault_hold() and use it to (1) eliminate a long-standing race
condition in proc_rwmem() and to (2) simplify the implementation of the
cxgb driver's
Author: alc
Date: Mon Dec 20 23:41:31 2010
New Revision: 216607
URL: http://svn.freebsd.org/changeset/base/216607
Log:
The local variable rv is still required by vm_fault_hold_user_pages().
Modified:
head/sys/dev/cxgb/ulp/tom/cxgb_vm.c
Modified: head/sys/dev/cxgb/ulp/tom/cxgb_vm.c
Marius Strobl wrote:
Author: marius
Date: Tue Dec 21 21:32:17 2010
New Revision: 216625
URL: http://svn.freebsd.org/changeset/base/216625
Log:
Revert r216080 so kmem_map is capped at 3/5 of the currently rather modest
kernel address space in order to leave space for the buffer cache, pipes,
Author: alc
Date: Sat Dec 25 21:26:56 2010
New Revision: 216699
URL: http://svn.freebsd.org/changeset/base/216699
Log:
Introduce and use a new VM interface for temporarily pinning pages. This
new interface replaces the combined use of vm_fault_quick() and
pmap_extract_and_hold() throughout
Author: alc
Date: Sat Dec 25 23:54:50 2010
New Revision: 216701
URL: http://svn.freebsd.org/changeset/base/216701
Log:
Retire vm_fault_quick(). It's no longer used.
Reviewed by: kib@
Modified:
head/sys/vm/vm_extern.h
head/sys/vm/vm_fault.c
Modified: head/sys/vm/vm_extern.h
Author: alc
Date: Sun Dec 26 01:42:52 2010
New Revision: 216702
URL: http://svn.freebsd.org/changeset/base/216702
Log:
Correct the order of the arguments to vm_fault_quick_hold_pages().
Modified:
head/sys/kern/uipc_cow.c
Modified: head/sys/kern/uipc_cow.c
Author: alc
Date: Mon Dec 27 07:12:22 2010
New Revision: 216731
URL: http://svn.freebsd.org/changeset/base/216731
Log:
Move vm_object_print()'s prototype to the expected place.
Modified:
head/sys/vm/vm_extern.h
head/sys/vm/vm_object.h
Modified: head/sys/vm/vm_extern.h
Author: alc
Date: Tue Dec 28 20:02:30 2010
New Revision: 216772
URL: http://svn.freebsd.org/changeset/base/216772
Log:
Correct a typo in vm_fault_quick_hold_pages().
Reported by: Bartosz Stec
Modified:
head/sys/vm/vm_fault.c
Modified: head/sys/vm/vm_fault.c
Author: alc
Date: Wed Dec 29 20:35:36 2010
New Revision: 216807
URL: http://svn.freebsd.org/changeset/base/216807
Log:
There is no point in vm_contig_launder{,_page}() flushing held pages,
instead skip over them. As long as a page is held, it can't be reclaimed by
contigmalloc(M_WAITOK).
Author: alc
Date: Sat Jan 1 17:39:38 2011
New Revision: 216874
URL: http://svn.freebsd.org/changeset/base/216874
Log:
Make a couple refinements to r216799 and r216810. In particular, revise
a comment and move it to its proper place.
Reviewed by: kib
Modified:
Author: alc
Date: Sat Jan 8 22:45:22 2011
New Revision: 217171
URL: http://svn.freebsd.org/changeset/base/217171
Log:
Eliminate the counting of vm_page_pa_tryrelock calls. We really don't
need it anymore. Moreover, its implementation had a type mismatch, a
long is not necessarily an
Author: alc
Date: Sun Jan 9 04:34:02 2011
New Revision: 217177
URL: http://svn.freebsd.org/changeset/base/217177
Log:
Eliminate a redundant alignment directive on the page locks array.
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
Author: alc
Date: Sat Aug 25 16:55:38 2012
New Revision: 239681
URL: http://svn.freebsd.org/changeset/base/239681
Log:
Retire PV_TABLE_MOD. When we destroy or write protect a dirty mapping,
we call vm_page_dirty(). Maintaining the PV_TABLE_MOD flag, in addition,
serves no useful purpose.
Author: alc
Date: Fri Aug 31 02:59:44 2012
New Revision: 239934
URL: http://svn.freebsd.org/changeset/base/239934
Log:
Replace all uses of the vm page queues lock by a r/w lock that is private
to this pmap.
Tested by:Ian Lepore
Modified:
head/sys/arm/arm/pmap.c
Modified:
Author: alc
Date: Sat Sep 1 03:46:28 2012
New Revision: 239964
URL: http://svn.freebsd.org/changeset/base/239964
Log:
Introduce a new software PTE flag that indicates whether the mapping is
for a managed page.
Tested by:jchandra
Modified:
head/sys/mips/include/pmap.h
Author: alc
Date: Sun Sep 2 04:39:07 2012
New Revision: 24
URL: http://svn.freebsd.org/changeset/base/24
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/mips/mips/pmap.c
Author: alc
Date: Mon Sep 3 02:32:00 2012
New Revision: 240065
URL: http://svn.freebsd.org/changeset/base/240065
Log:
Correct an error in gxemul_disk_write(). It was issuing the command to
read from rather than write to the emulated disk.
Reviewed by: jmallett
Modified:
Author: alc
Date: Wed Sep 5 06:02:54 2012
New Revision: 240126
URL: http://svn.freebsd.org/changeset/base/240126
Log:
Rename {_,}pmap_unwire_pte_hold() to {_,}pmap_unwire_ptp() and update the
comment describing them. Both the function names and the comment had grown
stale. Quite some
Author: alc
Date: Thu Sep 6 16:26:04 2012
New Revision: 240166
URL: http://svn.freebsd.org/changeset/base/240166
Log:
There is no need to release the pvh global lock around calls to
pmap_get_pv_entry(). In fact, some callers already held it around calls.
(In earlier versions, the same
Author: alc
Date: Fri Sep 7 01:33:25 2012
New Revision: 240181
URL: http://svn.freebsd.org/changeset/base/240181
Log:
Eliminate an unused macro.
Modified:
head/sys/arm/include/pmap.h
Modified: head/sys/arm/include/pmap.h
Author: alc
Date: Fri Sep 7 06:12:28 2012
New Revision: 240185
URL: http://svn.freebsd.org/changeset/base/240185
Log:
Eliminate unnecessary NULL checks.
Modified:
head/sys/mips/mips/pmap.c
Modified: head/sys/mips/mips/pmap.c
Author: alc
Date: Sat Sep 8 17:43:20 2012
New Revision: 240241
URL: http://svn.freebsd.org/changeset/base/240241
Log:
pmap_remove:
Avoid re-walking the page table from the root for every PTE examined.
Tidy up some of pmap_remove()'s helper functions.
pmap_enter:
Set
Author: alc
Date: Mon Sep 10 16:11:29 2012
New Revision: 240317
URL: http://svn.freebsd.org/changeset/base/240317
Log:
Simplify pmap_unmapdev(). Since kmem_free() eventually calls pmap_remove(),
pmap_unmapdev()'s own direct efforts to destroy the page table entries are
redundant, so
Author: alc
Date: Mon Sep 10 16:27:19 2012
New Revision: 240321
URL: http://svn.freebsd.org/changeset/base/240321
Log:
Replace all uses of the vm page queues lock by a r/w lock that is private
to this pmap.
Revise some comments.
The file vm/vm_param.h includes the file
Author: alc
Date: Thu Sep 13 06:16:49 2012
New Revision: 240442
URL: http://svn.freebsd.org/changeset/base/240442
Log:
Simplify the kernel pmap locking in pmap_enter_pv(). While I'm here, tidy
up the comments and whitespace.
Tested by:cognet
Modified:
head/sys/arm/arm/pmap.c
Author: alc
Date: Sat Sep 15 17:32:19 2012
New Revision: 240532
URL: http://svn.freebsd.org/changeset/base/240532
Log:
Eliminate an unused malloc type.
Modified:
head/sys/arm/arm/vm_machdep.c
Modified: head/sys/arm/arm/vm_machdep.c
Author: alc
Date: Sat Sep 22 06:54:03 2012
New Revision: 240803
URL: http://svn.freebsd.org/changeset/base/240803
Log:
Since UMA_ZONE_NOFREE is specified when l2zone and l2table_zone are created,
there is no need to release and reacquire the pmap and pvh global locks
around calls to
Author: alc
Date: Sun Sep 23 17:42:39 2012
New Revision: 240862
URL: http://svn.freebsd.org/changeset/base/240862
Log:
Address a race condition that was introduced in r238212. Unless the page
queues lock is acquired before the page lock is released, there is no
guarantee that the page will
Author: alc
Date: Tue Sep 25 03:59:10 2012
New Revision: 240913
URL: http://svn.freebsd.org/changeset/base/240913
Log:
Eliminate an unused declaration.
Modified:
head/sys/arm/arm/pmap-v6.c
head/sys/arm/arm/pmap.c
Modified: head/sys/arm/arm/pmap-v6.c
Author: alc
Date: Thu Sep 27 05:39:42 2012
New Revision: 240983
URL: http://svn.freebsd.org/changeset/base/240983
Log:
Implementing pmap_kextract(va) as pmap_extract(kernel_pmap, va) is
problematic because some callers to pmap_kextract() expect its
implementation to be lock-less. In
Author: alc
Date: Fri Sep 28 05:30:59 2012
New Revision: 241020
URL: http://svn.freebsd.org/changeset/base/241020
Log:
Eliminate a stale comment. It describes another use case for the pmap in
Mach that doesn't exist in FreeBSD.
Modified:
head/sys/amd64/amd64/pmap.c
Author: alc
Date: Sat Sep 29 08:11:12 2012
New Revision: 241044
URL: http://svn.freebsd.org/changeset/base/241044
Log:
Update a comment to reflect recent locking changes.
Modified:
head/sys/arm/arm/pmap.c
Modified: head/sys/arm/arm/pmap.c
Author: alc
Date: Sat Sep 29 17:20:16 2012
New Revision: 241054
URL: http://svn.freebsd.org/changeset/base/241054
Log:
Add support for mincore(). Specifically, this is an adaptation of the
pmap_mincore() implementation that was added to the original arm pmap
in r235717.
Modified:
Author: alc
Date: Sat Sep 29 19:09:11 2012
New Revision: 241055
URL: http://svn.freebsd.org/changeset/base/241055
Log:
Eliminate unused variables.
Modified:
head/sys/arm/arm/pmap-v6.c
head/sys/arm/arm/pmap.c
Modified: head/sys/arm/arm/pmap-v6.c
Author: alc
Date: Sat Sep 29 22:28:00 2012
New Revision: 241058
URL: http://svn.freebsd.org/changeset/base/241058
Log:
Eliminate an unused declaration.
Modified:
head/sys/arm/include/pmap.h
Modified: head/sys/arm/include/pmap.h
Author: alc
Date: Sun Sep 30 03:54:57 2012
New Revision: 241063
URL: http://svn.freebsd.org/changeset/base/241063
Log:
Stop calling pmap_remove_write() from pmap_remove_all(). Doing so is not
only inefficient but also leads to recursive lock acquisition.
Tested by:ray
Modified:
Author: alc
Date: Tue Oct 2 07:14:22 2012
New Revision: 241123
URL: http://svn.freebsd.org/changeset/base/241123
Log:
Introduce a new TLB invalidation function for efficiently invalidating
address ranges, and use this function in pmap_remove().
Tested by:jchandra
Modified:
Author: alc
Date: Wed Oct 3 05:06:45 2012
New Revision: 241155
URL: http://svn.freebsd.org/changeset/base/241155
Log:
Tidy up a bit:
Update some of the comments. In particular, use sleep in preference to
block where appropriate.
Eliminate some unnecessary casts.
Make a few
Author: alc
Date: Wed Oct 3 05:42:15 2012
New Revision: 241156
URL: http://svn.freebsd.org/changeset/base/241156
Log:
Reimplement pmap_qremove() using the new TLB invalidation function for
efficiently invalidating address ranges.
Modified:
head/sys/mips/mips/pmap.c
Modified:
Author: alc
Date: Fri Oct 5 04:35:20 2012
New Revision: 241217
URL: http://svn.freebsd.org/changeset/base/241217
Log:
Eliminate a stale and a duplicated comment.
Modified:
head/sys/mips/mips/pmap.c
Modified: head/sys/mips/mips/pmap.c
Author: alc
Date: Sat Oct 6 19:05:50 2012
New Revision: 241276
URL: http://svn.freebsd.org/changeset/base/241276
Log:
Correct two pessimizations in pmap_extract_and_hold(). Test the PTE for
having PTE_RO set instead of PTE_D. This avoids some unnecessary failures
by
Author: alc
Date: Sat Oct 6 19:33:52 2012
New Revision: 241287
URL: http://svn.freebsd.org/changeset/base/241287
Log:
In general pmap implementations do not set the wired attribute on
the temporary mappings that are used to implement operations like
pmap_zero_page(). There is no reason
Author: alc
Date: Sun Oct 7 18:07:45 2012
New Revision: 241313
URL: http://svn.freebsd.org/changeset/base/241313
Log:
Optimize the TLB invalidations performed by pmap_protect(). Use the new
range-based invalidation function instead of performing per-page
invalidations. Don't bother
Author: alc
Date: Mon Oct 8 16:57:05 2012
New Revision: 241353
URL: http://svn.freebsd.org/changeset/base/241353
Log:
In a few places, like the implementation of ptrace(), a thread may call
upon pmap_enter() to create a mapping within a different address space,
i.e., not the thread's own
Author: alc
Date: Fri Oct 12 23:26:00 2012
New Revision: 241498
URL: http://svn.freebsd.org/changeset/base/241498
Log:
Replace all uses of the vm page queues lock by a new R/W lock.
Unfortunately, this lock cannot be defined as static under Xen because it
is (ab)used to serialize queued
On 10/13/2012 08:55, Pawel Jakub Dawidek wrote:
On Fri, Oct 12, 2012 at 11:26:00PM +, Alan Cox wrote:
Author: alc
Date: Fri Oct 12 23:26:00 2012
New Revision: 241498
URL: http://svn.freebsd.org/changeset/base/241498
Log:
Replace all uses of the vm page queues lock by a new R/W lock
Author: alc
Date: Sat Oct 13 18:46:46 2012
New Revision: 241512
URL: http://svn.freebsd.org/changeset/base/241512
Log:
Eliminate the conditional for releasing the page queues lock in
vm_page_sleep(). vm_page_sleep() is no longer called with this lock
held.
Eliminate assertions that
Author: alc
Date: Sat Oct 13 20:19:43 2012
New Revision: 241517
URL: http://svn.freebsd.org/changeset/base/241517
Log:
Move vm_page_requeue() to the only file that uses it.
MFC after:3 weeks
Modified:
head/sys/vm/vm_page.c
head/sys/vm/vm_page.h
head/sys/vm/vm_pageout.c
Author: alc
Date: Sun Oct 14 03:40:08 2012
New Revision: 241520
URL: http://svn.freebsd.org/changeset/base/241520
Log:
Correct an error in pmap_pv_reclaim(). It can legitimately encounter
wired mappings. If it does, it should just skip them.
Modified:
head/sys/mips/mips/pmap.c
Modified:
There are couple minor grammar issues in the text. See below.
Alan
On 10/20/2012 07:53, Andre Oppermann wrote:
Author: andre
Date: Sat Oct 20 12:53:14 2012
New Revision: 241781
URL: http://svn.freebsd.org/changeset/base/241781
Log:
Hide the unfortunate named sysctl kern.ipc.somaxconn from
On 10/23/2012 11:05, Gleb Smirnoff wrote:
On Tue, Oct 23, 2012 at 05:05:48PM +0200, Andre Oppermann wrote:
A There shouldn't be any users. Zero copy send is broken and
A responsible for random kernel crashes. Zero copy receive isn't
A supported by any modern driver. Both are useless to
On 10/25/2012 11:23, Andre Oppermann wrote:
On 25.10.2012 05:49, Bruce Evans wrote:
On Wed, 24 Oct 2012, Attilio Rao wrote:
On Wed, Oct 24, 2012 at 8:16 PM, Andre Oppermann an...@freebsd.org
wrote:
...
Let's go back and see how we can do this the sanest way. These are
the options I see at
Author: alc
Date: Fri Oct 26 03:02:39 2012
New Revision: 242121
URL: http://svn.freebsd.org/changeset/base/242121
Log:
Port the new PV entry allocator from amd64/i386. This allocator has two
advantages. First, PV entries are roughly half the size. Second, this
allocator doesn't access
Author: alc
Date: Sat Oct 27 22:43:30 2012
New Revision: 242193
URL: http://svn.freebsd.org/changeset/base/242193
Log:
Eliminate a redundant TLB invalidation from pmap_pv_reclaim().
Modified:
head/sys/mips/mips/pmap.c
Modified: head/sys/mips/mips/pmap.c
Author: alc
Date: Mon Oct 29 06:15:04 2012
New Revision: 242300
URL: http://svn.freebsd.org/changeset/base/242300
Log:
Replace the page hold queue, PQ_HOLD, by a new page flag, PG_UNHOLDFREE,
because the queue itself serves no purpose. When a held page is freed,
inserting the page into the
Author: alc
Date: Thu Nov 1 16:20:02 2012
New Revision: 242434
URL: http://svn.freebsd.org/changeset/base/242434
Log:
In general, we call pmap_remove_all() before calling vm_page_cache(). So,
the call to pmap_remove_all() within vm_page_cache() is usually redundant.
This change eliminates
Kip Macy wrote:
Author: kmacy
Date: Fri Apr 30 21:20:14 2010
New Revision: 207450
URL: http://svn.freebsd.org/changeset/base/207450
Log:
- acquire the page lock in vm_contig_launder_page before checking page fields
- release page queue lock before calling vm_pageout_flush
This change
Author: alc
Date: Sun May 2 01:25:03 2010
New Revision: 207487
URL: http://svn.freebsd.org/changeset/base/207487
Log:
Correct an error of omission in r206819. If VMFS_TLB_ALIGNED_SPACE is
specified to vm_map_find(), then retry the vm_map_findspace() if
vm_map_insert() fails because the
Author: alc
Date: Sun May 2 16:44:06 2010
New Revision: 207519
URL: http://svn.freebsd.org/changeset/base/207519
Log:
This change addresses the race condition that was introduced by the previous
revision, r207450, to this file. Specifically, between dropping the page
queues lock in
Author: alc
Date: Sun May 2 17:33:46 2010
New Revision: 207530
URL: http://svn.freebsd.org/changeset/base/207530
Log:
It makes no sense for vm_page_sleep_if_busy()'s helper, vm_page_sleep(),
to unconditionally set PG_REFERENCED on a page before sleeping. In many
cases, it's perfectly ok
Author: alc
Date: Sun May 2 18:09:33 2010
New Revision: 207531
URL: http://svn.freebsd.org/changeset/base/207531
Log:
Correct an error in r207410: Remove an unlock of a lock that is no longer
held.
Modified:
head/sys/vm/vm_object.c
Modified: head/sys/vm/vm_object.c
Author: alc
Date: Sun May 2 20:46:17 2010
New Revision: 207540
URL: http://svn.freebsd.org/changeset/base/207540
Log:
Defer the acquisition of the page and page queues locks in
vm_pageout_object_deactivate_pages().
Modified:
head/sys/vm/vm_pageout.c
Modified: head/sys/vm/vm_pageout.c
Author: alc
Date: Sun May 2 21:04:59 2010
New Revision: 207541
URL: http://svn.freebsd.org/changeset/base/207541
Log:
Eliminate an assignment that was made redundant by r207410.
Modified:
head/sys/vm/vm_pageout.c
Modified: head/sys/vm/vm_pageout.c
Author: alc
Date: Sun May 2 23:33:10 2010
New Revision: 207544
URL: http://svn.freebsd.org/changeset/base/207544
Log:
Add page lock assertions where we access the page's hold_count.
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
Author: alc
Date: Mon May 3 05:41:50 2010
New Revision: 207548
URL: http://svn.freebsd.org/changeset/base/207548
Log:
This is the first step in transitioning responsibility for synchronizing
access to the page's wire_count from the page queues lock to the page lock.
Submitted by: kmacy
Author: alc
Date: Mon May 3 07:08:16 2010
New Revision: 207552
URL: http://svn.freebsd.org/changeset/base/207552
Log:
The pages allocated by kmem_alloc_attr() and kmem_malloc() are unmanaged.
Consequently, neither the page lock nor the page queues lock is needed to
unwire and free them.
Author: alc
Date: Mon May 3 16:55:50 2010
New Revision: 207574
URL: http://svn.freebsd.org/changeset/base/207574
Log:
Acquire the page lock around vm_page_unwire(). For consistency, extend the
scope of the object lock in agp_i810.c. (In this specific case, the scope
of the object lock
Author: alc
Date: Mon May 3 17:55:32 2010
New Revision: 207577
URL: http://svn.freebsd.org/changeset/base/207577
Log:
Acquire the page lock around vm_page_wire() in vm_page_grab().
Assert that the page lock is held in vm_page_wire().
Modified:
head/sys/vm/vm_page.c
Modified:
Author: alc
Date: Tue May 4 05:55:19 2010
New Revision: 207601
URL: http://svn.freebsd.org/changeset/base/207601
Log:
Add lock assertions.
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
==
---
Author: alc
Date: Tue May 4 15:55:41 2010
New Revision: 207617
URL: http://svn.freebsd.org/changeset/base/207617
Log:
Add page locking to the vm_page_cow* functions.
Push down the acquisition and release of the page queues lock into
vm_page_wire().
Reviewed by: kib
Modified:
Author: alc
Date: Wed May 5 03:45:46 2010
New Revision: 207644
URL: http://svn.freebsd.org/changeset/base/207644
Log:
Push down the acquisition of the page queues lock into vm_page_unwire().
Update the comment describing which lock should be held on entry to
vm_page_wire().
Author: alc
Date: Wed May 5 07:40:54 2010
New Revision: 207648
URL: http://svn.freebsd.org/changeset/base/207648
Log:
Push down the acquisition of the page queues lock into vm_page_unwire().
Modified:
head/sys/dev/drm/via_dmablit.c
Modified: head/sys/dev/drm/via_dmablit.c
Author: alc
Date: Wed May 5 07:47:40 2010
New Revision: 207649
URL: http://svn.freebsd.org/changeset/base/207649
Log:
Use an OBJT_PHYS object and thus PG_UNMANAGED pages to implement the TSB.
The TSB is not a pageable structure, so there is no point in using managed
pages.
Reviewed
Author: alc
Date: Wed May 5 18:16:06 2010
New Revision: 207669
URL: http://svn.freebsd.org/changeset/base/207669
Log:
Acquire the page lock around all remaining calls to vm_page_free() on
managed pages that didn't already have that lock held. (Freeing an
unmanaged page, such as the
Author: alc
Date: Thu May 6 04:23:52 2010
New Revision: 207692
URL: http://svn.freebsd.org/changeset/base/207692
Log:
Eliminate dead code.
Modified:
head/sys/mips/include/pmap.h
head/sys/mips/mips/pmap.c
Modified: head/sys/mips/include/pmap.h
Author: alc
Date: Thu May 6 15:52:08 2010
New Revision: 207700
URL: http://svn.freebsd.org/changeset/base/207700
Log:
Eliminate a small bit of unneeded code from kern_sendfile(): While
kern_sendfile() is running, the file's vm object can't be destroyed
because kern_sendfile() increments
Author: alc
Date: Thu May 6 16:39:43 2010
New Revision: 207702
URL: http://svn.freebsd.org/changeset/base/207702
Log:
Push down the page queues lock inside of vm_page_free_toq() and
pmap_page_is_mapped() in preparation for removing page queues locking
around calls to vm_page_free().
Author: alc
Date: Thu May 6 17:28:59 2010
New Revision: 207706
URL: http://svn.freebsd.org/changeset/base/207706
Log:
Update a comment to say that access to a page's wire count is now
synchronized by the page lock.
Modified:
head/sys/vm/vm_page.h
Modified: head/sys/vm/vm_page.h
Author: alc
Date: Thu May 6 17:43:41 2010
New Revision: 207708
URL: http://svn.freebsd.org/changeset/base/207708
Log:
Remove page queues locking from all sf_buf_mext()-like functions. The page
lock now suffices.
Fix a couple nearby style violations.
Modified:
Author: alc
Date: Thu May 6 18:58:32 2010
New Revision: 207728
URL: http://svn.freebsd.org/changeset/base/207728
Log:
Eliminate page queues locking around most calls to vm_page_free().
Modified:
head/sys/fs/nfsclient/nfs_clbio.c
head/sys/fs/nwfs/nwfs_io.c
head/sys/fs/smbfs/smbfs_io.c
Author: alc
Date: Fri May 7 05:23:15 2010
New Revision: 207739
URL: http://svn.freebsd.org/changeset/base/207739
Log:
Eliminate acquisitions of the page queues lock that are no longer needed.
Switch to a per-processor counter for the number of pages freed during
process termination.
Author: alc
Date: Fri May 7 06:58:53 2010
New Revision: 207740
URL: http://svn.freebsd.org/changeset/base/207740
Log:
Update the synchronization requirements for the page usage count.
Modified:
head/sys/vm/vm_page.h
Modified: head/sys/vm/vm_page.h
1 - 100 of 846 matches
Mail list logo