Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp1526452pxx; Fri, 30 Oct 2020 12:04:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQM2vJk/a90a6JicK/whHhpyN0Ra+zb+ok83peyHYEMLBsdkuvDBP+Ak8G42T/1qQFQMGb X-Received: by 2002:a17:906:d20a:: with SMTP id w10mr2269665ejz.3.1604084696366; Fri, 30 Oct 2020 12:04:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604084696; cv=none; d=google.com; s=arc-20160816; b=SSimHfbW0hOUYH8KQhkwofQ/6MhQy3nKXYtJ3x99eTUQudxzgN9dE9dK9EoqKRcLrj UuOfvV/Y0z3b1/6zLOJpobRRr5nSoQKco/0GRkVNsNipTEIHfd+wJg/6Sld4+sdP9OVd lW4PteqgkORsD4srK0L1Tnm0a3pCGQW3+VsteYxQocYb9pa3ZIWhzO71/wSqtiztdXzT QTATiAf/az9WEO6DaO276RvkLszzsdOuMQND7Kb8UzUmI7S2wKWyUz+0m4+bp+rMfXsH OnHCUlnCUkmXJuG6GaAO7cN3c8ugsknrH/YwJ/F286hNG8icWs7JwRDnR/BTwdINggCO lHwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=6AEb+SJEoZajD3vVnMFHcyfIBEQPNBCLIV0K3/WqUYk=; b=T3kOLgFUwEM9y4IpjbiOIk4YgqSOdfEbySfm4R3Yt0P65mmCMDJmh9/c8vRjb6MxBY oy9+LIoE0yUEkcrABdCEPrwg3ft9znHk45q6kuo8iJ1DilL481A20zINX9pFoT9RTAT+ zRtuaJ5IvgAyuthKtpG9M9YKug1Nghhas8dr7A6UuiZjDi1Bmbv3kfuGKfF2/I4g09wb HGJryQWDwCDvkbe9PEnJJU3OWALUmxaghggaTmNT49yim1T8lz3pNKUvjpr0uQXsmnWI XNk+6jy8JdmEe3QxN16MpJm1fQKqvt2NSnv+k61YZPkBMMuGVfoUkig2L3s8xEe8ZJgn WAeA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dd24si4690004ejb.523.2020.10.30.12.04.32; Fri, 30 Oct 2020 12:04:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727478AbgJ3TC5 (ORCPT + 99 others); Fri, 30 Oct 2020 15:02:57 -0400 Received: from mga11.intel.com ([192.55.52.93]:30204 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727443AbgJ3TCu (ORCPT ); Fri, 30 Oct 2020 15:02:50 -0400 IronPort-SDR: cWzcLhN/A1equlReESaPFO7iAXF09nZdGlbLFuRmA58C+hZYGRMeHbmWYSmaINA6O2f5p2OPgl My/+pyUQuiOw== X-IronPort-AV: E=McAfee;i="6000,8403,9790"; a="165154838" X-IronPort-AV: E=Sophos;i="5.77,434,1596524400"; d="scan'208";a="165154838" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2020 12:02:50 -0700 IronPort-SDR: Jqs0dvB0pEpCMFGr6rZXyjqHhX8kSo1drRxzU5wtdujTa7eT6z/1D0FlJM8qXF8/uRjyVfTIQG sM9Vq415DLSQ== X-IronPort-AV: E=Sophos;i="5.77,434,1596524400"; d="scan'208";a="537167702" Received: from kingelix-mobl.amr.corp.intel.com (HELO bwidawsk-mobl5.local) ([10.252.139.120]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Oct 2020 12:02:50 -0700 From: Ben Widawsky To: linux-mm , Andrew Morton Cc: Ben Widawsky , Dave Hansen , Michal Hocko , linux-kernel@vger.kernel.org Subject: [PATCH 09/12] mm/mempolicy: Thread allocation for many preferred Date: Fri, 30 Oct 2020 12:02:35 -0700 Message-Id: <20201030190238.306764-10-ben.widawsky@intel.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201030190238.306764-1-ben.widawsky@intel.com> References: <20201030190238.306764-1-ben.widawsky@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to support MPOL_PREFERRED_MANY as the mode used by set_mempolicy(2), alloc_pages_current() needs to support it. This patch does that by using the new helper function to allocate properly based on policy. All the actual machinery to make this work was part of ("mm/mempolicy: Create a page allocator for policy") Link: https://lore.kernel.org/r/20200630212517.308045-10-ben.widawsky@intel.com Signed-off-by: Ben Widawsky --- mm/mempolicy.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 1fd0da0f9631..2d19235413db 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -2343,7 +2343,7 @@ EXPORT_SYMBOL(alloc_pages_vma); struct page *alloc_pages_current(gfp_t gfp, unsigned order) { struct mempolicy *pol = &default_policy; - struct page *page; + int nid = NUMA_NO_NODE; if (!in_interrupt() && !(gfp & __GFP_THISNODE)) pol = get_task_policy(current); @@ -2353,14 +2353,9 @@ struct page *alloc_pages_current(gfp_t gfp, unsigned order) * nor system default_policy */ if (pol->mode == MPOL_INTERLEAVE) - page = alloc_pages_policy(pol, gfp, order, - interleave_nodes(pol)); - else - page = __alloc_pages_nodemask(gfp, order, - policy_node(gfp, pol, numa_node_id()), - policy_nodemask(gfp, pol)); + nid = interleave_nodes(pol); - return page; + return alloc_pages_policy(pol, gfp, order, nid); } EXPORT_SYMBOL(alloc_pages_current); -- 2.29.2