diff options
author | Neal H. Walfield <neal@gnu.org> | 2008-11-14 16:28:25 +0100 |
---|---|---|
committer | Neal H. Walfield <neal@gnu.org> | 2008-11-14 16:28:25 +0100 |
commit | 76aef5f875b3fe14753644508219eded6fc12cd8 (patch) | |
tree | 36fddac2fe26a7bc6b65d67caacbc5836a64c93e /viengoos/pager.c | |
parent | 2c85c0091c179b7eda3147892285d2530aa0a813 (diff) |
When dequeuing pages, use list_dequeue instead of list_unlink.
2008-11-14 Neal H. Walfield <neal@gnu.org>
* pager.c (reclaim_from): Use list_dequeue instead of list_unlink.
Diffstat (limited to 'viengoos/pager.c')
-rw-r--r-- | viengoos/pager.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/viengoos/pager.c b/viengoos/pager.c index 68a146a..245ff33 100644 --- a/viengoos/pager.c +++ b/viengoos/pager.c @@ -103,7 +103,7 @@ reclaim_from (struct activity *victim, int goal) struct object_desc *desc; while (count < goal - && (desc = activity_list_head (&victim->frames[i].inactive))) + && (desc = activity_list_dequeue (&victim->frames[i].inactive))) { assert (! desc->eviction_candidate); assert (! list_node_attached (&desc->available_node)); @@ -111,8 +111,6 @@ reclaim_from (struct activity *victim, int goal) "%d != %d", i, desc->policy.priority); - activity_list_unlink (&victim->frames[i].inactive, desc); - object_desc_flush (desc, false); if (desc->dirty && ! desc->policy.discardable) { @@ -125,9 +123,8 @@ reclaim_from (struct activity *victim, int goal) { is_clean (desc); - eviction_list_enqueue (&victim->eviction_clean, desc); - available_list_enqueue (&available, desc); + eviction_list_enqueue (&victim->eviction_clean, desc); if (desc->policy.discardable) discarded ++; @@ -146,7 +143,7 @@ reclaim_from (struct activity *victim, int goal) /* Currently we evict in LIFO order. We should do a semi-sort and then evict accordingly. */ while (count < goal - && (desc = activity_list_head (&victim->frames[i].active))) + && (desc = activity_list_dequeue (&victim->frames[i].active))) { assert (! desc->eviction_candidate); assertx (i == desc->policy.priority, @@ -157,8 +154,6 @@ reclaim_from (struct activity *victim, int goal) desc->eviction_candidate = true; - activity_list_unlink (&victim->frames[i].active, desc); - if (desc->dirty && ! desc->policy.discardable) { if (! list_node_attached (&desc->laundry_node)) |