svn commit: r250794 - user/attilio/vmobj-readlock/sys/vm
Attilio Rao
attilio at FreeBSD.org
Sun May 19 00:04:25 UTC 2013
Author: attilio
Date: Sun May 19 00:04:24 2013
New Revision: 250794
URL: http://svnweb.freebsd.org/changeset/base/250794
Log:
Revert previous patch and do what r250793 asks.
Sponsored by: EMC / Isilon storage division
Modified:
user/attilio/vmobj-readlock/sys/vm/swap_pager.c
Modified: user/attilio/vmobj-readlock/sys/vm/swap_pager.c
==============================================================================
--- user/attilio/vmobj-readlock/sys/vm/swap_pager.c Sat May 18 23:49:45 2013 (r250793)
+++ user/attilio/vmobj-readlock/sys/vm/swap_pager.c Sun May 19 00:04:24 2013 (r250794)
@@ -128,21 +128,6 @@ __FBSDID("$FreeBSD$");
#endif
/*
- * Per-object swp_bcount must be protected by a write lock on the object
- * itself or a read lock in combination with swhash_mtx held at the same time.
- */
-#ifdef INVARIANTS
-#define VM_OBJECT_BCOUNT_ASSERT_LOCKED(object) do { \
- if (mtx_owned(&swhash_mtx)) \
- VM_OBJECT_ASSERT_LOCKED(object); \
- else \
- VM_OBJECT_ASSERT_WLOCKED(object); \
-} while (0)
-#else
-#define VM_OBJECT_BCOUNT_ASSERT_LOCKED(object)
-#endif
-
-/*
* The swblock structure maps an object and a small, fixed-size range
* of page indices to disk addresses within a swap area.
* The collection of these mappings is implemented as a hash table.
@@ -842,7 +827,6 @@ void
swap_pager_freespace(vm_object_t object, vm_pindex_t start, vm_size_t size)
{
- VM_OBJECT_BCOUNT_ASSERT_LOCKED(object);
swp_pager_meta_free(object, start, size);
}
@@ -1014,7 +998,7 @@ swap_pager_haspage(vm_object_t object, v
{
daddr_t blk0;
- VM_OBJECT_BCOUNT_ASSERT_LOCKED(object)
+ VM_OBJECT_ASSERT_LOCKED(object);
/*
* do we have good backing store at the requested index ?
*/
@@ -1085,7 +1069,6 @@ static void
swap_pager_unswapped(vm_page_t m)
{
- VM_OBJECT_BCOUNT_ASSERT_LOCKED(m->object);
swp_pager_meta_ctl(m->object, m->pindex, SWM_FREE);
}
@@ -1939,7 +1922,7 @@ static void
swp_pager_meta_free(vm_object_t object, vm_pindex_t index, daddr_t count)
{
- VM_OBJECT_BCOUNT_ASSERT_LOCKED(object);
+ VM_OBJECT_ASSERT_LOCKED(object);
if (object->type != OBJT_SWAP)
return;
@@ -1985,7 +1968,7 @@ swp_pager_meta_free_all(vm_object_t obje
{
daddr_t index = 0;
- VM_OBJECT_BCOUNT_ASSERT_LOCKED(object);
+ VM_OBJECT_ASSERT_WLOCKED(object);
if (object->type != OBJT_SWAP)
return;
@@ -2044,7 +2027,7 @@ swp_pager_meta_ctl(vm_object_t object, v
daddr_t r1;
int idx;
- VM_OBJECT_BCOUNT_ASSERT_LOCKED(object);
+ VM_OBJECT_ASSERT_LOCKED(object);
/*
* The meta data only exists of the object is OBJT_SWAP
* and even then might not be allocated yet.
More information about the svn-src-user
mailing list