summaryrefslogtreecommitdiff
path: root/viengoos/pager.c
diff options
context:
space:
mode:
authorNeal H. Walfield <neal@gnu.org>2008-11-14 16:28:25 +0100
committerNeal H. Walfield <neal@gnu.org>2008-11-14 16:28:25 +0100
commit76aef5f875b3fe14753644508219eded6fc12cd8 (patch)
tree36fddac2fe26a7bc6b65d67caacbc5836a64c93e /viengoos/pager.c
parent2c85c0091c179b7eda3147892285d2530aa0a813 (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.c11
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))