On Thu, 13 Dec 2007 19:40:09 -0500
Mark Lord <[EMAIL PROTECTED]> wrote:

> And here is a patch that seems to fix it for me here:
> 
> * * * *
> 
> Fix page allocator to give better change of larger contiguous segments 
> (again).
> 
> Signed-off-by: Mark Lord <[EMAIL PROTECTED]
> ---
> 
> 
> --- old/mm/page_alloc.c.orig  2007-12-13 19:25:15.000000000 -0500
> +++ linux-2.6/mm/page_alloc.c 2007-12-13 19:35:50.000000000 -0500
> @@ -954,7 +954,7 @@
>                               goto failed;
>               }
>               /* Find a page of the appropriate migrate type */
> -             list_for_each_entry(page, &pcp->list, lru) {
> +             list_for_each_entry_reverse(page, &pcp->list, lru) {
>                       if (page_private(page) == migratetype) {
>                               list_del(&page->lru);
>                               pcp->count--;

- needs help to make it apply to mainline

- needs a comment, methinks...


--- 
a/mm/page_alloc.c~fix-page-allocator-to-give-better-chance-of-larger-contiguous-segments-again
+++ a/mm/page_alloc.c
@@ -1060,8 +1060,12 @@ again:
                                goto failed;
                }
 
-               /* Find a page of the appropriate migrate type */
-               list_for_each_entry(page, &pcp->list, lru)
+               /*
+                * Find a page of the appropriate migrate type.  Doing a
+                * reverse-order search here helps us to hand out pages in
+                * ascending physical-address order.
+                */
+               list_for_each_entry_reverse(page, &pcp->list, lru)
                        if (page_private(page) == migratetype)
                                break;
 
_

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to