Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp93293imu; Fri, 14 Dec 2018 15:08:31 -0800 (PST) X-Google-Smtp-Source: AFSGD/Wco2fEU7fh9r3RX4TNbUEtcSzvpPYqnyHqQ5UVXnrIWio9lG5iKPQ1SiputYnSkRt+FIHH X-Received: by 2002:a17:902:2bc5:: with SMTP id l63mr4689501plb.107.1544828911185; Fri, 14 Dec 2018 15:08:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544828911; cv=none; d=google.com; s=arc-20160816; b=XUFzhFkBsm+F87q7D6z/fEe0bFGKA9pV4Mp9OrJP0bb8pF8ygwN+4sh27D0QxV422f DlEuDWO8eF9QpXkjm79Cny/KqpjJX30tzEMZ2uMk4gnBmcRoiZ0KW1cgvBMraw1XRVuC FgHsr7IDoXa87yNAeOoN8ixP3GsUbD+eW0aIMYVHhBLmT1203MlfAUU4+b5u4JMHE+Ka Nwq4Av/7O50VHrxMNY9Q3SWhOEIN0gF+C7/DnYfrF8farJGNBm6rjOa38xARafkoAELl A9l0Z77yOGfqwgZqfGYdA8S5lwR3yBE7CL5/SG3p4r0dAYfEnRc780mOw89TyxhBTr7v jSXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=trAgTToOUXQrMMJDw26L4N1jLTSPWeCf0bP1DLO9Oh0=; b=bOWB+bQHSu3UrRnnrXsSImr2hmTsdkrjJ3B6PvCpGH8wzerMNxRd0P/aIkFTvOceW7 FQZfhUWb9N+HnBzXxFxgcj7QNwlq5XW3UQuAiJzOVH2EsgIsurHjUqy71CyrcHfYpAcP RLlk2IR4QVPHRo253ng0Q8CmwufYhZtSnyR8vo9iZ5YPC6GgQnbR1+5pY5mR1vbnqjdN hvzxTYtH3vfbepX/tS/G1zCh/wyvn94wCwQkzmS4tGYzO6DlZy1LfomuN5MPAbTQ4Ywn uLvFEEEPXeKMMc2tIdIWhHQP65MYmvDqq5eOqBuiydLbY634jMQ3trMXamHGv/DVqpwg EncA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p64si781208pfg.79.2018.12.14.15.08.16; Fri, 14 Dec 2018 15:08:31 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730652AbeLNXGE (ORCPT + 99 others); Fri, 14 Dec 2018 18:06:04 -0500 Received: from outbound-smtp13.blacknight.com ([46.22.139.230]:36914 "EHLO outbound-smtp13.blacknight.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728415AbeLNXGE (ORCPT ); Fri, 14 Dec 2018 18:06:04 -0500 Received: from mail.blacknight.com (unknown [81.17.254.10]) by outbound-smtp13.blacknight.com (Postfix) with ESMTPS id DADE21C2072 for ; Fri, 14 Dec 2018 23:06:02 +0000 (GMT) Received: (qmail 3420 invoked from network); 14 Dec 2018 23:06:02 -0000 Received: from unknown (HELO techsingularity.net) (mgorman@techsingularity.net@[37.228.245.71]) by 81.17.254.9 with ESMTPSA (AES256-SHA encrypted, authenticated); 14 Dec 2018 23:06:02 -0000 Date: Fri, 14 Dec 2018 23:06:01 +0000 From: Mel Gorman To: Linux-MM Cc: David Rientjes , Andrea Arcangeli , Linus Torvalds , Michal Hocko , ying.huang@intel.com, kirill@shutemov.name, Andrew Morton , Linux List Kernel Mailing Subject: [PATCH 14/14] mm, compaction: Do not direct compact remote memory Message-ID: <20181214230601.GE29005@techsingularity.net> References: <20181214230310.572-1-mgorman@techsingularity.net> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: <20181214230310.572-1-mgorman@techsingularity.net> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Remote compaction is expensive and possibly counter-productive. Locality is expected to often have better performance characteristics than remote high-order pages. For small allocations, it's expected that locality is generally required or fallbacks are possible. For larger allocations such as THP, they are forbidden at the time of writing but if __GFP_THISNODE is ever removed, then it would still be preferable to fallback to small local base pages over remote THP in the general case. kcompactd is still woken via kswapd so compaction happens eventually. Signed-off-by: Mel Gorman --- mm/compaction.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mm/compaction.c b/mm/compaction.c index 39d33b6d1172..05fecd7227e4 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -2208,6 +2208,16 @@ enum compact_result try_to_compact_pages(gfp_t gfp_mask, unsigned int order, continue; } + /* + * Do not compact remote memory. It's expensive and high-order + * small allocations are expected to prefer or require local + * memory. Similarly, larger requests such as THP can fallback + * to base pages in preference to remote huge pages if + * __GFP_THISNODE is not specified + */ + if (zone_to_nid(zone) != zone_to_nid(ac->preferred_zoneref->zone)) + continue; + status = compact_zone_order(zone, order, gfp_mask, prio, alloc_flags, ac_classzone_idx(ac), capture); rc = max(status, rc); -- 2.16.4 -- Mel Gorman SUSE Labs