summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2006-10-23 05:27:31 +0000
committeralc <alc@FreeBSD.org>2006-10-23 05:27:31 +0000
commitf395a2d02c323a280083ffe5ec6a052fc677a05a (patch)
treeef9c8bfa271c7c27431c20447a1187718f17fbb9 /sys/vm
parentd95f4fb5ef094a3b930eead8b2609574837257a3 (diff)
downloadFreeBSD-src-f395a2d02c323a280083ffe5ec6a052fc677a05a.zip
FreeBSD-src-f395a2d02c323a280083ffe5ec6a052fc677a05a.tar.gz
The page queues lock is no longer required by vm_page_wakeup().
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/swap_pager.c4
-rw-r--r--sys/vm/vm_fault.c6
-rw-r--r--sys/vm/vm_glue.c4
-rw-r--r--sys/vm/vm_kern.c2
4 files changed, 8 insertions, 8 deletions
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
index ce775f8..85ea18e 100644
--- a/sys/vm/swap_pager.c
+++ b/sys/vm/swap_pager.c
@@ -1594,8 +1594,8 @@ swp_pager_force_pagein(vm_object_t object, vm_pindex_t pindex)
vm_page_lock_queues();
vm_page_activate(m);
vm_page_dirty(m);
- vm_page_wakeup(m);
vm_page_unlock_queues();
+ vm_page_wakeup(m);
vm_pager_page_unswapped(m);
return;
}
@@ -1606,8 +1606,8 @@ swp_pager_force_pagein(vm_object_t object, vm_pindex_t pindex)
vm_page_lock_queues();
vm_page_dirty(m);
vm_page_dontneed(m);
- vm_page_wakeup(m);
vm_page_unlock_queues();
+ vm_page_wakeup(m);
vm_pager_page_unswapped(m);
}
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 210c5bc..d62f3c7 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -133,8 +133,8 @@ struct faultstate {
static inline void
release_page(struct faultstate *fs)
{
- vm_page_lock_queues();
vm_page_wakeup(fs->m);
+ vm_page_lock_queues();
vm_page_deactivate(fs->m);
vm_page_unlock_queues();
fs->m = NULL;
@@ -914,8 +914,8 @@ readrest:
} else {
vm_page_activate(fs.m);
}
- vm_page_wakeup(fs.m);
vm_page_unlock_queues();
+ vm_page_wakeup(fs.m);
/*
* Unlock everything, and return
@@ -1198,8 +1198,8 @@ vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry)
* Mark it no longer busy, and put it on the active list.
*/
vm_page_activate(dst_m);
- vm_page_wakeup(dst_m);
vm_page_unlock_queues();
+ vm_page_wakeup(dst_m);
}
VM_OBJECT_UNLOCK(dst_object);
}
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c
index 62894cb..2f90acf 100644
--- a/sys/vm/vm_glue.c
+++ b/sys/vm/vm_glue.c
@@ -272,8 +272,8 @@ vm_imgact_hold_page(vm_object_t object, vm_ooffset_t offset)
}
vm_page_lock_queues();
vm_page_hold(m);
- vm_page_wakeup(m);
vm_page_unlock_queues();
+ vm_page_wakeup(m);
out:
VM_OBJECT_UNLOCK(object);
return (m);
@@ -456,8 +456,8 @@ vm_thread_swapin(struct thread *td)
ma[i] = m;
vm_page_lock_queues();
vm_page_wire(m);
- vm_page_wakeup(m);
vm_page_unlock_queues();
+ vm_page_wakeup(m);
}
VM_OBJECT_UNLOCK(ksobj);
pmap_qenter(td->td_kstack, ma, pages);
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c
index 86d1f12..c91dc48 100644
--- a/sys/vm/vm_kern.c
+++ b/sys/vm/vm_kern.c
@@ -403,8 +403,8 @@ retry:
pmap_enter(kernel_pmap, addr + i, m, VM_PROT_ALL, 1);
vm_page_lock_queues();
vm_page_flag_set(m, PG_WRITEABLE | PG_REFERENCED);
- vm_page_wakeup(m);
vm_page_unlock_queues();
+ vm_page_wakeup(m);
}
VM_OBJECT_UNLOCK(kmem_object);
vm_map_unlock(map);
OpenPOWER on IntegriCloud