Re: [PATCH 29/40] autonuma: retain page last_nid information in khugepaged

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/28/2012 08:56 AM, Andrea Arcangeli wrote:
When pages are collapsed try to keep the last_nid information from one
of the original pages.

Signed-off-by: Andrea Arcangeli<aarcange@xxxxxxxxxx>
---
  mm/huge_memory.c |   11 +++++++++++
  1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index 094f82b..ae20409 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -1814,7 +1814,18 @@ static bool __collapse_huge_page_copy(pte_t *pte, struct page *page,
  			clear_user_highpage(page, address);
  			add_mm_counter(vma->vm_mm, MM_ANONPAGES, 1);
  		} else {
+#ifdef CONFIG_AUTONUMA
+			int autonuma_last_nid;
+#endif
  			src_page = pte_page(pteval);
+#ifdef CONFIG_AUTONUMA
+			/* pick the last one, better than nothing */
+			autonuma_last_nid =
+				ACCESS_ONCE(src_page->autonuma_last_nid);
+			if (autonuma_last_nid>= 0)
+				ACCESS_ONCE(page->autonuma_last_nid) =
+					autonuma_last_nid;
+#endif
  			copy_user_highpage(page, src_page, address, vma);
  			VM_BUG_ON(page_mapcount(src_page) != 1);
  			VM_BUG_ON(page_count(src_page) != 2);

Can you remember the node ID inside the loop, but do the
assignment just once after the loop has exited?

It seems excessive to make the assignment up to 512 times.

--
All rights reversed

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]