Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp745261yba; Wed, 3 Apr 2019 19:13:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqzMGW/XPIefLhpt2dl8dlbyb/GjAPTnUErd+16qLKiS0/5OnabCmCrSq5hYC7N2UAQybQLA X-Received: by 2002:a63:450f:: with SMTP id s15mr3058835pga.157.1554343992917; Wed, 03 Apr 2019 19:13:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1554343992; cv=none; d=google.com; s=arc-20160816; b=yKOpag1QOU2XdEZy+HSbkwGep7Lrgi7w2vAfAlWZRdVAnrhSqOmO6s9o1khAgHzv1Q bu66iSeXcqyx13dX3XblC+7SohOfvZLElSO22B71yk9UISbzeYxABj2/IK0lDfeSiLOi 4Fk6YNpwzhtHZBm6bTa9jnoApTbUrR4J8YYTdlnz56CgfkW5fA0HVkNLYY17g24tb3Gz s2n1QNq914NzZJvkn5akYOgc2CtOnWaspzAS2SDcSJ7Zuw3TIHVE5tDcHDcvbqSO0N8g JrpDiExdZwASLM/0YBQ0q3IFUkEVBFe8SkoA0B3YrpaPMB6HMYiWSdOcpAAuTfY8+cLt /UQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :reply-to:references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=lg2BrG+7fYw7q7Cq2sx/23jUXOHpzN8JkKb4HEWmLsw=; b=o0Ub/1eXKSjbtW3TtJ6Q7JXJJRi91vhc/ALjfUHt+6BiD67U29k2DSDUEUgWqMHvbN YI3PJAJm0Bb/bRCGa537ZT/RRjMQG+N/Rs96NMoLjk0bTnuiKl9aYhU9xbU3401YeZso 8vGTlgrKdb1Lv2b3ZkESo43WdCrhUmRjE/7Fmva3pEI0jGY+yfrDY2cGHN1NllyQZtbe jRIMWSDx7Bmb/K/upxRUlLmmRbxX6bkmd0TxZtjiTZxZh5NROX7d1EfvP4ST4T1peeaf iIhtel0cajMsg13NZBGHIQAfjIe8VII0pTAmuc1FHDxHhTyl57N/NvE1+QTcpSi4qbgw CcWA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sent.com header.s=fm3 header.b=uNeajQ0V; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=st5240RR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sent.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n8si4163669plk.108.2019.04.03.19.12.57; Wed, 03 Apr 2019 19:13:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@sent.com header.s=fm3 header.b=uNeajQ0V; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=st5240RR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sent.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726843AbfDDCLi (ORCPT + 99 others); Wed, 3 Apr 2019 22:11:38 -0400 Received: from out5-smtp.messagingengine.com ([66.111.4.29]:39403 "EHLO out5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726436AbfDDCJq (ORCPT ); Wed, 3 Apr 2019 22:09:46 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 73C3222205; Wed, 3 Apr 2019 22:01:21 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 03 Apr 2019 22:01:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sent.com; h=from :to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; s=fm3; bh=lg2BrG+7fYw7q 7Cq2sx/23jUXOHpzN8JkKb4HEWmLsw=; b=uNeajQ0VmyZrTaaKNxl7RQ6fUnbft HfoH4ce85/rJbvEi+CBqtoLJtqZyFMMlQlEStmcyVUcAjrVglB+yyZbiZo24q6L1 KQTQUHeJA/wzXfBDhYRXZADV2wN6UPVYjXI9yvcURTE1qn/I5n2NROOjS6/nSgu+ qgzKPIJPVf0AYKvnce2HOqcQthA7gXL29ObEO/J8kn9BELEPsJvj2KWK/4ep7r3h CEzAUvxtYO8JHjbO5FCasFxIzZA2cogG/bxz2DRpBkl3Z98GlFRJcgVpmCI07J2m rLBju+P4I7ACY3XmHB9i6Bf0ene5A+R9Efnra7Kbpt9ygm978Hgrf9BYA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:reply-to:subject :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=lg2BrG+7fYw7q7Cq2sx/23jUXOHpzN8JkKb4HEWmLsw=; b=st5240RR dYFUN5ooCSyxrStwKafWNdgADoCKkzOnri6niAKYhRbzjvvmOB2n/IGnbhzs3Rdr BzFAI7LWFHIaSfd4C1wnUYKAjfCRjYPSiZr2T6l9a7AtPuvd/Wc+c5iMwLi5TJ/8 3FbeCLHf8/+YCi+Kfq1+meQ1qMQncoTqjUr8eUBhYnfyqSRN0L83PwDnahGfVrFj KSS9R6Ebdc5Mdjz2oGrlKUfR8yTa+AhU22GyAFAn4nyUwKKrB5i+U9yExQRb5ejx F5jr4MpsizRiOzgjGUqu/7yx/HlMEc4xbZbbXQP/Yi+lhMx+dIKT+/fKyeaumUic 8C4Nqe6TaDtLzQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrtdeggdehudculddtuddrgedutddrtddtmd cutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpefhvffufffkofgjfhhrggfgsedtkeertdertddt necuhfhrohhmpegkihcujggrnhcuoeiiihdrhigrnhesshgvnhhtrdgtohhmqeenucfkph epvdduiedrvddvkedrudduvddrvddvnecurfgrrhgrmhepmhgrihhlfhhrohhmpeiiihdr higrnhesshgvnhhtrdgtohhmnecuvehluhhsthgvrhfuihiivgepge X-ME-Proxy: Received: from nvrsysarch5.nvidia.com (thunderhill.nvidia.com [216.228.112.22]) by mail.messagingengine.com (Postfix) with ESMTPA id 64B1610393; Wed, 3 Apr 2019 22:01:19 -0400 (EDT) From: Zi Yan To: Dave Hansen , Yang Shi , Keith Busch , Fengguang Wu , linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Daniel Jordan , Michal Hocko , "Kirill A . Shutemov" , Andrew Morton , Vlastimil Babka , Mel Gorman , John Hubbard , Mark Hairgrove , Nitin Gupta , Javier Cabezas , David Nellans , Zi Yan Subject: [RFC PATCH 05/25] mm: migrate: Add vm.accel_page_copy in sysfs to control page copy acceleration. Date: Wed, 3 Apr 2019 19:00:26 -0700 Message-Id: <20190404020046.32741-6-zi.yan@sent.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190404020046.32741-1-zi.yan@sent.com> References: <20190404020046.32741-1-zi.yan@sent.com> Reply-To: ziy@nvidia.com MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Zi Yan 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 --- kernel/sysctl.c | 11 +++++++++++ mm/migrate.c | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/kernel/sysctl.c b/kernel/sysctl.c index e5da394..3d8490e 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -101,6 +101,8 @@ #if defined(CONFIG_SYSCTL) +extern int accel_page_copy; + /* External variables not in a header file. */ extern int suid_dumpable; #ifdef CONFIG_COREDUMP @@ -1430,6 +1432,15 @@ static struct ctl_table vm_table[] = { .extra2 = &one, }, #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 dd6ccbe..8a344e2 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -55,6 +55,8 @@ #include "internal.h" +int accel_page_copy = 1; + /* * 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 @@ -589,6 +591,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; + if (mode & MIGRATE_MT) rc = copy_page_multithread(dst, src, nr_pages); -- 2.7.4