From: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> To: linux-mm@kvack.org Cc: Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mel@csn.ul.ie>, Hugh Dickins <hughd@google.com>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Andi Kleen <andi@firstfloor.org>, Hillf Danton <dhillf@gmail.com>, Michal Hocko <mhocko@suse.cz>, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/10] extend hugepage migration Date: Fri, 22 Mar 2013 16:23:45 -0400 [thread overview] Message-ID: <1363983835-20184-1-git-send-email-n-horiguchi@ah.jp.nec.com> (raw) Hi, Here is the 2nd version of hugepage migration patchset. I rebased it onto v3.9-rc3 and merged all feedbacks from Hillf, Michal and Kosaki-san unless I missed something. Thank you guys. I hope that we move onto 2nd iteration of the review process, please let me know if you have something to discuss. Thanks, Naoya Horiguchi --- General Description (exactly same with previous post) --- Hugepage migration is now available only for soft offlining (moving data on the half corrupted page to another page to save the data). But it's also useful some other users of page migration, so this patchset tries to extend some of such users to support hugepage. The targets of this patchset are NUMA related system calls (i.e. migrate_pages(2), move_pages(2), and mbind(2)), and memory hotplug. This patchset does not extend page migration in memory compaction, because I think that users of memory compaction mainly expect to construct thp by arranging raw pages but hugepage migration doesn't help it. CMA, another user of page migration, can have benefit from hugepage migration, but is not enabled to support it now. This is because I've never used CMA and need to learn more to extend and/or test hugepage migration in CMA. I'll add this in later version if it becomes ready, or will post as a separate patchset. Hugepage migration of 1GB hugepage is not enabled for now, because I'm not sure whether users of 1GB hugepage really want it. We need to spare free hugepage in order to do migration, but I don't think that users want to 1GB memory to idle for that purpose (currently we can't expand/shrink 1GB hugepage pool after boot). --- Easy patch access: git://github.com/Naoya-Horiguchi/linux.git extend_hugepage_migration_v2 Test code: git://github.com/Naoya-Horiguchi/test_hugepage_migration_extension.git Naoya Horiguchi (10): migrate: add migrate_entry_wait_huge() migrate: make core migration code aware of hugepage soft-offline: use migrate_pages() instead of migrate_huge_page() migrate: clean up migrate_huge_page() migrate: add hugepage migration code to migrate_pages() migrate: add hugepage migration code to move_pages() mbind: add hugepage migration code to mbind() migrate: remove VM_HUGETLB from vma flag check in vma_migratable() memory-hotplug: enable memory hotplug to handle hugepage prepare to remove /proc/sys/vm/hugepages_treat_as_movable Documentation/sysctl/vm.txt | 13 +----- include/linux/hugetlb.h | 15 ++++++ include/linux/mempolicy.h | 2 +- include/linux/migrate.h | 11 +++-- include/linux/swapops.h | 4 ++ mm/hugetlb.c | 110 ++++++++++++++++++++++++++++++++++++++------ mm/memory-failure.c | 15 ++++-- mm/memory.c | 6 ++- mm/memory_hotplug.c | 42 +++++++++++++---- mm/mempolicy.c | 56 ++++++++++++++-------- mm/migrate.c | 100 ++++++++++++++++++++++++++-------------- mm/page_alloc.c | 12 +++++ mm/page_isolation.c | 5 ++ 13 files changed, 293 insertions(+), 98 deletions(-)
WARNING: multiple messages have this Message-ID (diff)
From: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> To: linux-mm@kvack.org Cc: Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mel@csn.ul.ie>, Hugh Dickins <hughd@google.com>, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>, Andi Kleen <andi@firstfloor.org>, Hillf Danton <dhillf@gmail.com>, Michal Hocko <mhocko@suse.cz>, linux-kernel@vger.kernel.org Subject: [PATCH v2 0/10] extend hugepage migration Date: Fri, 22 Mar 2013 16:23:45 -0400 [thread overview] Message-ID: <1363983835-20184-1-git-send-email-n-horiguchi@ah.jp.nec.com> (raw) Hi, Here is the 2nd version of hugepage migration patchset. I rebased it onto v3.9-rc3 and merged all feedbacks from Hillf, Michal and Kosaki-san unless I missed something. Thank you guys. I hope that we move onto 2nd iteration of the review process, please let me know if you have something to discuss. Thanks, Naoya Horiguchi --- General Description (exactly same with previous post) --- Hugepage migration is now available only for soft offlining (moving data on the half corrupted page to another page to save the data). But it's also useful some other users of page migration, so this patchset tries to extend some of such users to support hugepage. The targets of this patchset are NUMA related system calls (i.e. migrate_pages(2), move_pages(2), and mbind(2)), and memory hotplug. This patchset does not extend page migration in memory compaction, because I think that users of memory compaction mainly expect to construct thp by arranging raw pages but hugepage migration doesn't help it. CMA, another user of page migration, can have benefit from hugepage migration, but is not enabled to support it now. This is because I've never used CMA and need to learn more to extend and/or test hugepage migration in CMA. I'll add this in later version if it becomes ready, or will post as a separate patchset. Hugepage migration of 1GB hugepage is not enabled for now, because I'm not sure whether users of 1GB hugepage really want it. We need to spare free hugepage in order to do migration, but I don't think that users want to 1GB memory to idle for that purpose (currently we can't expand/shrink 1GB hugepage pool after boot). --- Easy patch access: git://github.com/Naoya-Horiguchi/linux.git extend_hugepage_migration_v2 Test code: git://github.com/Naoya-Horiguchi/test_hugepage_migration_extension.git Naoya Horiguchi (10): migrate: add migrate_entry_wait_huge() migrate: make core migration code aware of hugepage soft-offline: use migrate_pages() instead of migrate_huge_page() migrate: clean up migrate_huge_page() migrate: add hugepage migration code to migrate_pages() migrate: add hugepage migration code to move_pages() mbind: add hugepage migration code to mbind() migrate: remove VM_HUGETLB from vma flag check in vma_migratable() memory-hotplug: enable memory hotplug to handle hugepage prepare to remove /proc/sys/vm/hugepages_treat_as_movable Documentation/sysctl/vm.txt | 13 +----- include/linux/hugetlb.h | 15 ++++++ include/linux/mempolicy.h | 2 +- include/linux/migrate.h | 11 +++-- include/linux/swapops.h | 4 ++ mm/hugetlb.c | 110 ++++++++++++++++++++++++++++++++++++++------ mm/memory-failure.c | 15 ++++-- mm/memory.c | 6 ++- mm/memory_hotplug.c | 42 +++++++++++++---- mm/mempolicy.c | 56 ++++++++++++++-------- mm/migrate.c | 100 ++++++++++++++++++++++++++-------------- mm/page_alloc.c | 12 +++++ mm/page_isolation.c | 5 ++ 13 files changed, 293 insertions(+), 98 deletions(-) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next reply other threads:[~2013-03-22 20:25 UTC|newest] Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-03-22 20:23 Naoya Horiguchi [this message] 2013-03-22 20:23 ` [PATCH v2 0/10] extend hugepage migration Naoya Horiguchi 2013-03-22 20:23 ` [PATCH 01/10] migrate: add migrate_entry_wait_huge() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-23 15:55 ` Rik van Riel 2013-03-23 15:55 ` Rik van Riel 2013-03-25 10:13 ` Michal Hocko 2013-03-25 10:13 ` Michal Hocko 2013-03-26 4:25 ` Naoya Horiguchi 2013-03-26 4:25 ` Naoya Horiguchi 2013-04-05 20:33 ` KOSAKI Motohiro 2013-04-05 20:33 ` KOSAKI Motohiro 2013-04-08 20:00 ` Naoya Horiguchi 2013-04-08 20:00 ` Naoya Horiguchi 2013-04-05 20:33 ` KOSAKI Motohiro 2013-04-05 20:33 ` KOSAKI Motohiro 2013-03-22 20:23 ` [PATCH 02/10] migrate: make core migration code aware of hugepage Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 10:57 ` Michal Hocko 2013-03-25 10:57 ` Michal Hocko 2013-03-26 4:33 ` Naoya Horiguchi 2013-03-26 4:33 ` Naoya Horiguchi 2013-03-26 8:49 ` Michal Hocko 2013-03-26 8:49 ` Michal Hocko 2013-04-05 20:41 ` KOSAKI Motohiro 2013-04-05 20:41 ` KOSAKI Motohiro 2013-03-22 20:23 ` [PATCH 03/10] soft-offline: use migrate_pages() instead of migrate_huge_page() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 12:31 ` Michal Hocko 2013-03-25 12:31 ` Michal Hocko 2013-03-26 4:34 ` Naoya Horiguchi 2013-03-26 4:34 ` Naoya Horiguchi 2013-03-26 9:49 ` Michal Hocko 2013-03-26 9:49 ` Michal Hocko 2013-03-26 20:35 ` Naoya Horiguchi 2013-03-26 20:35 ` Naoya Horiguchi 2013-03-27 13:00 ` Michal Hocko 2013-03-27 13:00 ` Michal Hocko 2013-04-05 21:11 ` KOSAKI Motohiro 2013-04-05 21:11 ` KOSAKI Motohiro 2013-03-26 11:29 ` Aneesh Kumar K.V 2013-03-26 11:29 ` Aneesh Kumar K.V 2013-03-27 13:52 ` Michal Hocko 2013-03-27 13:52 ` Michal Hocko 2013-03-27 19:19 ` Naoya Horiguchi 2013-03-27 19:19 ` Naoya Horiguchi 2013-03-28 8:53 ` Michal Hocko 2013-03-28 8:53 ` Michal Hocko 2013-03-29 5:26 ` Aneesh Kumar K.V 2013-03-29 5:26 ` Aneesh Kumar K.V 2013-03-29 9:36 ` Michal Hocko 2013-03-29 9:36 ` Michal Hocko 2013-04-01 5:13 ` Aneesh Kumar K.V 2013-04-01 5:13 ` Aneesh Kumar K.V 2013-04-02 9:45 ` Michal Hocko 2013-04-02 9:45 ` Michal Hocko 2013-03-22 20:23 ` [PATCH 04/10] migrate: clean up migrate_huge_page() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-04-05 21:13 ` KOSAKI Motohiro 2013-04-05 21:13 ` KOSAKI Motohiro 2013-03-22 20:23 ` [PATCH 05/10] migrate: add hugepage migration code to migrate_pages() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 13:04 ` Michal Hocko 2013-03-25 13:04 ` Michal Hocko 2013-03-26 5:13 ` Naoya Horiguchi 2013-03-26 5:13 ` Naoya Horiguchi 2013-03-26 8:55 ` Michal Hocko 2013-03-26 8:55 ` Michal Hocko 2013-04-05 21:17 ` KOSAKI Motohiro 2013-04-05 21:17 ` KOSAKI Motohiro 2013-04-08 20:21 ` Naoya Horiguchi 2013-04-08 20:21 ` Naoya Horiguchi 2013-03-22 20:23 ` [PATCH 06/10] migrate: add hugepage migration code to move_pages() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 13:36 ` Michal Hocko 2013-03-25 13:36 ` Michal Hocko 2013-03-26 7:06 ` Naoya Horiguchi 2013-03-26 7:06 ` Naoya Horiguchi 2013-03-26 10:02 ` Michal Hocko 2013-03-26 10:02 ` Michal Hocko 2013-03-26 20:37 ` Naoya Horiguchi 2013-03-26 20:37 ` Naoya Horiguchi 2013-03-22 20:23 ` [PATCH 07/10] mbind: add hugepage migration code to mbind() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 13:49 ` Michal Hocko 2013-03-25 13:49 ` Michal Hocko 2013-04-05 22:23 ` KOSAKI Motohiro 2013-04-05 22:23 ` KOSAKI Motohiro 2013-04-06 7:04 ` Michal Hocko 2013-04-06 7:04 ` Michal Hocko 2013-04-05 22:18 ` KOSAKI Motohiro 2013-04-05 22:18 ` KOSAKI Motohiro 2013-04-08 20:25 ` Naoya Horiguchi 2013-04-08 20:25 ` Naoya Horiguchi 2013-03-22 20:23 ` [PATCH 08/10] migrate: remove VM_HUGETLB from vma flag check in vma_migratable() Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-22 20:23 ` [PATCH 09/10] memory-hotplug: enable memory hotplug to handle hugepage Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 15:09 ` Michal Hocko 2013-03-25 15:09 ` Michal Hocko 2013-03-26 18:23 ` Naoya Horiguchi 2013-03-26 18:23 ` Naoya Horiguchi 2013-03-27 14:19 ` Michal Hocko 2013-03-27 14:19 ` Michal Hocko 2013-03-27 21:29 ` Naoya Horiguchi 2013-03-27 21:29 ` Naoya Horiguchi 2013-03-27 21:58 ` Naoya Horiguchi 2013-03-27 21:58 ` Naoya Horiguchi 2013-03-27 22:55 ` Michal Hocko 2013-03-27 22:55 ` Michal Hocko 2013-03-26 12:01 ` Aneesh Kumar K.V 2013-03-26 12:01 ` Aneesh Kumar K.V 2013-03-27 19:28 ` Naoya Horiguchi 2013-03-27 19:28 ` Naoya Horiguchi 2013-04-06 0:13 ` KOSAKI Motohiro 2013-04-06 0:13 ` KOSAKI Motohiro 2013-04-09 20:07 ` Naoya Horiguchi 2013-04-09 20:07 ` Naoya Horiguchi 2013-04-09 21:27 ` KOSAKI Motohiro 2013-04-09 21:27 ` KOSAKI Motohiro 2013-04-09 22:43 ` Naoya Horiguchi 2013-04-09 22:43 ` Naoya Horiguchi 2013-04-10 1:56 ` KOSAKI Motohiro 2013-04-10 1:56 ` KOSAKI Motohiro 2013-04-10 2:24 ` Naoya Horiguchi 2013-04-10 2:24 ` Naoya Horiguchi 2013-03-22 20:23 ` [PATCH 10/10] prepare to remove /proc/sys/vm/hugepages_treat_as_movable Naoya Horiguchi 2013-03-22 20:23 ` Naoya Horiguchi 2013-03-25 15:12 ` Michal Hocko 2013-03-25 15:12 ` Michal Hocko 2013-04-06 0:15 ` KOSAKI Motohiro 2013-04-06 0:15 ` KOSAKI Motohiro
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1363983835-20184-1-git-send-email-n-horiguchi@ah.jp.nec.com \ --to=n-horiguchi@ah.jp.nec.com \ --cc=akpm@linux-foundation.org \ --cc=andi@firstfloor.org \ --cc=dhillf@gmail.com \ --cc=hughd@google.com \ --cc=kosaki.motohiro@jp.fujitsu.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mel@csn.ul.ie \ --cc=mhocko@suse.cz \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.