On 11/22/2016 09:55 PM, Zi Yan wrote: > From: Zi Yan <zi.yan@xxxxxxxxxxxxxx> > > From: Zi Yan <ziy@xxxxxxxxxx> > > Since base page migration did not gain any speedup from > multi-threaded methods, we only accelerate the huge page case. > > Signed-off-by: Zi Yan <ziy@xxxxxxxxxx> > Signed-off-by: Zi Yan <zi.yan@xxxxxxxxxxxxxx> > --- > kernel/sysctl.c | 11 +++++++++++ > mm/migrate.c | 6 ++++++ > 2 files changed, 17 insertions(+) > > diff --git a/kernel/sysctl.c b/kernel/sysctl.c > index d54ce12..6c79444 100644 > --- a/kernel/sysctl.c > +++ b/kernel/sysctl.c > @@ -98,6 +98,8 @@ > #if defined(CONFIG_SYSCTL) > > > +extern int accel_page_copy; Hmm, accel_mthread_copy because this is achieved by a multi threaded copy mechanism. > + > /* External variables not in a header file. */ > extern int suid_dumpable; > #ifdef CONFIG_COREDUMP > @@ -1361,6 +1363,15 @@ static struct ctl_table vm_table[] = { > .proc_handler = &hugetlb_mempolicy_sysctl_handler, > }, > #endif > + { > + .procname = "accel_page_copy", > + .data = &accel_page_copy, > + .maxlen = sizeof(accel_page_copy), > + .mode = 0644, > + .proc_handler = proc_dointvec, > + .extra1 = &zero, > + .extra2 = &one, > + }, > { > .procname = "hugetlb_shm_group", > .data = &sysctl_hugetlb_shm_group, > diff --git a/mm/migrate.c b/mm/migrate.c > index 244ece6..e64b490 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -48,6 +48,8 @@ > > #include "internal.h" > > +int accel_page_copy = 1; > + So its enabled by default. > /* > * migrate_prep() needs to be called before we start compiling a list of pages > * to be migrated using isolate_lru_page(). If scheduling work on other CPUs is > @@ -651,6 +653,10 @@ static void copy_huge_page(struct page *dst, struct page *src, > nr_pages = hpage_nr_pages(src); > } > > + /* Try to accelerate page migration if it is not specified in mode */ > + if (accel_page_copy) > + mode |= MIGRATE_MT; So even if none of the system calls requested for a multi threaded copy, this setting will override every thing and make it multi threaded. -- 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>