summaryrefslogtreecommitdiffstats
path: root/mm/swap.c
diff options
context:
space:
mode:
authorShaohua Li <shaohua.li@intel.com>2012-01-12 17:19:18 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-12 20:13:08 -0800
commit45676885b76237a4c236d26fe20a9b0cfdb2eb22 (patch)
treee1a5222c4c7b439cb6a27ace0e36e0280f8b7870 /mm/swap.c
parentf21760b15dcd091e5afd38d0b97197b45f7ef2ea (diff)
downloadlinux-stable-45676885b76237a4c236d26fe20a9b0cfdb2eb22.tar.gz
linux-stable-45676885b76237a4c236d26fe20a9b0cfdb2eb22.tar.bz2
linux-stable-45676885b76237a4c236d26fe20a9b0cfdb2eb22.zip
thp: improve order in lru list for split huge page
Put the tail subpages of an isolated hugepage under splitting in the lru reclaim head as they supposedly should be isolated too next. Queues the subpages in physical order in the lru for non isolated hugepages under splitting. That might provide some theoretical cache benefit to the buddy allocator later. Signed-off-by: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Cc: David Rientjes <rientjes@google.com> Cc: Johannes Weiner <jweiner@redhat.com> Cc: Minchan Kim <minchan.kim@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/swap.c')
-rw-r--r--mm/swap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/swap.c b/mm/swap.c
index 126da2919f60..ddccf8e0b4ae 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -681,7 +681,7 @@ void lru_add_page_tail(struct zone* zone,
if (likely(PageLRU(page)))
list_add(&page_tail->lru, page->lru.prev);
else
- list_add(&page_tail->lru, &lruvec->lists[lru]);
+ list_add(&page_tail->lru, lruvec->lists[lru].prev);
__mod_zone_page_state(zone, NR_LRU_BASE + lru,
hpage_nr_pages(page_tail));
} else {