From patchwork Tue Jun 26 14:22:30 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kirill A. Shutemov" X-Patchwork-Id: 10489153 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4D0FC6031B for ; Tue, 26 Jun 2018 14:23:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3DA54289F4 for ; Tue, 26 Jun 2018 14:23:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 318EA28A64; Tue, 26 Jun 2018 14:23:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A4908289F4 for ; Tue, 26 Jun 2018 14:23:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B001B6B026C; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id A51A16B0006; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 87F816B026E; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl0-f71.google.com (mail-pl0-f71.google.com [209.85.160.71]) by kanga.kvack.org (Postfix) with ESMTP id 2E8046B0007 for ; Tue, 26 Jun 2018 10:22:54 -0400 (EDT) Received: by mail-pl0-f71.google.com with SMTP id p91-v6so10062484plb.12 for ; Tue, 26 Jun 2018 07:22:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=tL5Meckb5kr8LRcF0rqHZgkyn3KGinqxWE4pFYGX7wQ=; b=unpnvCHp5zWPTp3QZGy5mD+6z46UMbxze/tbm/HWS4zNbi7GRWczF/YcnsTP0Kst8M BFzKSHK4kZrK76AFh/deaMUe26NEiAr2OffSnRc+YFCahdlqaGZQxEmtGk4s+IJ+Eb45 Fr6jua/Gqg55fDIWSCyhCFGqdB47PwdfPRkNByIDRNYDPTLQV1tenP8H2P4XBiKhzx/F bCrZPn3yLNynsaXIDubJqPLEqJUcf6O3N1IzkurukjSqDHHeb1T6QL9s9FOQ4i/gjW3x bFV+rG2XZMHtvC6OHifft598XIBXEMkETHE1QPCA2tb/AYSa1mlSTDhpakCJDk8bqkhm qkuw== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Gm-Message-State: APt69E1OwZVWX5lmRonM/8Z0mPHdfxPM1YOLEOHmCuYsxlLlCWPDp96/ 9sT5mzOOpMb57vB4ZLVzydOm4jSKk4awnNVv2DBJi1JclDqHAKjwaiZ1yB5XDYJ4BMtjmVACHOx UQNdghTq/38iQhIJInksnmvBqmKZL6m5oGxZ9s7sLgh1Sm4eUVs5wSdVdmEgfxAxIug== X-Received: by 2002:a62:4c88:: with SMTP id e8-v6mr1756716pfj.99.1530022973854; Tue, 26 Jun 2018 07:22:53 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfJBEJTqs5NeJVk3MwIcv7l2cgM1zNp2k7krXHansNGnBQLfx91YLQVb6n8dq97COZeHjJi X-Received: by 2002:a62:4c88:: with SMTP id e8-v6mr1756665pfj.99.1530022973060; Tue, 26 Jun 2018 07:22:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530022973; cv=none; d=google.com; s=arc-20160816; b=lSw5D4yaBorwVd4rhDfJZ93SohtiVnXUZLM2jyhq8R/xmy1rdeS/VYqg31gPJTSz4M V+5HPlXaHZ9nPySW8c96n90/caPe2os9lSvdp6+VPmuHYFXBC8iNdS8io03av4rpREaS qXUC4ZXGZ/rnYWhct5GJE+iWbbP5AyJWQUDWlAGzaWMAHyr/sp7V0FRDtFcjJBgEAUX9 VBed7toa5oqMo73Tg7GKpHImcPuoO0EvLeduW4+Qj7eALgImHRd1MRXnmdFdh9+Qq+h7 up9SIBIctLX7C4cntlpaPedsltTApSWJx6aw3UPGMfCDJbo4zDx8MQeEZPD842BCsidX ebcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=tL5Meckb5kr8LRcF0rqHZgkyn3KGinqxWE4pFYGX7wQ=; b=f7Any+0LP2Zo4flXaXH7SGv3+hf4nbIJxj5iZUPqnS6EVPtpuFdhd5b3fk6dDcfPXV vQVqkPrRiSzjIdB49b23kgTKRrMLoVPBXuf190IBtL6Zpqj764lBlp8HwEWj5HPTEhHB Q2fCJlODYxDxzFCAxL+YHcHdB6lS1fAAqKu0Z6LbKrd+6+o0TqEPTmvznErY+xkgAoNf p3nUxMhvbaUvHDRs7AH+NYSi5zQQOqP2L9c98YotLUaLbC5xo+VBhkops9Gr6FVFSWSJ wvPWzqWNnquGs8d+WcqE08Cfo6aCpDQW5tBNxUfL/hYS2n7mHa/Jn9hd2sLfdwInh+dG yVWQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from mga11.intel.com (mga11.intel.com. [192.55.52.93]) by mx.google.com with ESMTPS id y16-v6si1608398pfl.11.2018.06.26.07.22.52 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 Jun 2018 07:22:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 192.55.52.93 as permitted sender) client-ip=192.55.52.93; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of kirill.shutemov@linux.intel.com designates 192.55.52.93 as permitted sender) smtp.mailfrom=kirill.shutemov@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2018 07:22:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,274,1526367600"; d="scan'208";a="66458353" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga004.fm.intel.com with ESMTP; 26 Jun 2018 07:22:49 -0700 Received: by black.fi.intel.com (Postfix, from userid 1000) id 8CC3D58D; Tue, 26 Jun 2018 17:22:51 +0300 (EEST) From: "Kirill A. Shutemov" To: Ingo Molnar , x86@kernel.org, Thomas Gleixner , "H. Peter Anvin" , Tom Lendacky Cc: Dave Hansen , Kai Huang , Jacob Pan , linux-kernel@vger.kernel.org, linux-mm@kvack.org, "Kirill A. Shutemov" Subject: [PATCHv4 03/18] mm/page_alloc: Unify alloc_hugepage_vma() Date: Tue, 26 Jun 2018 17:22:30 +0300 Message-Id: <20180626142245.82850-4-kirill.shutemov@linux.intel.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180626142245.82850-1-kirill.shutemov@linux.intel.com> References: <20180626142245.82850-1-kirill.shutemov@linux.intel.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP We don't need to have separate implementations of alloc_hugepage_vma() for NUMA and non-NUMA. Using variant based on alloc_pages_vma() we would cover both cases. This is preparation patch for allocation encrypted pages. alloc_pages_vma() will handle allocation of encrypted pages. With this change we don' t need to cover alloc_hugepage_vma() separately. The change makes typo in Alpha's implementation of __alloc_zeroed_user_highpage() visible. Fix it too. Signed-off-by: Kirill A. Shutemov --- arch/alpha/include/asm/page.h | 2 +- include/linux/gfp.h | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/alpha/include/asm/page.h b/arch/alpha/include/asm/page.h index f3fb2848470a..9a6fbb5269f3 100644 --- a/arch/alpha/include/asm/page.h +++ b/arch/alpha/include/asm/page.h @@ -18,7 +18,7 @@ extern void clear_page(void *page); #define clear_user_page(page, vaddr, pg) clear_page(page) #define __alloc_zeroed_user_highpage(movableflags, vma, vaddr) \ - alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vmaddr) + alloc_page_vma(GFP_HIGHUSER | __GFP_ZERO | movableflags, vma, vaddr) #define __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE extern void copy_page(void * _to, void * _from); diff --git a/include/linux/gfp.h b/include/linux/gfp.h index a6afcec53795..66f395737990 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -494,21 +494,19 @@ alloc_pages(gfp_t gfp_mask, unsigned int order) extern struct page *alloc_pages_vma(gfp_t gfp_mask, int order, struct vm_area_struct *vma, unsigned long addr, int node, bool hugepage); -#define alloc_hugepage_vma(gfp_mask, vma, addr, order) \ - alloc_pages_vma(gfp_mask, order, vma, addr, numa_node_id(), true) #else #define alloc_pages(gfp_mask, order) \ alloc_pages_node(numa_node_id(), gfp_mask, order) #define alloc_pages_vma(gfp_mask, order, vma, addr, node, false)\ alloc_pages(gfp_mask, order) -#define alloc_hugepage_vma(gfp_mask, vma, addr, order) \ - alloc_pages(gfp_mask, order) #endif #define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0) #define alloc_page_vma(gfp_mask, vma, addr) \ alloc_pages_vma(gfp_mask, 0, vma, addr, numa_node_id(), false) #define alloc_page_vma_node(gfp_mask, vma, addr, node) \ alloc_pages_vma(gfp_mask, 0, vma, addr, node, false) +#define alloc_hugepage_vma(gfp_mask, vma, addr, order) \ + alloc_pages_vma(gfp_mask, order, vma, addr, numa_node_id(), true) extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order); extern unsigned long get_zeroed_page(gfp_t gfp_mask);