Andrew Morton wrote:..On Thu, 13 Dec 2007 19:30:00 -0500..
Mark Lord <liml@xxxxxx> wrote:
Here's the commit that causes the regression:
...
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -760,7 +760,8 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order,
struct page *page = __rmqueue(zone, order, migratetype);
if (unlikely(page == NULL))
break;
- list_add_tail(&page->lru, list);
+ list_add(&page->lru, list);
well that looks fishy.
Yeah. I missed that, and instead just posted a patch
to search the list in reverse order, which seems to work for me.
I'll try just reversing that line above here now.. gimme 5 minutes or so.