2011-05-06 15:02:04

by Figo.zhang

[permalink] [raw]
Subject: [PATCH]mm/page_alloc.c: no need del from lru


split_free_page() the page is still free page, it is no need del from lru.

Signed-off-by: Figo.zhang <[email protected]>
---
mm/page_alloc.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 9f8a97b..55d8810 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1261,7 +1261,6 @@ int split_free_page(struct page *page)
return 0;

/* Remove page from free list */
- list_del(&page->lru);
zone->free_area[order].nr_free--;
rmv_page_order(page);
__mod_zone_page_state(zone, NR_FREE_PAGES, -(1UL << order));


2011-05-06 18:07:55

by Andrea Arcangeli

[permalink] [raw]
Subject: Re: [PATCH]mm/page_alloc.c: no need del from lru

Hello,

On Fri, May 06, 2011 at 11:01:21PM +0800, Figo.zhang wrote:
>
> split_free_page() the page is still free page, it is no need del from lru.

This is in the buddy freelist, see the other list_add in
page_alloc.c. It's not the lru as in release_pages. I see little
chance that if this was wrong it could go unnoticed so long without
major mm corruption reported. Removing it also should result in heavy
mm corruption.

Thanks,
Andrea