| From | Mel Gorman <> | Subject | [PATCH 31/35] Optimistically check the first page on the PCP free list is suitable | Date | Mon, 16 Mar 2009 09:46:26 +0000 |
| |
The PCP lists are searched for a page of the suitable order. However, the majority of pages are still expected to be order-0 pages and the setup for the search is a bit expensive. This patch optimistically checks if the first page is suitable for use in the hot-page allocation path.
Signed-off-by: Mel Gorman <mel@csn.ul.ie> --- mm/page_alloc.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index bb5bd5e..8568284 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1212,6 +1212,12 @@ again: if (pcp_page_suit(page, order)) break; } else { + /* Optimistic before we start a list search */ + page = list_entry(list->next, struct page, lru); + if (pcp_page_suit(page, order)) + goto found; + + /* Do the search */ list_for_each_entry(page, list, lru) if (pcp_page_suit(page, order)) break; -- 1.5.6.5
|