the last commit changed LIST_INSERT_HEAD to TAILQ_INSERT_TAIL cos the
authordlg <dlg@openbsd.org>
Fri, 19 Dec 2014 02:46:47 +0000 (02:46 +0000)
committerdlg <dlg@openbsd.org>
Fri, 19 Dec 2014 02:46:47 +0000 (02:46 +0000)
latter is cheaper, but i forgot to change the thing that pulls pages off
those lists to match the change in direction. the page lists went from LIFO
to FIFO.

this changes pool_update_curpage to use TAILQ_LAST so we go back to LIFO.

pointed out by and ok tedu@

sys/kern/subr_pool.c

index 9b51c93..1cedfa6 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: subr_pool.c,v 1.170 2014/12/19 02:15:25 dlg Exp $     */
+/*     $OpenBSD: subr_pool.c,v 1.171 2014/12/19 02:46:47 dlg Exp $     */
 /*     $NetBSD: subr_pool.c,v 1.61 2001/09/26 07:14:56 chs Exp $       */
 
 /*-
@@ -851,9 +851,9 @@ pool_p_remove(struct pool *pp, struct pool_item_header *ph)
 void
 pool_update_curpage(struct pool *pp)
 {
-       pp->pr_curpage = TAILQ_FIRST(&pp->pr_partpages);
+       pp->pr_curpage = TAILQ_LAST(&pp->pr_partpages, pool_pagelist);
        if (pp->pr_curpage == NULL) {
-               pp->pr_curpage = TAILQ_FIRST(&pp->pr_emptypages);
+               pp->pr_curpage = TAILQ_LAST(&pp->pr_emptypages, pool_pagelist);
        }
 }