diff options
author | Shaohua Li <shaohua.li@intel.com> | 2012-01-12 17:19:18 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-12 20:13:08 -0800 |
commit | 45676885b76237a4c236d26fe20a9b0cfdb2eb22 (patch) | |
tree | e1a5222c4c7b439cb6a27ace0e36e0280f8b7870 /mm/swap.c | |
parent | f21760b15dcd091e5afd38d0b97197b45f7ef2ea (diff) | |
download | op-kernel-dev-45676885b76237a4c236d26fe20a9b0cfdb2eb22.zip op-kernel-dev-45676885b76237a4c236d26fe20a9b0cfdb2eb22.tar.gz |
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.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -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 { |