From patchwork Tue May 7 04:05:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932239 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1659B1398 for ; Tue, 7 May 2019 04:06:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0616528892 for ; Tue, 7 May 2019 04:06:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EE49B288F7; Tue, 7 May 2019 04:06:14 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 95FB428892 for ; Tue, 7 May 2019 04:06:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4CB976B0005; Tue, 7 May 2019 00:06:13 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 47C2E6B0007; Tue, 7 May 2019 00:06:13 -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 36B376B0008; Tue, 7 May 2019 00:06:13 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by kanga.kvack.org (Postfix) with ESMTP id 098376B0005 for ; Tue, 7 May 2019 00:06:13 -0400 (EDT) Received: by mail-pf1-f200.google.com with SMTP id f1so1268918pfb.0 for ; Mon, 06 May 2019 21:06:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=BRgPkk2neO2a0h0yodkhojkyCRKojKVvK274UfwK7Vw=; b=qAT438w3A488bAc0XMXux1ToBQpNrQCdMTl8kttdnA8mCFqyYjsc+Zi6x+KD8eCE6v wBs6rxOwcatrPrCXUOIW4Wltu9+SHv/vRlbjVG3jFR3+XFJnGVvdGNmzU3nwpZ2xWL+j l7NF0UTa96TCa3Dy5y0EsgkGp0NKfNDp5rpMQ4NDBlV7TP7jhdAt8mHzeTjisSDWd9gf PEHo/pxxQoY43chud7rtQIVeRd8S9WH7QsMPBIWgP6S1rYmrIY4MDQCDGrsJvscJ3tKM kHjwdr5u4KqOnWqvO84ldyd5siVOIS9I9mpWcd/Rfcae+CgO3qKLWE/a3vvdLBj2M+Iy 5qaA== X-Gm-Message-State: APjAAAWmAJ7qzeMFzezOHGN9mnTe2YQ1Leoeao49i7q21PN1sk6TuYVP sN4gnoBH5shrNt6VRPHZSEJP76Rg/rEh6BNpIJUCc+yPp9WRmV+Sj0xWLkeoPO/vWlvKB7rS7Z0 zFBVcpyuSIwq2D3FCybLmchc7jlF/HJxstc9sTD9pM2e16LqZoFrHPOipD8hPMLXfAA== X-Received: by 2002:a65:628b:: with SMTP id f11mr35611062pgv.95.1557201972573; Mon, 06 May 2019 21:06:12 -0700 (PDT) X-Google-Smtp-Source: APXvYqyKOqLDItyUB96kA3tNYkr53Fx5kZkXIYcV++3ZuF9SO2HyRhZkzROTDdqDBsisFgsWZnPZ X-Received: by 2002:a65:628b:: with SMTP id f11mr35611000pgv.95.1557201971715; Mon, 06 May 2019 21:06:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201971; cv=none; d=google.com; s=arc-20160816; b=cb+di+Z9C3Q+CcdjXzrU4IiEg89hmeH++R+6gs0e8UPoBSA4M1ySWFYcGIU15EPPaB Vw2FeJHuVjtT4GtPaxTwHoVwjtaUTGpBuOAUhCnk5X0MzuPnjvZt+x/Q7G7DAehnlJcL DxR1K9a6egMBSKTVO8Y3z5aPFHidYAzG/zpQUvfIEoUauRcOGjZb3gG6Z8wmmF2sJjtj AMTWGvYgqXjB6aAoE9pqZjpF5qeCB10VlsBT2RR3yS5XfpTfrS6UtW/CBr0reAuzTYPw fIIR6z+R8rApNxNVYRKQGMe5bZci/SgicqxVtQ4xHhxKz4m2jpLocUS+INhuz1BFnkDy ynsQ== 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 :dkim-signature; bh=BRgPkk2neO2a0h0yodkhojkyCRKojKVvK274UfwK7Vw=; b=Rzh4lChjrwUJez5tKQDZA+9q5HhONtcIgkBKnD86pjVQRGmrHjjr5iMm3QGVSq0v7X pkOwzapP/qsEz+MA/Ez0wivBBFsWWOwbd5J3BegcctM7TpW7OAIxouolYhY7yP7t8VB9 jsA+Pf5eugd2eiBFKn2jdcFcvtbwYaQlH8L+ToQChpVyaSx2AvGFv8rwDMsnVvbaKlKa ZNZsyBoJBqWa/wgvntZ/8FJ8gaTfimG7dwznqecn8Sgm+EKXzZ6r5u8t3pmaMsyn7TA8 gCCO876gRCe5Y+exuQkEMDn/NgXmGjbJgHIp/S8cvrlvWIt9KqUG5vamKL0pwqJq8r00 Cmxw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=cT2LDruM; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id y10si13884056pll.316.2019.05.06.21.06.11 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=cT2LDruM; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=BRgPkk2neO2a0h0yodkhojkyCRKojKVvK274UfwK7Vw=; b=cT2LDruMwXsdfKeZMyTbLWmoo 8XRhYOinQ0dEiq1NFjHiSgRGBc2HDYXJisHFpwMkuatV4HcL9AUtXldbXlpcVfhjYjdDkCrGTdqy/ 1g1zr14TztAqX/cgmCofEjBzsAsMvfttNE41GKxK/HluYfuhZw+G0673/Xop0M52FB+UuMubGGneM AAq/eAkWdVPd4AjJGfrMvZdJh/+sfOuBeX8F2WGtr/4ZX43ptFm12VR2C/Q1vOcEZnYQIbJTHjtm+ K0KrLhcp2oFrddtd0+fVQpzH1I4o3DUl9wndX3n8DKZSyjS3SrPfU7PBRJ7pQmZmzWlLX3XjbcYUh N2lK7moJw==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMp-0005he-5L; Tue, 07 May 2019 04:06:11 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 01/11] fix function alignment Date: Mon, 6 May 2019 21:05:59 -0700 Message-Id: <20190507040609.21746-2-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" --- arch/x86/Makefile_32.cpu | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/Makefile_32.cpu b/arch/x86/Makefile_32.cpu index 1f5faf8606b4..55d333187d13 100644 --- a/arch/x86/Makefile_32.cpu +++ b/arch/x86/Makefile_32.cpu @@ -45,6 +45,8 @@ cflags-$(CONFIG_MGEODE_LX) += $(call cc-option,-march=geode,-march=pentium-mmx) # cpu entries cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic,$(call tune,i686)) +cflags-y += $(call cc-option,-falign-functions=1) + # Bug fix for binutils: this option is required in order to keep # binutils from generating NOPL instructions against our will. ifneq ($(CONFIG_X86_P6_NOP),y) From patchwork Tue May 7 04:06:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932251 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 63AAB13AD for ; Tue, 7 May 2019 04:06:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5213628892 for ; Tue, 7 May 2019 04:06:31 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 46702288F7; Tue, 7 May 2019 04:06:31 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 15B3828892 for ; Tue, 7 May 2019 04:06:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C2ECF6B000C; Tue, 7 May 2019 00:06:15 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id A4A956B000E; Tue, 7 May 2019 00:06:15 -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 653DC6B0269; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by kanga.kvack.org (Postfix) with ESMTP id 1BF176B000D for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pf1-f197.google.com with SMTP id q73so9343598pfi.17 for ; Mon, 06 May 2019 21:06:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=B2oLl3my7A6QZIWt7+S+OSBsACbrdesDlp/r7QymXXM=; b=b/uqzw3wMMa/Py+YTR7LKX8WGYNSLXtM7tV0ocyBDJiK7Ant5igZtuWATTee51hiGh hsQ09Ef1v/hAVBgGd1b1FJOMxFbI+dwDTLDhdk5v9cSmRc7mPgA0/PlFdS9BNaDjTSQ0 Oe0rH7nBxHOpXz3qp76xn+L+O3nk3wFCsk9/hBQIVkkHNjY7DUTd9WokmU/g6M/fepiN Gw+JhW9z/BiqIymdOon4tm61QrtUpiPZFn/Uiaw5htXUxxQwMN621MCHo64aOOqIfpw3 iFUnKywVudLZRcPWKkKM8b3ZuTYDm1bqVC5xrz5yziBSBeABgTM/dG0XTUz0EtpSZHf/ obUA== X-Gm-Message-State: APjAAAXd4h76tflwlTkmg/n6GC34KHPlulS/edfYi8+Z2mWtboz5rbCN +Ms+7YVqtFuOuG26Jk5MrRvRhCpSMBVdbWZsg2XH8Ow7sdoCEiQPSZWi/aBAKUqaBs/m4Zz+5nn FCgmcVE8ZGgJELaSJ2KjSqKjbXtstVSf/cEI8A69qWd1P27CPcOQkuSyd3poaw1mHbQ== X-Received: by 2002:a63:5202:: with SMTP id g2mr37327121pgb.317.1557201974702; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqxMiLqtTPyaRa8IBcFpcDf8oHdbeZQjrnCWoOSxcBZBVLd0BBzHJ4vue0IuOjSzX8O/GSmG X-Received: by 2002:a63:5202:: with SMTP id g2mr37327014pgb.317.1557201973314; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=OJiJICCNiOjCcbca2NyoUSNyHWuYc/Cp+HpivM46ZXwHBqDQDDTqyfYrQXACv9RLTF yFV/1CWcMNjpIaH1ttmxiQj6ylT/2T8Em78sm7lQozWmVauOwHBBiGVn55ZSjTdweOxN +9fPsQKNL/i51D7yFOghDH+4rE7k22AnYZm5F+OebceonFLd4JmnxG5NC93/teRMjGaN 8s4lWx7ZrxxPx8my8WWcb7ZaG3vh/ET/JYkKFyQZGKjs5452yy4jz9s+P3fIReJRg81P Z37zuoUI4u05UBcVvHUIxo5z4zt84xFeny0PuGLif2sR5kxp5CsJi13fLDPBURGuzFIX fB2g== 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 :dkim-signature; bh=B2oLl3my7A6QZIWt7+S+OSBsACbrdesDlp/r7QymXXM=; b=MMlcWhOdZnc6B1AHttac+TDWSleUZZkUOvCEIMcFXVtzBBbJJaLmsuC4dq1JXD7JzW tdSswSI4er4TEKp+90b5beHb0rVlyLy+Newaai5rkYj0uH0yWSX/xTFWibm4KnOU7bTu RA4QH7zcG9C5bqmGCqU75f9Iv9/vCSxGazanw4AWokYq1JA/y7wkrEaFT89J/gX3EIyG fWP3YS6oQ47DKmtdbzX58Dj8fEJbq/vzxn/giGBQcpq2fYMMWpMnRQWKVzIehEIEs3Lj UKhf78GgGiheJWiK17moWAevbyuDHBLuS73hAbg8NH6OroJFdpVgeieHN833H50dGLzh PuNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="O6bV/fR4"; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id u190si16276184pgc.282.2019.05.06.21.06.11 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="O6bV/fR4"; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=B2oLl3my7A6QZIWt7+S+OSBsACbrdesDlp/r7QymXXM=; b=O6bV/fR4/iG3ZKevogg11I24C Q6vbVfe6kOQu6DLd3oq7uAZvW2YLrE6TBxc8FDWC4bXtHQbhGhzEf41bazibQBNw9fWbUua+ajaAb zYaX0PWpU8NzhGoXz77o20LGYo7+6oufxKg9C01DWQKTQPcKGZ4/2CeC7VFXqxgTJxi3Nagj+btlF qXFtFyaZE8DLuSEJtMO+NxehrCRZWCH73QQ4VXjcJ3yp3wV5AlICTWbpO95KA5klEc01iPF2ZMx/U +FnyYcDQZaSQsGc6EGM0wAIKkBlu4H3ZRLow41g++UpnfhGaPf3hw2oY3CyokK1t/Ksac1nwC7wOl tMzWDkCfw==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMp-0005hj-Ag; Tue, 07 May 2019 04:06:11 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 02/11] mm: Pass order to __alloc_pages_nodemask in GFP flags Date: Mon, 6 May 2019 21:06:00 -0700 Message-Id: <20190507040609.21746-3-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Save marshalling an extra argument in all the callers at the expense of using five bits of the GFP flags. We still have three GFP bits remaining after doing this (and we can release one more by reallocating NORETRY, RETRY_MAYFAIL and NOFAIL). Signed-off-by: Matthew Wilcox (Oracle) --- arch/x86/events/intel/ds.c | 4 +-- arch/x86/kvm/vmx/vmx.c | 4 +-- include/linux/gfp.h | 51 ++++++++++++++++++++++---------------- include/linux/migrate.h | 2 +- mm/filemap.c | 2 +- mm/gup.c | 4 +-- mm/hugetlb.c | 5 ++-- mm/khugepaged.c | 2 +- mm/mempolicy.c | 30 +++++++++++----------- mm/migrate.c | 2 +- mm/page_alloc.c | 4 +-- mm/shmem.c | 5 ++-- mm/slub.c | 2 +- 13 files changed, 63 insertions(+), 54 deletions(-) diff --git a/arch/x86/events/intel/ds.c b/arch/x86/events/intel/ds.c index 10c99ce1fead..82fee9845b87 100644 --- a/arch/x86/events/intel/ds.c +++ b/arch/x86/events/intel/ds.c @@ -315,13 +315,13 @@ static void ds_clear_cea(void *cea, size_t size) preempt_enable(); } -static void *dsalloc_pages(size_t size, gfp_t flags, int cpu) +static void *dsalloc_pages(size_t size, gfp_t gfp, int cpu) { unsigned int order = get_order(size); int node = cpu_to_node(cpu); struct page *page; - page = __alloc_pages_node(node, flags | __GFP_ZERO, order); + page = __alloc_pages_node(node, gfp | __GFP_ZERO | __GFP_ORDER(order)); return page ? page_address(page) : NULL; } diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c index ab432a930ae8..323a0f6ffe13 100644 --- a/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c @@ -2380,13 +2380,13 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf, return 0; } -struct vmcs *alloc_vmcs_cpu(bool shadow, int cpu, gfp_t flags) +struct vmcs *alloc_vmcs_cpu(bool shadow, int cpu, gfp_t gfp) { int node = cpu_to_node(cpu); struct page *pages; struct vmcs *vmcs; - pages = __alloc_pages_node(node, flags, vmcs_config.order); + pages = __alloc_pages_node(node, gfp | __GFP_ORDER(vmcs_config.order)); if (!pages) return NULL; vmcs = page_address(pages); diff --git a/include/linux/gfp.h b/include/linux/gfp.h index fb07b503dc45..e7845c2510db 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -219,6 +219,18 @@ struct vm_area_struct; /* Room for N __GFP_FOO bits */ #define __GFP_BITS_SHIFT (23 + IS_ENABLED(CONFIG_LOCKDEP)) #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1)) +#define __GFP_ORDER(order) ((__force gfp_t)(order << __GFP_BITS_SHIFT)) +#define __GFP_ORDER_PMD __GFP_ORDER(PMD_SHIFT - PAGE_SHIFT) +#define __GFP_ORDER_PUD __GFP_ORDER(PUD_SHIFT - PAGE_SHIFT) + +/* + * Extract the order from a GFP bitmask. + * Must be the top bits to avoid an AND operation. Don't let + * __GFP_BITS_SHIFT get over 27, or we won't be able to encode orders + * above 15 (some architectures allow configuring MAX_ORDER up to 64, + * but I doubt larger than 31 are ever used). + */ +#define gfp_order(gfp) (((__force unsigned int)gfp) >> __GFP_BITS_SHIFT) /** * DOC: Useful GFP flag combinations @@ -464,26 +476,23 @@ static inline void arch_alloc_page(struct page *page, int order) { } #endif struct page * -__alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, int preferred_nid, - nodemask_t *nodemask); +__alloc_pages_nodemask(gfp_t gfp_mask, int preferred_nid, nodemask_t *nodemask); -static inline struct page * -__alloc_pages(gfp_t gfp_mask, unsigned int order, int preferred_nid) +static inline struct page *__alloc_pages(gfp_t gfp_mask, int preferred_nid) { - return __alloc_pages_nodemask(gfp_mask, order, preferred_nid, NULL); + return __alloc_pages_nodemask(gfp_mask, preferred_nid, NULL); } /* * Allocate pages, preferring the node given as nid. The node must be valid and * online. For more general interface, see alloc_pages_node(). */ -static inline struct page * -__alloc_pages_node(int nid, gfp_t gfp_mask, unsigned int order) +static inline struct page *__alloc_pages_node(int nid, gfp_t gfp) { VM_BUG_ON(nid < 0 || nid >= MAX_NUMNODES); - VM_WARN_ON((gfp_mask & __GFP_THISNODE) && !node_online(nid)); + VM_WARN_ON((gfp & __GFP_THISNODE) && !node_online(nid)); - return __alloc_pages(gfp_mask, order, nid); + return __alloc_pages(gfp, nid); } /* @@ -497,35 +506,35 @@ static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask, if (nid == NUMA_NO_NODE) nid = numa_mem_id(); - return __alloc_pages_node(nid, gfp_mask, order); + return __alloc_pages_node(nid, gfp_mask | __GFP_ORDER(order)); } #ifdef CONFIG_NUMA -extern struct page *alloc_pages_current(gfp_t gfp_mask, unsigned order); +extern struct page *alloc_pages_current(gfp_t gfp_mask); static inline struct page * alloc_pages(gfp_t gfp_mask, unsigned int order) { - return alloc_pages_current(gfp_mask, order); + return alloc_pages_current(gfp_mask | __GFP_ORDER(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); +extern struct page *alloc_pages_vma(gfp_t gfp_mask, 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) + alloc_pages_vma(gfp_mask | __GFP_ORDER(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) + alloc_pages_node(numa_node_id(), gfp_mask, order) +#define alloc_pages_vma(gfp_mask, vma, addr, node, false) \ + alloc_pages(gfp_mask, 0) #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) + alloc_pages_vma(gfp_mask, 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) + alloc_pages_vma(gfp_mask, vma, addr, node, false) extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order); extern unsigned long get_zeroed_page(gfp_t gfp_mask); diff --git a/include/linux/migrate.h b/include/linux/migrate.h index e13d9bf2f9a5..ba4385144cc9 100644 --- a/include/linux/migrate.h +++ b/include/linux/migrate.h @@ -50,7 +50,7 @@ static inline struct page *new_page_nodemask(struct page *page, if (PageHighMem(page) || (zone_idx(page_zone(page)) == ZONE_MOVABLE)) gfp_mask |= __GFP_HIGHMEM; - new_page = __alloc_pages_nodemask(gfp_mask, order, + new_page = __alloc_pages_nodemask(gfp_mask | __GFP_ORDER(order), preferred_nid, nodemask); if (new_page && PageTransHuge(new_page)) diff --git a/mm/filemap.c b/mm/filemap.c index 3ad18fa56057..b7b0841312c9 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -945,7 +945,7 @@ struct page *__page_cache_alloc(gfp_t gfp) do { cpuset_mems_cookie = read_mems_allowed_begin(); n = cpuset_mem_spread_node(); - page = __alloc_pages_node(n, gfp, 0); + page = __alloc_pages_node(n, gfp); } while (!page && read_mems_allowed_retry(cpuset_mems_cookie)); return page; diff --git a/mm/gup.c b/mm/gup.c index 294e87ae5b9a..7b06962a4630 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -1306,14 +1306,14 @@ static struct page *new_non_cma_page(struct page *page, unsigned long private) * CMA area again. */ thp_gfpmask &= ~__GFP_MOVABLE; - thp = __alloc_pages_node(nid, thp_gfpmask, HPAGE_PMD_ORDER); + thp = __alloc_pages_node(nid, thp_gfpmask | __GFP_PMD_ORDER); if (!thp) return NULL; prep_transhuge_page(thp); return thp; } - return __alloc_pages_node(nid, gfp_mask, 0); + return __alloc_pages_node(nid, gfp_mask); } static long check_and_migrate_cma_pages(struct task_struct *tsk, diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 109f5de82910..f3f0f2902a52 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -1401,10 +1401,11 @@ static struct page *alloc_buddy_huge_page(struct hstate *h, int order = huge_page_order(h); struct page *page; - gfp_mask |= __GFP_COMP|__GFP_RETRY_MAYFAIL|__GFP_NOWARN; + gfp_mask |= __GFP_COMP | __GFP_RETRY_MAYFAIL | __GFP_NOWARN | + __GFP_ORDER(order); if (nid == NUMA_NO_NODE) nid = numa_mem_id(); - page = __alloc_pages_nodemask(gfp_mask, order, nid, nmask); + page = __alloc_pages_nodemask(gfp_mask, nid, nmask); if (page) __count_vm_event(HTLB_BUDDY_PGALLOC); else diff --git a/mm/khugepaged.c b/mm/khugepaged.c index a335f7c1fac4..3d9267394881 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -770,7 +770,7 @@ khugepaged_alloc_page(struct page **hpage, gfp_t gfp, int node) { VM_BUG_ON_PAGE(*hpage, *hpage); - *hpage = __alloc_pages_node(node, gfp, HPAGE_PMD_ORDER); + *hpage = __alloc_pages_node(node, gfp | __GFP_PMD_ORDER); if (unlikely(!*hpage)) { count_vm_event(THP_COLLAPSE_ALLOC_FAILED); *hpage = ERR_PTR(-ENOMEM); diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 2219e747df49..bad60476d5ad 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -975,7 +975,7 @@ struct page *alloc_new_node_page(struct page *page, unsigned long node) return thp; } else return __alloc_pages_node(node, GFP_HIGHUSER_MOVABLE | - __GFP_THISNODE, 0); + __GFP_THISNODE); } /* @@ -2006,12 +2006,11 @@ bool mempolicy_nodemask_intersects(struct task_struct *tsk, /* Allocate a page in interleaved policy. Own path because it needs to do special accounting. */ -static struct page *alloc_page_interleave(gfp_t gfp, unsigned order, - unsigned nid) +static struct page *alloc_page_interleave(gfp_t gfp, unsigned nid) { struct page *page; - page = __alloc_pages(gfp, order, nid); + page = __alloc_pages(gfp, nid); /* skip NUMA_INTERLEAVE_HIT counter update if numa stats is disabled */ if (!static_branch_likely(&vm_numa_stat_key)) return page; @@ -2033,7 +2032,6 @@ static struct page *alloc_page_interleave(gfp_t gfp, unsigned order, * %GFP_FS allocation should not call back into a file system. * %GFP_ATOMIC don't sleep. * - * @order:Order of the GFP allocation. * @vma: Pointer to VMA or NULL if not available. * @addr: Virtual Address of the allocation. Must be inside the VMA. * @node: Which node to prefer for allocation (modulo policy). @@ -2047,8 +2045,8 @@ static struct page *alloc_page_interleave(gfp_t gfp, unsigned order, * NULL when no page can be allocated. */ struct page * -alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma, - unsigned long addr, int node, bool hugepage) +alloc_pages_vma(gfp_t gfp, struct vm_area_struct *vma, unsigned long addr, + int node, bool hugepage) { struct mempolicy *pol; struct page *page; @@ -2060,9 +2058,10 @@ alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma, if (pol->mode == MPOL_INTERLEAVE) { unsigned nid; - nid = interleave_nid(pol, vma, addr, PAGE_SHIFT + order); + nid = interleave_nid(pol, vma, addr, + PAGE_SHIFT + gfp_order(gfp)); mpol_cond_put(pol); - page = alloc_page_interleave(gfp, order, nid); + page = alloc_page_interleave(gfp, nid); goto out; } @@ -2086,14 +2085,14 @@ alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma, if (!nmask || node_isset(hpage_node, *nmask)) { mpol_cond_put(pol); page = __alloc_pages_node(hpage_node, - gfp | __GFP_THISNODE, order); + gfp | __GFP_THISNODE); goto out; } } nmask = policy_nodemask(gfp, pol); preferred_nid = policy_node(gfp, pol, node); - page = __alloc_pages_nodemask(gfp, order, preferred_nid, nmask); + page = __alloc_pages_nodemask(gfp, preferred_nid, nmask); mpol_cond_put(pol); out: return page; @@ -2108,13 +2107,12 @@ alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma, * %GFP_HIGHMEM highmem allocation, * %GFP_FS don't call back into a file system. * %GFP_ATOMIC don't sleep. - * @order: Power of two of allocation size in pages. 0 is a single page. * * Allocate a page from the kernel page pool. When not in - * interrupt context and apply the current process NUMA policy. + * interrupt context apply the current process NUMA policy. * Returns NULL when no page can be allocated. */ -struct page *alloc_pages_current(gfp_t gfp, unsigned order) +struct page *alloc_pages_current(gfp_t gfp) { struct mempolicy *pol = &default_policy; struct page *page; @@ -2127,9 +2125,9 @@ struct page *alloc_pages_current(gfp_t gfp, unsigned order) * nor system default_policy */ if (pol->mode == MPOL_INTERLEAVE) - page = alloc_page_interleave(gfp, order, interleave_nodes(pol)); + page = alloc_page_interleave(gfp, interleave_nodes(pol)); else - page = __alloc_pages_nodemask(gfp, order, + page = __alloc_pages_nodemask(gfp, policy_node(gfp, pol, numa_node_id()), policy_nodemask(gfp, pol)); diff --git a/mm/migrate.c b/mm/migrate.c index f2ecc2855a12..acb479132398 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1884,7 +1884,7 @@ static struct page *alloc_misplaced_dst_page(struct page *page, (GFP_HIGHUSER_MOVABLE | __GFP_THISNODE | __GFP_NOMEMALLOC | __GFP_NORETRY | __GFP_NOWARN) & - ~__GFP_RECLAIM, 0); + ~__GFP_RECLAIM); return newpage; } diff --git a/mm/page_alloc.c b/mm/page_alloc.c index deea16489e2b..13191fe2f19d 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4610,11 +4610,11 @@ static inline void finalise_ac(gfp_t gfp_mask, struct alloc_context *ac) * This is the 'heart' of the zoned buddy allocator. */ struct page * -__alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, int preferred_nid, - nodemask_t *nodemask) +__alloc_pages_nodemask(gfp_t gfp_mask, int preferred_nid, nodemask_t *nodemask) { struct page *page; unsigned int alloc_flags = ALLOC_WMARK_LOW; + int order = gfp_order(gfp_mask); gfp_t alloc_mask; /* The gfp_t that was actually used for allocation */ struct alloc_context ac = { }; diff --git a/mm/shmem.c b/mm/shmem.c index a1e9f6194138..445e76e5c0c2 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1463,8 +1463,9 @@ static struct page *shmem_alloc_hugepage(gfp_t gfp, return NULL; shmem_pseudo_vma_init(&pvma, info, hindex); - page = alloc_pages_vma(gfp | __GFP_COMP | __GFP_NORETRY | __GFP_NOWARN, - HPAGE_PMD_ORDER, &pvma, 0, numa_node_id(), true); + page = alloc_pages_vma(gfp | __GFP_COMP | __GFP_NORETRY | + __GFP_NOWARN | __GFP_PMD_ORDER, + &pvma, 0, numa_node_id(), true); shmem_pseudo_vma_destroy(&pvma); if (page) prep_transhuge_page(page); diff --git a/mm/slub.c b/mm/slub.c index a34fbe1f6ede..7504fa3f844b 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1497,7 +1497,7 @@ static inline struct page *alloc_slab_page(struct kmem_cache *s, if (node == NUMA_NO_NODE) page = alloc_pages(flags, order); else - page = __alloc_pages_node(node, flags, order); + page = __alloc_pages_node(node, flags | __GFP_ORDER(order)); if (page && memcg_charge_slab(page, flags, order, s)) { __free_pages(page, order); From patchwork Tue May 7 04:06:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932245 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C429713AD for ; Tue, 7 May 2019 04:06:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B1B6828892 for ; Tue, 7 May 2019 04:06:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A30CF288F7; Tue, 7 May 2019 04:06:22 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 100B328892 for ; Tue, 7 May 2019 04:06:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 29FCB6B0007; Tue, 7 May 2019 00:06:14 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 0841D6B000D; Tue, 7 May 2019 00:06:14 -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 DC9E36B0007; Tue, 7 May 2019 00:06:13 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by kanga.kvack.org (Postfix) with ESMTP id A0DA16B000A for ; Tue, 7 May 2019 00:06:13 -0400 (EDT) Received: by mail-pl1-f198.google.com with SMTP id u1so4074566plk.10 for ; Mon, 06 May 2019 21:06:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=RFQwlT4Xa6bVp5Em9dWQbH41T5/VxyUFyxeMfJ+yY74=; b=onODisxhStd1uiaclDb9RWSy6SdIqO7JwNXGcv9sTM87JuNDkZDgK1BS7frKeQmtqa PPoTRC9pgxmJasU0l6cG77jBNNGvo34IJaHOWtyzrWyK/Bz4rA9MQUPfyRER5OulZNzn Lo9nbTQo54ZgxRHkVzKpWhTQUfmhV4M1y3zFni8bP8ZNFpEtB5lSWT8RW6h2EvYkpumM BOkDn9MTadOk0GOiRVoTJdSr8duuUOKPYNw9h39it/DZ+EECFkIJI5Q/UrpxQ2bq+NHz PPG4sYeVV7kvUCl7gwFMSdkEwHydZhu08VpiHXWvl6DM7FJfBg/8ECqWkxXh6AAsWscv /E9Q== X-Gm-Message-State: APjAAAVPNW8e31FWIKlcQE/yDHnPBvQXR8+zh+R26Jw9lC+ZXkRLva+N tN5DUuVJ3KYR+av7RLmOm1RSKtvfchLURTcxkvABq6WK+gYiHjsQcQNxxMZAwASKtNncqXoSEG4 X5rNztdj4Zuu1aGGYpDC1fpElzJdsNsp9O1GvQwqsrITAlZRa9ocBoCjcHV+9CpduyA== X-Received: by 2002:a17:902:e393:: with SMTP id ch19mr12826983plb.300.1557201973283; Mon, 06 May 2019 21:06:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqzxV2X6zBXWU+dnBvkqCf4zQ7ePBwnhkhnUivNXPP4xq5lUPMnUngIXGtQITmZEmr4TKmz2 X-Received: by 2002:a17:902:e393:: with SMTP id ch19mr12826869plb.300.1557201971980; Mon, 06 May 2019 21:06:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201971; cv=none; d=google.com; s=arc-20160816; b=CpObM1Oc1gq0ZfdalFAmOtZ9iPpYoY1o2lboKw4GTNJ7BtDcH8ok62LZ2RJzkkKDKs HXWP2m3mQAgCUHvf1jrF3WmFPHFhsMryLih0Mowj1COXlNOWPRu3kWhE6+aaUH0QgW0D KHxIEr1qWuQxcPvyOxC20E7KWiQ6z6sHubDOlTfiVoywhb61GIK/aJFacdLXdNMy4yDN a6PyuxlRxW6OKJ1IJ0vGAir+spB5jiXuJSJ4BT36UegCJZp/QZ7DDDfBjcwdlKzMAZOe TgNIq97QfokfZg9qEgTcx6E9zErVOCGwweq0lL4ND9KRDrHZ4aAHBaZlzTo9V5SOqxA/ pO2w== 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 :dkim-signature; bh=RFQwlT4Xa6bVp5Em9dWQbH41T5/VxyUFyxeMfJ+yY74=; b=NCJ5jKqvjis28osR1tJRZ1hhPWh6+TirPHqTAhDJe9ZxoAafixOO1wLdhM5vB2vj5w gM5USx95WezxqzOXqhEKH/x6ncKMRNbcjpNHAYA1OZSuJs6yGCW7Nct36aqQ41u+6eiJ mVw9KqCxAeSMB7FODTRnSUACG0m6hEV9dtfR1fKjSHqDP8Sx516PyM/Bf0RCzSFaHxi9 8kgpJcr+o2vzbDszqq8m+D+c4QeV3xGt8XUg2snSw69HK52OoUl5FiHAj+Ma7C0B+28E bWY42D21d2dTX/eFeTTK+iwDkfQI1JkYaGB1kVoOgrRXli71e4WeaDQOM6LONC5HIt89 bV5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="g5/nHkdG"; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id l73si11346748pfb.126.2019.05.06.21.06.11 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="g5/nHkdG"; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=RFQwlT4Xa6bVp5Em9dWQbH41T5/VxyUFyxeMfJ+yY74=; b=g5/nHkdGHC8OTftVlVKefRLlU OnEWB6pY56N3h09dNgqy2QYIKK5JrHDSnTun/Wah9Gs7q+XUN5B51SOntlAQPR9pGy9n9c4xdjYxI kjyGiANdj50P6cWGZ6vm4LFxo9/acEqiqiAmsCwYRtdVKMcsRQhg+K6Q/+yJZppJbAZ79t+oxbr2L OibP6CbRQdxGMzsJu8B2NcLmgIGwI7EX436U71frF7i64r6foEf+az+vcPAfdNZYvK1g88JKSMVG9 mO0UywPgV3hzHqaHCc7ndgtzVtQ4vnKH3QC6x8EfUYTlluRkuHT1kQ2Um+b1h0eG2fOllcbkDGqJb sq0ReUOCQ==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMp-0005hr-Fa; Tue, 07 May 2019 04:06:11 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 03/11] mm: Pass order to __get_free_pages() in GFP flags Date: Mon, 6 May 2019 21:06:01 -0700 Message-Id: <20190507040609.21746-4-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Matches the change to the __alloc_pages_nodemask API. Signed-off-by: Matthew Wilcox (Oracle) --- arch/x86/mm/init.c | 3 ++- arch/x86/mm/pgtable.c | 7 ++++--- drivers/base/devres.c | 2 +- include/linux/gfp.h | 6 +++--- mm/mmu_gather.c | 2 +- mm/page_alloc.c | 8 ++++---- 6 files changed, 15 insertions(+), 13 deletions(-) diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c index f905a2371080..963f30581291 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -94,7 +94,8 @@ __ref void *alloc_low_pages(unsigned int num) unsigned int order; order = get_order((unsigned long)num << PAGE_SHIFT); - return (void *)__get_free_pages(GFP_ATOMIC | __GFP_ZERO, order); + return (void *)__get_free_pages(GFP_ATOMIC | __GFP_ZERO | + __GFP_ORDER(order)); } if ((pgt_buf_end + num) > pgt_buf_top || !can_use_brk_pgt) { diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index 7bd01709a091..3d3d13f859e5 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -401,8 +401,8 @@ static inline pgd_t *_pgd_alloc(void) * We allocate one page for pgd. */ if (!SHARED_KERNEL_PMD) - return (pgd_t *)__get_free_pages(PGALLOC_GFP, - PGD_ALLOCATION_ORDER); + return (pgd_t *)__get_free_pages(PGALLOC_GFP | + __GFP_ORDER(PGD_ALLOCATION_ORDER)); /* * Now PAE kernel is not running as a Xen domain. We can allocate @@ -422,7 +422,8 @@ static inline void _pgd_free(pgd_t *pgd) static inline pgd_t *_pgd_alloc(void) { - return (pgd_t *)__get_free_pages(PGALLOC_GFP, PGD_ALLOCATION_ORDER); + return (pgd_t *)__get_free_pages(PGALLOC_GFP | + __GFP_ORDER(PGD_ALLOCATION_ORDER)); } static inline void _pgd_free(pgd_t *pgd) diff --git a/drivers/base/devres.c b/drivers/base/devres.c index e038e2b3b7ea..572e81282285 100644 --- a/drivers/base/devres.c +++ b/drivers/base/devres.c @@ -992,7 +992,7 @@ unsigned long devm_get_free_pages(struct device *dev, struct pages_devres *devres; unsigned long addr; - addr = __get_free_pages(gfp_mask, order); + addr = __get_free_pages(gfp_mask | __GFP_ORDER(order)); if (unlikely(!addr)) return 0; diff --git a/include/linux/gfp.h b/include/linux/gfp.h index e7845c2510db..23fbd6da1fb6 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -536,7 +536,7 @@ extern struct page *alloc_pages_vma(gfp_t gfp_mask, struct vm_area_struct *vma, #define alloc_page_vma_node(gfp_mask, vma, addr, node) \ alloc_pages_vma(gfp_mask, vma, addr, node, false) -extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order); +extern unsigned long __get_free_pages(gfp_t gfp_mask); extern unsigned long get_zeroed_page(gfp_t gfp_mask); void *alloc_pages_exact(size_t size, gfp_t gfp_mask); @@ -544,10 +544,10 @@ void free_pages_exact(void *virt, size_t size); void * __meminit alloc_pages_exact_nid(int nid, size_t size, gfp_t gfp_mask); #define __get_free_page(gfp_mask) \ - __get_free_pages((gfp_mask), 0) + __get_free_pages(gfp_mask) #define __get_dma_pages(gfp_mask, order) \ - __get_free_pages((gfp_mask) | GFP_DMA, (order)) + __get_free_pages((gfp_mask) | GFP_DMA | __GFP_ORDER(order)) extern void __free_pages(struct page *page, unsigned int order); extern void free_pages(unsigned long addr, unsigned int order); diff --git a/mm/mmu_gather.c b/mm/mmu_gather.c index f2f03c655807..d370621c8c5d 100644 --- a/mm/mmu_gather.c +++ b/mm/mmu_gather.c @@ -26,7 +26,7 @@ static bool tlb_next_batch(struct mmu_gather *tlb) if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) return false; - batch = (void *)__get_free_pages(GFP_NOWAIT | __GFP_NOWARN, 0); + batch = (void *)__get_free_page(GFP_NOWAIT | __GFP_NOWARN); if (!batch) return false; diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 13191fe2f19d..e26536825a0b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4681,11 +4681,11 @@ EXPORT_SYMBOL(__alloc_pages_nodemask); * address cannot represent highmem pages. Use alloc_pages and then kmap if * you need to access high mem. */ -unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order) +unsigned long __get_free_pages(gfp_t gfp_mask) { struct page *page; - page = alloc_pages(gfp_mask & ~__GFP_HIGHMEM, order); + page = __alloc_pages(gfp_mask & ~__GFP_HIGHMEM, numa_mem_id()); if (!page) return 0; return (unsigned long) page_address(page); @@ -4694,7 +4694,7 @@ EXPORT_SYMBOL(__get_free_pages); unsigned long get_zeroed_page(gfp_t gfp_mask) { - return __get_free_pages(gfp_mask | __GFP_ZERO, 0); + return __get_free_page(gfp_mask | __GFP_ZERO); } EXPORT_SYMBOL(get_zeroed_page); @@ -4869,7 +4869,7 @@ void *alloc_pages_exact(size_t size, gfp_t gfp_mask) if (WARN_ON_ONCE(gfp_mask & __GFP_COMP)) gfp_mask &= ~__GFP_COMP; - addr = __get_free_pages(gfp_mask, order); + addr = __get_free_pages(gfp_mask | __GFP_ORDER(order)); return make_alloc_exact(addr, order, size); } EXPORT_SYMBOL(alloc_pages_exact); From patchwork Tue May 7 04:06:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932243 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 492FB13AD for ; Tue, 7 May 2019 04:06:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3981C28892 for ; Tue, 7 May 2019 04:06:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2E396288F7; Tue, 7 May 2019 04:06:20 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 C5ADB28892 for ; Tue, 7 May 2019 04:06:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EDBF36B0008; Tue, 7 May 2019 00:06:13 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id E8B506B000A; Tue, 7 May 2019 00:06:13 -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 D54756B000C; Tue, 7 May 2019 00:06:13 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by kanga.kvack.org (Postfix) with ESMTP id 990046B0008 for ; Tue, 7 May 2019 00:06:13 -0400 (EDT) Received: by mail-pf1-f200.google.com with SMTP id i8so6962254pfo.21 for ; Mon, 06 May 2019 21:06:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=khFvxsLx4QWnQkDuPul5jtvX7t2XfQXch+bLgFiUiyM=; b=jgxNXkiCMC4tffMyLD2yRb+ZM3JfWRxPzoIg0KSsa8ptQ0KHTtGcYN707mYm1BFNc5 OZK177RqzL4x+Nf08LbHcZaj3JAL2EGzjdUMvimG2XJYFt4eh1geQLZvxr/n2Uvd45IJ d098/RzOgGRkMjOZUnpHedEPR4nSu2+GbKWds4Gob5z4xNznn/V6Yx2q4y3nt1p34Y/E oyVpXikeIoQ6an8j0rXkwPXMDGpqn99GFOcRl/WJnZGcZQSusAeSLyO4IOYbHLYiH05I b+spTf+luGShpR1boB/q93ZMRpUCfmpxxRT9fJlhNqGlRDXJFuWY+d/RDOGG/ZbOTiX4 9lLQ== X-Gm-Message-State: APjAAAU/Un8h092avS2ji4JSsN/5ACRIsqDC1lbaNtrtb2x2xsDn3Egg BJF/kLX5McLA5Pee3N8ai0akNir0DUN+BJf1wxoN4jb6UXKpjt7eTXr8WZj77Pfnr1P7Z7Ivor5 4Xnf+LVFBo//jcT6dKNQaAOThLvETlfVgQoHIOOESgFidz9Brut7MXJQ5rbt9ZeQpZQ== X-Received: by 2002:a62:be13:: with SMTP id l19mr39200855pff.137.1557201973296; Mon, 06 May 2019 21:06:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqwYnM30oeQeIymUoYTTPZatErDjKdSmgbBG2UdywjDBZKnJO0mM69gS12S5M7UDrUL5/C+c X-Received: by 2002:a62:be13:: with SMTP id l19mr39200752pff.137.1557201972099; Mon, 06 May 2019 21:06:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201972; cv=none; d=google.com; s=arc-20160816; b=WaYkUkg2LjkupvEs7cUHnFvbzKki4DFmy0QQf+rTsvezFHIcZvuLiKlRwpJinr+sjp X33nV2OvBkQP2gHVVI6SVS/rCJ2Rn/QxzNX8LscX/fROsdshpcWbp6oY3rCsMgnkCjwa /Q9+Gs16jchsF3wTmscN+AICRCB/3mbXPGA+Ha+zIJ4YXTU6M+qCzP8A1Thzd7KdIpU5 L4ivP4gauKTH07tHq4MvQJN9Uh8kl9vQoIN5A9qOvJpxUccB+XPDV9hivtr92obfLVGc 1+ZUMlAxqeSlHAw3sTG6kklwmXJa6yIifumdYhPMNVibxZ7JjyBropu1E/whLj8qDoL2 6JRA== 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 :dkim-signature; bh=khFvxsLx4QWnQkDuPul5jtvX7t2XfQXch+bLgFiUiyM=; b=OVzetjokvyfcwjXWj7G95WkvVC9wW7wYVm7mi64/vSxZRpyROxDcClp8xdvzkIY5FH rBTrIR8xJGi0t45bSv6c63tlO6sM42g1wGBNCJe8WRFAFR9rK2ER/WzjuFP0MzaPxhd8 2y4GjtNhqXlRx1v0ER5aInQz5WxpT3Jc1VsFtmlYOwc3mBM/bkZ6C50r+8wBiDnc88Mh YdJ5TSilbvZqaZq8WgxvJawkhRtJ09fL1e8ABYaG1SXkMw0rw/1abeHZ1FR2wCwj/Sjk xOikfXJE1Tfzt7zASZEBZk8gocidtFbgIKiw7Gg9Zuae8dl2aiZ9sL5vDo8fXQply8Ol ivUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=QpA7NsVg; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id co15si19604448plb.136.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=QpA7NsVg; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=khFvxsLx4QWnQkDuPul5jtvX7t2XfQXch+bLgFiUiyM=; b=QpA7NsVgcJhGDY7w6wvgzKWhJ XSZ0Ha1kTsPZcKq8p1GM9Ngsdwbvh0XEgg8T1JMAgqLM4ERshOmux0R54XdbswvKcF3pZFSbsW1Lm EzEUlGeXSJ2RN74qURipWGIxU8o4MSwTbskgQu9RPxFIppqpCg5cFHJYjSHwt7aidyshgB9NVuTq7 N0Aq0KjAyIm6NA/S4Xl71uWuNvEVrofAxoECPYyQghSeWRzgsrPjH5yB+PjgQ/tAtSNJh9OoCzNJ9 EUe+mqx0mZbXQXWSg1Xlmm4LICUhOhQDIwC0j03Fs5lIbFNDOMvtNMltcq+F0hC91cdwJuk5Fx3bV eqkAf92Pg==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMp-0005hy-Kh; Tue, 07 May 2019 04:06:11 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 04/11] mm: Pass order to prep_new_page in GFP flags Date: Mon, 6 May 2019 21:06:02 -0700 Message-Id: <20190507040609.21746-5-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Matches the change to the __alloc_pages_nodemask API. Signed-off-by: Matthew Wilcox (Oracle) --- mm/page_alloc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index e26536825a0b..cb997c41c384 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2056,10 +2056,11 @@ inline void post_alloc_hook(struct page *page, unsigned int order, set_page_owner(page, order, gfp_flags); } -static void prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags, - unsigned int alloc_flags) +static void prep_new_page(struct page *page, gfp_t gfp_flags, + unsigned int alloc_flags) { int i; + unsigned int order = gfp_order(gfp_flags); post_alloc_hook(page, order, gfp_flags); @@ -3598,7 +3599,7 @@ get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, page = rmqueue(ac->preferred_zoneref->zone, zone, order, gfp_mask, alloc_flags, ac->migratetype); if (page) { - prep_new_page(page, order, gfp_mask, alloc_flags); + prep_new_page(page, gfp_mask, alloc_flags); /* * If this is a high-order atomic allocation then check @@ -3828,7 +3829,7 @@ __alloc_pages_direct_compact(gfp_t gfp_mask, unsigned int order, /* Prep a captured page if available */ if (page) - prep_new_page(page, order, gfp_mask, alloc_flags); + prep_new_page(page, gfp_mask, alloc_flags); /* Try get a page from the freelist if available */ if (!page) From patchwork Tue May 7 04:06:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932255 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EE1C513AD for ; Tue, 7 May 2019 04:06:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DCF4E28892 for ; Tue, 7 May 2019 04:06:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D192B288F7; Tue, 7 May 2019 04:06:36 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 61A8728892 for ; Tue, 7 May 2019 04:06:36 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35C916B000D; Tue, 7 May 2019 00:06:16 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id E682E6B0269; Tue, 7 May 2019 00:06:15 -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 8773B6B026D; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by kanga.kvack.org (Postfix) with ESMTP id 339CF6B0266 for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pf1-f198.google.com with SMTP id d12so9384165pfn.9 for ; Mon, 06 May 2019 21:06:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=7iko05bFICWOWKRvHr1rp4IZvaezgt7QHxFn4er7634=; b=HgAMprmCpc76DdiLfEfM90RP1HxL5dgmRWH5UC64RW//xnpxCIbkOGKkFHLStforh0 vKEgP5yhjw+yXfeGCoLkk5O+cmelE7nH3qu6QE7bzFzN81FWbfNEyHJo1+pW8rVVnC3M +r4vCLyQl1MgFcYCIIQjHDWGbhs2ncFwChA8qaHhQgyRjndwCYy/rup/IOWS27H1UlHn usaYDkZpxU/+x0E6GfZty7c65UTgeu8CiWa/kR1n1FDJ7YUIxmqusej6kle2G6/Ad920 +5QU3QoaAcZYuLY4nhBYCOUG7VvsZ9OgO5fqy37DaWXHkF3eo6rM/NhnfPsOJh3FwdpJ HBgA== X-Gm-Message-State: APjAAAUrMOj98UiWiRLOtPR1eC/ZZmHNLpIkuI4L87OXg8Z5XZBIeQKq FZSwuLfJYRmWppZNteaBsX3o1eTn4JcssjA1RhHuT0es473a4vzj7fRUlPDjUPERjVwPP+yp5lq zqLa7B+3YpwYR+u4rkLiFwK+ZD2CYjn9zh2E+bF+rTZoGW1dvnlr2F7sm/+1vEUTC2g== X-Received: by 2002:a63:5c24:: with SMTP id q36mr36959578pgb.314.1557201974855; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqwLf4lgfhVDvw/zedrE/bxdo7lMN1f0rpfGrWBF49sNAyP7xsAFwinf9dUX42EW2BUc/pQx X-Received: by 2002:a63:5c24:: with SMTP id q36mr36959451pgb.314.1557201973295; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=hVdy7UnncyIQog02LCP3zTeOjNq027iT9eWHYquFBU62KLcykfc7UISKP9G6zrV68l 4fQjBDVytzYhB6Kgl7zGrU5dTIYNhL+BULu9ZXASJ6K29XKl/6ySjmaXx2KBt+Y6hz8q JSB9TRayvinWDS/Lm8p0Oi2d9Gy2cLM9las8zPoZbYftaTA575erbTzPQAsQpDhj5VkY 2MVp1bo/0hIdbZIhAfzBLpu0Q1TUsP0isab2UCE3BTwG60mD0HtlB3kEKmb8vyCFHmkA U17xihf/3QmrF1VZu10aGvxpig+p3kAZFXCtDAoxmFxA4aUeeKIhUYAoFgXbAaATGmyh hP8g== 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 :dkim-signature; bh=7iko05bFICWOWKRvHr1rp4IZvaezgt7QHxFn4er7634=; b=DFDScAr7VVC8ZxQCbzyixjC1J5ZSbzMfeS5geslQykGNQRa8sj4xPOy7ZqbFJq75oG AkQtyQVdVhsHFCjFjAKVw0dyPqitdOXHUWpxg4esHtrHhVVZ96QwDv668vuHdgwkoylx ac7fvOHLxBlStKJMZ5zVC1Q9bCyTE/+AQbjpNRl2Nmn4m7XkOqpLJS0A43uMaXTfF6hF 3R9Whzy1dM7HqRnIhBvtg9pS2qi9UTHX0ApOWoRCcWGSQLcAqpxIAsN/GuidOF5WrjPh 7TjH4ompxcW++IupqCKMuZU0DwpLLoblCh946nJl0hcIw6DjfbxJFlIgAkO69bEVYZdt +YlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=fzmshx7b; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id c193si4080935pga.6.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=fzmshx7b; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=7iko05bFICWOWKRvHr1rp4IZvaezgt7QHxFn4er7634=; b=fzmshx7bEsTwL0aXx8pQc8Txb 9ViD+/qd7VDIVn9gyHS5wB0pvK6PdibqR7H+f39Jlc9wMbxDNh5Ljxyc43MA+ZVvcEmclB6v1XCCg eND1NZAhN0UgOA8RaRjgn6zWbTN9/epEHKapSA3beepaKC4BKDfp0dIaCzMlUDHVKT2TS9ljV38/M x27O8Ujz31YdzNxilCKILJ6H5T2ywxIWcKDRIE6nnedQCWSuSCLukbByzm5doqaD2eBW+RaASqwqP GxaGJJEkGy2xVh0xTl2glu9JnC/CDS2gwnBnyNYZoMrWTmXkX+3E5Vo7za7FzFjcTyQsp9CPArik4 1o5hTVXUw==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMp-0005i6-Pc; Tue, 07 May 2019 04:06:11 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 05/11] mm: Remove gfp_flags argument from rmqueue_pcplist Date: Mon, 6 May 2019 21:06:03 -0700 Message-Id: <20190507040609.21746-6-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Unused argument. Signed-off-by: Matthew Wilcox (Oracle) --- mm/page_alloc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index cb997c41c384..987d47c9bb37 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3148,8 +3148,7 @@ static struct page *__rmqueue_pcplist(struct zone *zone, int migratetype, /* Lock and remove page from the per-cpu list */ static struct page *rmqueue_pcplist(struct zone *preferred_zone, struct zone *zone, unsigned int order, - gfp_t gfp_flags, int migratetype, - unsigned int alloc_flags) + int migratetype, unsigned int alloc_flags) { struct per_cpu_pages *pcp; struct list_head *list; @@ -3182,7 +3181,7 @@ struct page *rmqueue(struct zone *preferred_zone, if (likely(order == 0)) { page = rmqueue_pcplist(preferred_zone, zone, order, - gfp_flags, migratetype, alloc_flags); + migratetype, alloc_flags); goto out; } From patchwork Tue May 7 04:06:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932247 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C7D621398 for ; Tue, 7 May 2019 04:06:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B813628892 for ; Tue, 7 May 2019 04:06:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AC5EA288F7; Tue, 7 May 2019 04:06:24 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 5303728892 for ; Tue, 7 May 2019 04:06:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1209C6B000A; Tue, 7 May 2019 00:06:15 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 0D2FE6B000E; Tue, 7 May 2019 00:06:14 -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 E18286B000D; Tue, 7 May 2019 00:06:14 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by kanga.kvack.org (Postfix) with ESMTP id A98866B000A for ; Tue, 7 May 2019 00:06:14 -0400 (EDT) Received: by mail-pg1-f200.google.com with SMTP id z12so9461576pgs.4 for ; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=saHc0AmwsOE8vEyEvS44cYuqIl0lg5B+4IKiffJ1aEc=; b=NrwhrKLgviHMHHC9N5byHSt6WSZf6bD8Pfs8WGmrnTnUKdOP7Nkj0EiYDIqNKJbUOw NSkWY7z+3F/Jcux5ia4KhYrr2azRPfHJ57TFVlhBFbRWX7ZPXIbqRHgT/yQvhvkzMlmG L6iNiRS19ySxJSn3i91svT6u/kGItmNEoxzf8n0BP1Es5ewff+n1rL9ghYSkDLSKsXjc jqKCGVD5g7f8hHg5y2zwd7dqc0P5HbGo2VEuy2gWWqnYdvgUl3YHIlxgf7tZ+sZgQyXw kF0VkNl1i06XLK0gRzhGBo1VMIS3Mc2X1lUhI1pelyQCWypPrWd+rVoUu/c0PSqZFca6 ujyg== X-Gm-Message-State: APjAAAXKEwhTrWorVzYY6q6tZEQS2YgsYqS29D/gSjHYBOpdTpo/XHfg v7BdCy5lDdKbNxv/BWrDnx+Uvao7C4mVnhbTk4Fi8FtEscN4PKvi5AkpMV+QxgXbfqLf9/rUZ4W kbBEQ9DYRQ4x8zh5OikorADKHD1p1eWVpsWFVKx1xfPLTGT9Vf8t7E6ZPqoZbCMWOPQ== X-Received: by 2002:a17:902:b614:: with SMTP id b20mr609065pls.200.1557201974350; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqymDl8urmZ6D8RLOXxj3O18EJtWBZNsP9EUyqf/ddrFuU/fPt7Ybd2PSlM5lUYJHBtSoob8 X-Received: by 2002:a17:902:b614:: with SMTP id b20mr608983pls.200.1557201973293; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=f2kRjmloLrO/CV9S0kzNqte7kJCoLhHF3bNh+e4DHFVeKunTtjm99Sq8v2Vz9NPWDS g1ogDidb/BOkp7L/8Hi/jYYI0h13vf/M83CPT6LDyebgt0TV6LGC8wsWN4KgAHATcYDa 7felJ7t+WVrsEehptvCS/IKrjLMC7LfyrT/6tWqQHN3nZ+urFPKibUDeMpFz0mqzhKHv dKT7raOGyQyW+PDKl5bKMeDz4s6VvsgibuBAsBGvA1tEROP/dshesEHFHSz37WVHDASX crzZENXvUKPd0tw8mHWC5CG9EEmRKvjOSJFlhtnVsoBM+QOvrtoQs+4jaC8xT1kr32TK 53ZQ== 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 :dkim-signature; bh=saHc0AmwsOE8vEyEvS44cYuqIl0lg5B+4IKiffJ1aEc=; b=DBGeSjC0mOqHlSoK3ohdnpbHgm3MWPh2W3szVsboQ9+KWwi82cnZuRFvvzqINmbyP2 xrKTTgnBgFRJYf4TvzIJpY8tDvOVXwBDNNViXWFO29wZ6MK3Tn1CvgsaEc90v83J40i+ zn7YbTBgFCvLwyW3bux8I7PLpMhOKeIXIbQY98MXNM20JCNKD3/2wEIbEFZIwEnLoWLO p23od3vBY3+OqyYYOMDwhizc//ZQ4Kz7dWxJRrq6lqZbrkvcezmgcG5eO/7O8SNEvUGa 3GVB6qK69C7AADHORwqB+a3SnBlt2yXBp5wR77tqMKQaTm02+fZEF8fBRbj4JGFs2d+S LUuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=MpBlABxw; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id t1si4174784pgh.406.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=MpBlABxw; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=saHc0AmwsOE8vEyEvS44cYuqIl0lg5B+4IKiffJ1aEc=; b=MpBlABxwNF2L7B1qWsguQlIOx WRmt9OY4g3+b/JMlf/udIySt0hk/3x4QEuJxUecz5HlQTINPI5IZcwEfLd7IcP3TDCzvj1kBngTqC xQw1KWiEsCG4z1ziRL+r3GVwbjVJnKMjSdJwafbJcQTZcypTs/x9JbepG0pxva8djvkT6czjtq4J2 KLJicQnQkyNNAQfxCskYaCnqXZu8ZAP5llwuSOtditLMAcGA3cvHoIlj0yfIv+eioYRwX5LWHbo2F jIHSSqh60FPqwA6sRhxXDwMK7RhJYSmXxAvDxah0ryWd7MP4oS2exNtluXaobqLLhigW/+PeF7+jg GzvcDa3wQ==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMp-0005iE-Un; Tue, 07 May 2019 04:06:11 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 06/11] mm: Pass order to rmqueue in GFP flags Date: Mon, 6 May 2019 21:06:04 -0700 Message-Id: <20190507040609.21746-7-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Matches the change to the __alloc_pages_nodemask API. Signed-off-by: Matthew Wilcox (Oracle) --- mm/page_alloc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 987d47c9bb37..4705d0e7cf6f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3171,11 +3171,10 @@ static struct page *rmqueue_pcplist(struct zone *preferred_zone, * Allocate a page from the given zone. Use pcplists for order-0 allocations. */ static inline -struct page *rmqueue(struct zone *preferred_zone, - struct zone *zone, unsigned int order, - gfp_t gfp_flags, unsigned int alloc_flags, - int migratetype) +struct page *rmqueue(struct zone *preferred_zone, struct zone *zone, + gfp_t gfp_flags, unsigned int alloc_flags, int migratetype) { + unsigned int order = gfp_order(gfp_flags); unsigned long flags; struct page *page; @@ -3595,7 +3594,7 @@ get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, } try_this_zone: - page = rmqueue(ac->preferred_zoneref->zone, zone, order, + page = rmqueue(ac->preferred_zoneref->zone, zone, gfp_mask, alloc_flags, ac->migratetype); if (page) { prep_new_page(page, gfp_mask, alloc_flags); From patchwork Tue May 7 04:06:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932253 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F380A1398 for ; Tue, 7 May 2019 04:06:33 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E2CC228892 for ; Tue, 7 May 2019 04:06:33 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D732D288F7; Tue, 7 May 2019 04:06:33 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 5989E28892 for ; Tue, 7 May 2019 04:06:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F2BAA6B000E; Tue, 7 May 2019 00:06:15 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id BA8946B0266; Tue, 7 May 2019 00:06:15 -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 6C4B66B026C; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by kanga.kvack.org (Postfix) with ESMTP id 280C66B0010 for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pf1-f200.google.com with SMTP id e20so9344649pfn.8 for ; Mon, 06 May 2019 21:06:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=wGzNr9K0w/HZEu84/iMrFXSJjD26OCxJ1guluG3054U=; b=szHP1C8FBl4WW+XWohuF7eqaGDroqVwwXH4kFNLTjrF6sSKrRH+tWAkjKXduYXyfUu 2p6BJi/GDvWjPRLcdq0m97oT8BzaVOB3PORdAiE0iCydLmJTly1stlDmHXnO+AM49mdW UVMN+NVOFWBfxG5xv0Dh++xxdZp6KUmijQvPTXxiTbjkDPqpkbfVk4wqpIqgxf2a7kzP UXtypPfGMGmEstNBi328//TZn/FuVgSDMxUB3/zG/gPAjTo2ErIpmi4PiNALhPZ0YKf0 94Dt6COUP2253R/xS76/78+8fCKwNa6qzbkLkDEmf2tmCXRqTpfrSyk+JEJBGTpx/XVV mkZw== X-Gm-Message-State: APjAAAVuJoi/2XGKdhP0iHJxQMyKd6uuZoiTwUk1j5KaTscamQwJamC+ ri6zGW8wvNGYz87iRf4wceaHPxsrkLsq0Fmb6gQMDdVjOuZBD/s4cKoF4IwkrNAzghsnpYAwJwU 8s1mmL2zAhittN83csCCxlsla2KEfhhInRsQTn6fQwlwqM0LfHUg5b7cjkQCm1R3GTA== X-Received: by 2002:a63:d756:: with SMTP id w22mr9045421pgi.382.1557201974832; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqxeI8BMkvaR+XLdhnVkBPPklnFg5P3b+AxZu4D9PjekhjlOA/9R82IRMRJ+04sDz1BjVXp8 X-Received: by 2002:a63:d756:: with SMTP id w22mr9045290pgi.382.1557201973295; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=BPxiGeHBCxEWvpEUSwPTJ+87RzIV2w49fxfqfI0TmnxhAhJzqvSOQcKkWJ8qL8TWou VQELEAO+hxLco2R8AjUIV5nOtcul38DY8lSlPjLwYBVCjzTO8VtRVWn1A3NNcLN0St5F Q24VGImovQSeO7hIWH9UlLtDK/4yWmM43+cU2Ag7rJoqZux97bMoJOhgob6oXvao+dhh plsS2silsjl606iBCijeoL7S2KtEBA5wfkitRV2+K/597P8JM7ElGvIAigcpJwz7t8OK AHkrkB/UBuG3GqLkvpDfP5wvg+6iaTAEUvqJDVkmBdvZw0K1BFEc+BWyoLIR+j4LUaNf tKhw== 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 :dkim-signature; bh=wGzNr9K0w/HZEu84/iMrFXSJjD26OCxJ1guluG3054U=; b=vvoGIpadqLD01Cjy27jgKYzhihcOK6E/br4m1Y3kRL1zLZldKUmOK4bb/ZsWsPx7MB jhNMAGLjoBgGr5OIOlwnMwIdCr2+8EwP+X3kPNVEURZt+GLSNqi9zdUErpc5+fAnYtSh VSKrV6NtjXQcbqqgEQRyK7g2URzLDMQGPiLy3Hc8hMzLRIP+Ycc3ZELLECZRGqSKFd89 ar44kKdbxga5Ht+gafIebT7zEsbEuDWzCVUDrFFQkO9y00fLSX0W77ZoGwymnIB6zxs7 MpyfI9Nx8H6OB0IShNEoDNZpGgVP4u3vSr6uI0DganOqWRFoujRxQ5+FPJxoCwwatABp 6hvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=ue5UACfc; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id f20si16498259pgj.278.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=ue5UACfc; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=wGzNr9K0w/HZEu84/iMrFXSJjD26OCxJ1guluG3054U=; b=ue5UACfcKVyG7b7w4n22JBdSi DsK9deqmRWyhM3PEBBnYalTSu1RqDOBS7nyNySxs30vqLk+jIGPZhIWneANyhKoVZrwaOc7hIVvyT krfi/cbIdkVX3rxFlfKFTSA4lNuvcj985OU41zh1ThXmGWEyUC6llFwIdLxM6esw+zkgLgeduq7V2 iukFlqfzZ/c3uJuuuFxVZZahjShQxb7Pl76ATe9HPUKzpWdqFiVek+x/Iv7+YzFyUAIcg93BWZKys U653/8fX3gdT96EFYt3TWC1vWwx2T9CsHl864uHD8C+UZvCRzt3IfVr2RfMne6ifQ14iaoGQMqkhu pJC4gORAA==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMq-0005iO-3n; Tue, 07 May 2019 04:06:12 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 07/11] mm: Pass order to get_page_from_freelist in GFP flags Date: Mon, 6 May 2019 21:06:05 -0700 Message-Id: <20190507040609.21746-8-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Matches the change to the __alloc_pages_nodemask API. Signed-off-by: Matthew Wilcox (Oracle) --- mm/page_alloc.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 4705d0e7cf6f..cf71547be903 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3482,13 +3482,14 @@ alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask) * a page. */ static struct page * -get_page_from_freelist(gfp_t gfp_mask, unsigned int order, int alloc_flags, - const struct alloc_context *ac) +get_page_from_freelist(gfp_t gfp_mask, int alloc_flags, + const struct alloc_context *ac) { struct zoneref *z; struct zone *zone; struct pglist_data *last_pgdat_dirty_limit = NULL; bool no_fallback; + unsigned int order = gfp_order(gfp_mask); retry: /* @@ -3684,15 +3685,13 @@ __alloc_pages_cpuset_fallback(gfp_t gfp_mask, unsigned int order, { struct page *page; - page = get_page_from_freelist(gfp_mask, order, - alloc_flags|ALLOC_CPUSET, ac); + page = get_page_from_freelist(gfp_mask, alloc_flags|ALLOC_CPUSET, ac); /* * fallback to ignore cpuset restriction if our nodes * are depleted */ if (!page) - page = get_page_from_freelist(gfp_mask, order, - alloc_flags, ac); + page = get_page_from_freelist(gfp_mask, alloc_flags, ac); return page; } @@ -3730,7 +3729,7 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order, * allocation which will never fail due to oom_lock already held. */ page = get_page_from_freelist((gfp_mask | __GFP_HARDWALL) & - ~__GFP_DIRECT_RECLAIM, order, + ~__GFP_DIRECT_RECLAIM, ALLOC_WMARK_HIGH|ALLOC_CPUSET, ac); if (page) goto out; @@ -3831,7 +3830,7 @@ __alloc_pages_direct_compact(gfp_t gfp_mask, unsigned int order, /* Try get a page from the freelist if available */ if (!page) - page = get_page_from_freelist(gfp_mask, order, alloc_flags, ac); + page = get_page_from_freelist(gfp_mask, alloc_flags, ac); if (page) { struct zone *zone = page_zone(page); @@ -4058,7 +4057,7 @@ __alloc_pages_direct_reclaim(gfp_t gfp_mask, unsigned int order, return NULL; retry: - page = get_page_from_freelist(gfp_mask, order, alloc_flags, ac); + page = get_page_from_freelist(gfp_mask, alloc_flags, ac); /* * If an allocation failed after direct reclaim, it could be because @@ -4363,7 +4362,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, * The adjusted alloc_flags might result in immediate success, so try * that first */ - page = get_page_from_freelist(gfp_mask, order, alloc_flags, ac); + page = get_page_from_freelist(gfp_mask, alloc_flags, ac); if (page) goto got_pg; @@ -4433,7 +4432,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, } /* Attempt with potentially adjusted zonelist and alloc_flags */ - page = get_page_from_freelist(gfp_mask, order, alloc_flags, ac); + page = get_page_from_freelist(gfp_mask, alloc_flags, ac); if (page) goto got_pg; @@ -4640,7 +4639,7 @@ __alloc_pages_nodemask(gfp_t gfp_mask, int preferred_nid, nodemask_t *nodemask) alloc_flags |= alloc_flags_nofragment(ac.preferred_zoneref->zone, gfp_mask); /* First allocation attempt */ - page = get_page_from_freelist(alloc_mask, order, alloc_flags, &ac); + page = get_page_from_freelist(alloc_mask, alloc_flags, &ac); if (likely(page)) goto out; From patchwork Tue May 7 04:06:06 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932249 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 52EB313AD for ; Tue, 7 May 2019 04:06:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 412EE28892 for ; Tue, 7 May 2019 04:06:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 348B9288F7; Tue, 7 May 2019 04:06:27 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 C2D3528892 for ; Tue, 7 May 2019 04:06:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 877446B026E; Tue, 7 May 2019 00:06:15 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 789276B000D; Tue, 7 May 2019 00:06:15 -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 58FF16B026A; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by kanga.kvack.org (Postfix) with ESMTP id 06EA36B000C for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pl1-f199.google.com with SMTP id f3so8477284plb.17 for ; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=/u0vOVQKw+fJn1VxLvHzBxuzAWiMbUPY1llj2pC/tb0=; b=cuuKWOsEhQ4t/s68HG+WqZ3rI2HQBo8SCNdQX8kJ3jP7CyUfQS+sscyNkMR0xPTUme lOJ5vvI7Qad2lDMpEknqMAMyYW41SyLvJ+MWYN9tLhKVGd1yOVk2Qv2k94FI6dLiIRxJ 37tIvoJ4hf1rAK1+5lhoLQGfjGk0R+e7vCgms01a11bJY/o3sgjo7XPzSUvR2DzDJWaC i4hramRL1fHyLs5SKZH2MlEBRupYkWfSjohHSSXl8PowSpBEq1gFbqtvY3qr1Y0tZ0Zh Tjdvyis1RD3rg6XO3F4iDcpqfJZUULnq8yApDv/ocEj9S3Wyk+8My9gvuHU0jSnCM44o 7dww== X-Gm-Message-State: APjAAAXwck02pC7ezgTkAcKIbjFjkQ9ypOenRcCrc7AgQYqRlsArcBHd eE3R6Tjv1lcgMtapqLFm3vd5Q1TAZhwNBrfTv4J0LzXwZVAbJkiupeBmCFiEEoCMzfSaOekGZuu 4TyqaWfE9byrihM9U/B3BOAop1jICf11m8+izG5u9HMLkwrLkUebeRKN3XMHSuwU9yw== X-Received: by 2002:a65:4341:: with SMTP id k1mr31185464pgq.88.1557201974659; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqxCuez4BJet+SuFjlMm7dEy20b5gWeBwqRsCkTnv0V6L8SFcO1QV+Hx4QJkM5QbFoVMBRu9 X-Received: by 2002:a65:4341:: with SMTP id k1mr31185354pgq.88.1557201973294; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=hMlGik/Rf10saxSQo0jZxy/Po9nvzImzFQJ9i5i8LP7k4cATwHHisw/W89mMyH43sm xoMgDye2W5S4pY3JYAhmC5x9ZxNrJGQTSXuVjq6q/+m1Q2MilPepqvV5mIdIBJPo+jDc QlUwnWUp9uTzksbp/iQwmP/g2fVyN5JToT3dDRPuzcHQ95oSV8HU/0inNCAxhvs2aR7w 43eKXvNVz/+wYPdqn8BatgEhrydcyF7tG4JnhUrjLo4X4rcm9VXDdeY4qIbaTNRg732I g4YJtUlR3CLbKNmUm2KHVZOZh2OAG68rEN6FUoT/6uELYOzWzAQ/BYzDQr2eNxny6XMh 891Q== 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 :dkim-signature; bh=/u0vOVQKw+fJn1VxLvHzBxuzAWiMbUPY1llj2pC/tb0=; b=b+pc15Xx21EBtkJnI2B6naJDf0Jy2sWf7xVxZzVzLnizsJW3vzM4i53HkAdBsqYKzm bbrOdRSYfXOIAwDrrANXN6Pwo37Ggtg9vX+vRlBoUsab2zeBzaJfwMiNH0DAXvQmVWCX NzSRgoeZS3S7e8WKahtGl1OBJM1/tgT1CBEa7RU0GQ2RbscFqcFnAZW1/Vy8y3XTXE13 nUB/Z9R/2DPN3uwP4lbf6Ept46nz7Ea3BoCdMmmMZ7CcGUm9o4SLyqmUNYabrxmtnhVa dVq6xk1n3K4MXKjNpABdTKHimXWtnePcfzey0vYryb9EDpF0EeA986PuYL7YjeT9YYnX kLfg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=uq8I9UaK; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id 36si17530679pgw.281.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=uq8I9UaK; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=/u0vOVQKw+fJn1VxLvHzBxuzAWiMbUPY1llj2pC/tb0=; b=uq8I9UaKu7lWZVBtZFrzS5POw oI5d4E8K64K+NvG29/Gnj14X3TJZT3Yh/XKIrWCsa7g8mdB/rkXBH0VDQztXqmq0rtm4yEpbnYvE3 hT9LnKHiOQiyzfDM4Oyvc2gDuOXmtj4Q96MQnRWB+S2mdf1oPoKKXIOOpBz9r/AYU0WRBIUtKRqOR fenZIWjC5PGtIHwBYTugELvok16tDW/zquFWVNTOylcql7QgWlm6uxKehtEKi8kfDTw+PudlwB85k pCrOe7+fh8J3X7WaU/48HkWicbOu5kJblxf0UK9DVmNzg3CJEPXUqiJm0KM1ez+RqFDhZK3BOTICH jJCx42Xqg==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMq-0005iX-9D; Tue, 07 May 2019 04:06:12 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 08/11] mm: Pass order to __alloc_pages_cpuset_fallback in GFP flags Date: Mon, 6 May 2019 21:06:06 -0700 Message-Id: <20190507040609.21746-9-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Matches the change to the __alloc_pages_nodemask API. Signed-off-by: Matthew Wilcox (Oracle) --- mm/page_alloc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index cf71547be903..f693fec5f555 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3679,8 +3679,7 @@ void warn_alloc(gfp_t gfp_mask, nodemask_t *nodemask, const char *fmt, ...) } static inline struct page * -__alloc_pages_cpuset_fallback(gfp_t gfp_mask, unsigned int order, - unsigned int alloc_flags, +__alloc_pages_cpuset_fallback(gfp_t gfp_mask, unsigned int alloc_flags, const struct alloc_context *ac) { struct page *page; @@ -3776,7 +3775,7 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order, * reserves */ if (gfp_mask & __GFP_NOFAIL) - page = __alloc_pages_cpuset_fallback(gfp_mask, order, + page = __alloc_pages_cpuset_fallback(gfp_mask, ALLOC_NO_WATERMARKS, ac); } out: @@ -4543,7 +4542,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, * could deplete whole memory reserves which would just make * the situation worse */ - page = __alloc_pages_cpuset_fallback(gfp_mask, order, ALLOC_HARDER, ac); + page = __alloc_pages_cpuset_fallback(gfp_mask, ALLOC_HARDER, ac); if (page) goto got_pg; From patchwork Tue May 7 04:06:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932261 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A0E8E1398 for ; Tue, 7 May 2019 04:06:48 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8D67228892 for ; Tue, 7 May 2019 04:06:48 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6ED1C2891A; Tue, 7 May 2019 04:06:48 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 EBDE728892 for ; Tue, 7 May 2019 04:06:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B9FF56B026A; Tue, 7 May 2019 00:06:16 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 5B65D6B0266; Tue, 7 May 2019 00:06:16 -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 EB50D6B026A; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id 5C1856B026B for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pf1-f199.google.com with SMTP id e128so9332532pfc.22 for ; Mon, 06 May 2019 21:06:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=OxdSSHoGAqmrkmVLEptBFC1YPta48P8T/Z5/nTGxU7M=; b=GDfVxegiRuUfISOJoaTWUVVrEB0RIwfI36KtjCWHdtxpgmO2uQ0Qq+aPmzEVu9WtmM 7w/M1KnJzGSZKahniF4g4A8j1+Mds3e8STkfW8mX4HAMZGjmp/DU94Tj6/Z9BANAwby8 +fzRUPMH4yOZKMCkEbbPNINf3eBIAwzRpyVxR7rF5vrKh5rmws0Q+NrNi5oGZev9u0jr 21o6NgW7wSNK0LT/sceUIaUcm8MJLLIyJ16vv69iI0tyRtB2MSoFeBSIDFkhDPExeMEe wCsd0HuFi50NxcRC5i3d8xagDIA4vkJ9FSfI79hU5zEoDK2scR5sLgYywLToeWfGYN5P VHbA== X-Gm-Message-State: APjAAAUa7SsioGstRV5qU3OEYGD4/N+AKuhvAj7tJ9BSarCHG4d97mKm TkdKpuHJuFCVLoOP+lFpn+YyglxETpelwkBzNZd+/h+kHXjB3IucyMdb9sfwIVBzlTNyVt673py yTlMoMdKEPzoCXjwFmnyImi2plihSLBMRXoHFfI97m980D7pZP6iKBsLsqRzjIQP7/g== X-Received: by 2002:a65:4302:: with SMTP id j2mr36772500pgq.291.1557201974785; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqwKY98CBk1uApR58c021PLDh6+W1MQSwVPJuOW175/rBRP0JQFd1+iNfPlqF79LVbKNYmVD X-Received: by 2002:a65:4302:: with SMTP id j2mr36772380pgq.291.1557201973314; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=Zm8VnF7UaxYVZhm8jWChK+BzOMqPDb+jbd83RL34es7VAAHnBdl7yygZO9FTwCJIfJ Or5nAeD3ehPDrvnVZ66yhBTW1znJrKF2MRAE5QU9bImi54xle/38C1/JvRZPPU1tSLIO Vnkx3wmI/lFT8nlRYsvnom/0BjAt22vDgc6SdyycBg1zQZkcY2+wzOB8NUdFDkfPEdyL zWSMBpRivZIw9Vze4t6g/aBBQAWmZmfRby82XnyuBoQCIxPT8EJ1Y13jyMhrgjaFWdW1 lhL37ORyFhQ5seynGPlSYulol5uYGU8ITLUWL+gssPW9LJTcDQ4rcacbNebmBu7MHaiT B0EA== 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 :dkim-signature; bh=OxdSSHoGAqmrkmVLEptBFC1YPta48P8T/Z5/nTGxU7M=; b=d64S8btMjZuO6d67gXUYDZ3QqrvJgR1g1mwEnwBy7vIA2D1p2BVOhWZBCwHpGDbvA1 RjpODXYxTff+DaBxKUHJlJDQ8cq02bepdxZ8F6a5yt7Iq7Vwcn/0+3fDxmk0w7tmmS8o 13otAxnRTT/3M1e5pshxtUrDH5xHX+4KgHl5G0WK0bkMh66skzsKFhLV9B6K7yhYmzX6 Rx3ik5L+Q0ofelR9KCgqUftEzd6zHsC6Jdn6mgrNkSOOwgSRz9Vb9iJPzXsVaxw2Rwkd ndlwZ45Jt/72VPynwCScA8O2FqkztPcKQuLP4ulNoxUIiX9gpR+BUltUG6C9k2wAXbfe j51Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=du86YBBb; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id c11si18130862pga.462.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=du86YBBb; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=OxdSSHoGAqmrkmVLEptBFC1YPta48P8T/Z5/nTGxU7M=; b=du86YBBbxi0LU5yBXgfT0I4sA M1CBvj67NZNMmcb8I/6k+oHkeaeRlJaGjiDRbSK/H61K2/vW0PKbzhg4Os4B9umrwPhjsu05AkT47 njOJyNxEQcD7lFfETGKjDibXDOTKIwZWalvw4Df7uTOkqYLZTD3b1icrTvT+JN/wXQsEvczRYKnHL oPzSqjIcRP72d89J0rrLfqbDT+6LBJlPD8w0KQhYWghA/xxYpnUUK030NPrxzB7xpUTuOyezh/7aQ 6riv7j5+g4pJw7rt/dQ5oLW+g/iSPLWfNa0EdLdGlRrpTiTphrXFycnwanmCkubsAzdKnfg9hZOQi gm9eDfqdg==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMq-0005id-EH; Tue, 07 May 2019 04:06:12 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 09/11] mm: Pass order to prepare_alloc_pages in GFP flags Date: Mon, 6 May 2019 21:06:07 -0700 Message-Id: <20190507040609.21746-10-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Also pass the order to should_fail_alloc_page() in the GFP flags, which only used the order when calling prepare_alloc_pages(). Signed-off-by: Matthew Wilcox (Oracle) --- mm/page_alloc.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index f693fec5f555..94ad4727206e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3247,8 +3247,9 @@ static int __init setup_fail_page_alloc(char *str) } __setup("fail_page_alloc=", setup_fail_page_alloc); -static bool __should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) +static bool __should_fail_alloc_page(gfp_t gfp_mask) { + unsigned int order = gfp_order(gfp_mask); if (order < fail_page_alloc.min_order) return false; if (gfp_mask & __GFP_NOFAIL) @@ -3287,16 +3288,16 @@ late_initcall(fail_page_alloc_debugfs); #else /* CONFIG_FAIL_PAGE_ALLOC */ -static inline bool __should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) +static inline bool __should_fail_alloc_page(gfp_t gfp_mask) { return false; } #endif /* CONFIG_FAIL_PAGE_ALLOC */ -static noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) +static noinline bool should_fail_alloc_page(gfp_t gfp_mask) { - return __should_fail_alloc_page(gfp_mask, order); + return __should_fail_alloc_page(gfp_mask); } ALLOW_ERROR_INJECTION(should_fail_alloc_page, TRUE); @@ -4556,7 +4557,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, return page; } -static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order, +static inline bool prepare_alloc_pages(gfp_t gfp_mask, int preferred_nid, nodemask_t *nodemask, struct alloc_context *ac, gfp_t *alloc_mask, unsigned int *alloc_flags) @@ -4579,7 +4580,7 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order, might_sleep_if(gfp_mask & __GFP_DIRECT_RECLAIM); - if (should_fail_alloc_page(gfp_mask, order)) + if (should_fail_alloc_page(gfp_mask)) return false; if (IS_ENABLED(CONFIG_CMA) && ac->migratetype == MIGRATE_MOVABLE) @@ -4626,7 +4627,7 @@ __alloc_pages_nodemask(gfp_t gfp_mask, int preferred_nid, nodemask_t *nodemask) gfp_mask &= gfp_allowed_mask; alloc_mask = gfp_mask; - if (!prepare_alloc_pages(gfp_mask, order, preferred_nid, nodemask, &ac, &alloc_mask, &alloc_flags)) + if (!prepare_alloc_pages(gfp_mask, preferred_nid, nodemask, &ac, &alloc_mask, &alloc_flags)) return NULL; finalise_ac(gfp_mask, &ac); From patchwork Tue May 7 04:06:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932259 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1E8741398 for ; Tue, 7 May 2019 04:06:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0DAF828892 for ; Tue, 7 May 2019 04:06:46 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 00D8A288F7; Tue, 7 May 2019 04:06:45 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 D75B928892 for ; Tue, 7 May 2019 04:06:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 920F06B0269; Tue, 7 May 2019 00:06:16 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 233DD6B026B; Tue, 7 May 2019 00:06:16 -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 C1DDC6B000D; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by kanga.kvack.org (Postfix) with ESMTP id 59E256B000C for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pl1-f200.google.com with SMTP id a17so4335410pls.5 for ; Mon, 06 May 2019 21:06:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=ph57y3psFSboTB6oeGLFzcczorSnDzHodEP/gLy6/C4=; b=uJu3WMy1P665mcwh6JduTKBnk11lY/NDG23lNMN2928huDX3WzGmelUIlAWuixUVKY RDpy5JaQ5cMP++67rrlQ0GbTFRvKD05FS2E02F8AjYnF6lFcK11/Kp3rLKhrqeVQZUPl phxqBmZUCiN1jARrZ2/4iknfSLrKW6bmQ7se89wI9IkLEDbP8a4Dhh8sdigG2Gx+dxP6 BGma5YQas4HqCfdQFxdXLaJViY57hnziw03amD4kOsW5xYXmSN/MJ95TcPR78khCRMJi tsJmZ+C/SrMl4/va8pb5pF0I1bXGohOtIPAUMSxdiUr0D1x9ExhVgxiU/UPpsJXrkMTZ 72GQ== X-Gm-Message-State: APjAAAVaFFlTIRm8iUeC41ClKXHdWhxpKmn5awEKDlxyMeER9S6RMG0A IH8pmCn2kGM/cPUTM56szkliHdT28R/hfVYvjrXPCKusdzbKBtfHPBPOBH0Q0QX3I4sIBHMy4UL KBqgPiPHBfgq0m5iHnTFx0+bCxAaGcbdPRb0ueKxxKMiClp2m1xWTbglYoGrbVEbtog== X-Received: by 2002:a62:ac0c:: with SMTP id v12mr38067240pfe.59.1557201974598; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqxoGjRH1K3QdoCdGWpm6zHiMQPlWozjjX1IvUznKVzu4CyR6guC2qz60KEGAc56WdPIkKSv X-Received: by 2002:a62:ac0c:: with SMTP id v12mr38067124pfe.59.1557201973080; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=ItEC+YIbXAOw77s1ZRePPgD3DgLmiHlqy3oachuYUvJVb3mszn8Nf+dHuqBq2Q4qHF xHVNjzhW3WHFuQ/SY9psteyg3VWGdRMb1nWiPZ02BxRMWYSsUAy6nxmu5AS+2vlSSwIY qvmYZtZ64Cv1GMwfiznYBR/oSDFougD+hqGt6WeKeynMC+ycT4kKd8kOYXHaWGLxY0K7 dwiTv6l1l1ubkOM48gIRpF9pP1XzCDB2UvBP+AuVKVAM+0pxKhFA+hTY/+4bG13OgkkH onmdAaGtuaQXglrB67kQDCD9hcVF7KXDoXW3Z3lB5BdUUY/5l9MbrtlgKM2hut8V0JwH zVVA== 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 :dkim-signature; bh=ph57y3psFSboTB6oeGLFzcczorSnDzHodEP/gLy6/C4=; b=A8hou7BgJLA4VZqr4r5jtLLQjoDZy/470JgKQEWh2Ng1NTPRGmmYhsXXLzxrgJokru nhmNHD4vMvNLvCIPxDj/LYwDqTqqzG6ArLy1XB3s4TOYppZ+t4VpdfMazgPwrPFtnqvL qB9T5Y0ocH0DrYSr2U1ES2SEMdGO7JM3O6XhPx3E/YFOPlAafZFionwsjQphRoSiD117 3T3eDe6D8SHUKUSyvBEKl3UCfgnD+Hv29O1AKKjuXRWOIes3G73jWkfXpeKNN/VX1VLC p9rJbZGqu95AWogTkBKPCBcg8SacKuawdr4W1l30Y2pahdoJOEem/4euxZddROY6rKIp VWqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=fLPKkGN+; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id p1si4599197plr.220.2019.05.06.21.06.12 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=fLPKkGN+; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ph57y3psFSboTB6oeGLFzcczorSnDzHodEP/gLy6/C4=; b=fLPKkGN+xJhpjM3fEvIdk+D3v 6C0JyeelpBRRqTGVjCRmHT5unuq/gbYy1s0jTv8S8MWhct4Ur2S4zRt7+tr5v3rFVGLv8qKsw3Vzx bYicahz/WFcTJ5aiVtZeLSuHvbT9Av77LOB6C7wo4HTq+4oG9+/QC68IZo4humKA28wDQQEC1L17h jGBJ2MMTeAsd738rU16XRR8At9Lhq1rLiwXQfpgNbekMZF3txZM3fpfjODwCsD9+tcVi9x0GPKFWG lBzbTaFTpwQkkwMtAwp4Yq4WqGhaao2y90Zny04vfoU0+uH8hzyP2fnZi9ZNiT4PREaZuuhVhnxSY yZGEnkDRw==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMq-0005ij-JP; Tue, 07 May 2019 04:06:12 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 10/11] mm: Pass order to try_to_free_pages in GFP flags Date: Mon, 6 May 2019 21:06:08 -0700 Message-Id: <20190507040609.21746-11-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Also remove the order argument from __perform_reclaim() and __alloc_pages_direct_reclaim() which only passed the argument down. Signed-off-by: Matthew Wilcox (Oracle) --- include/linux/swap.h | 2 +- include/trace/events/vmscan.h | 20 +++++++++----------- mm/page_alloc.c | 15 ++++++--------- mm/vmscan.c | 13 ++++++------- 4 files changed, 22 insertions(+), 28 deletions(-) diff --git a/include/linux/swap.h b/include/linux/swap.h index 4bfb5c4ac108..029737fec38b 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -348,7 +348,7 @@ extern void lru_cache_add_active_or_unevictable(struct page *page, /* linux/mm/vmscan.c */ extern unsigned long zone_reclaimable_pages(struct zone *zone); -extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order, +extern unsigned long try_to_free_pages(struct zonelist *zonelist, gfp_t gfp_mask, nodemask_t *mask); extern int __isolate_lru_page(struct page *page, isolate_mode_t mode); extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *memcg, diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index 0aa882a4e870..fd8b468570c8 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h @@ -106,45 +106,43 @@ TRACE_EVENT(mm_vmscan_wakeup_kswapd, DECLARE_EVENT_CLASS(mm_vmscan_direct_reclaim_begin_template, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags), - TP_ARGS(order, gfp_flags), + TP_ARGS(gfp_flags), TP_STRUCT__entry( - __field( int, order ) __field( gfp_t, gfp_flags ) ), TP_fast_assign( - __entry->order = order; __entry->gfp_flags = gfp_flags; ), TP_printk("order=%d gfp_flags=%s", - __entry->order, + gfp_order(__entry->gfp_flags), show_gfp_flags(__entry->gfp_flags)) ); DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_direct_reclaim_begin, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags), - TP_ARGS(order, gfp_flags) + TP_ARGS(gfp_flags) ); #ifdef CONFIG_MEMCG DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_reclaim_begin, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags), - TP_ARGS(order, gfp_flags) + TP_ARGS(gfp_flags) ); DEFINE_EVENT(mm_vmscan_direct_reclaim_begin_template, mm_vmscan_memcg_softlimit_reclaim_begin, - TP_PROTO(int order, gfp_t gfp_flags), + TP_PROTO(gfp_t gfp_flags), - TP_ARGS(order, gfp_flags) + TP_ARGS(gfp_flags) ); #endif /* CONFIG_MEMCG */ diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 94ad4727206e..5ac2cbb105c3 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -4011,9 +4011,7 @@ EXPORT_SYMBOL_GPL(fs_reclaim_release); #endif /* Perform direct synchronous page reclaim */ -static int -__perform_reclaim(gfp_t gfp_mask, unsigned int order, - const struct alloc_context *ac) +static int __perform_reclaim(gfp_t gfp_mask, const struct alloc_context *ac) { struct reclaim_state reclaim_state; int progress; @@ -4030,8 +4028,7 @@ __perform_reclaim(gfp_t gfp_mask, unsigned int order, reclaim_state.reclaimed_slab = 0; current->reclaim_state = &reclaim_state; - progress = try_to_free_pages(ac->zonelist, order, gfp_mask, - ac->nodemask); + progress = try_to_free_pages(ac->zonelist, gfp_mask, ac->nodemask); current->reclaim_state = NULL; memalloc_noreclaim_restore(noreclaim_flag); @@ -4045,14 +4042,14 @@ __perform_reclaim(gfp_t gfp_mask, unsigned int order, /* The really slow allocator path where we enter direct reclaim */ static inline struct page * -__alloc_pages_direct_reclaim(gfp_t gfp_mask, unsigned int order, - unsigned int alloc_flags, const struct alloc_context *ac, +__alloc_pages_direct_reclaim(gfp_t gfp_mask, unsigned int alloc_flags, + const struct alloc_context *ac, unsigned long *did_some_progress) { struct page *page = NULL; bool drained = false; - *did_some_progress = __perform_reclaim(gfp_mask, order, ac); + *did_some_progress = __perform_reclaim(gfp_mask, ac); if (unlikely(!(*did_some_progress))) return NULL; @@ -4445,7 +4442,7 @@ __alloc_pages_slowpath(gfp_t gfp_mask, unsigned int order, goto nopage; /* Try direct reclaim and then allocating */ - page = __alloc_pages_direct_reclaim(gfp_mask, order, alloc_flags, ac, + page = __alloc_pages_direct_reclaim(gfp_mask, alloc_flags, ac, &did_some_progress); if (page) goto got_pg; diff --git a/mm/vmscan.c b/mm/vmscan.c index 836b28913bd7..5d465bdaf225 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -3206,15 +3206,15 @@ static bool throttle_direct_reclaim(gfp_t gfp_mask, struct zonelist *zonelist, return false; } -unsigned long try_to_free_pages(struct zonelist *zonelist, int order, - gfp_t gfp_mask, nodemask_t *nodemask) +unsigned long try_to_free_pages(struct zonelist *zonelist, gfp_t gfp_mask, + nodemask_t *nodemask) { unsigned long nr_reclaimed; struct scan_control sc = { .nr_to_reclaim = SWAP_CLUSTER_MAX, .gfp_mask = current_gfp_context(gfp_mask), .reclaim_idx = gfp_zone(gfp_mask), - .order = order, + .order = gfp_order(gfp_mask), .nodemask = nodemask, .priority = DEF_PRIORITY, .may_writepage = !laptop_mode, @@ -3239,7 +3239,7 @@ unsigned long try_to_free_pages(struct zonelist *zonelist, int order, if (throttle_direct_reclaim(sc.gfp_mask, zonelist, nodemask)) return 1; - trace_mm_vmscan_direct_reclaim_begin(order, sc.gfp_mask); + trace_mm_vmscan_direct_reclaim_begin(sc.gfp_mask); nr_reclaimed = do_try_to_free_pages(zonelist, &sc); @@ -3268,8 +3268,7 @@ unsigned long mem_cgroup_shrink_node(struct mem_cgroup *memcg, sc.gfp_mask = (gfp_mask & GFP_RECLAIM_MASK) | (GFP_HIGHUSER_MOVABLE & ~GFP_RECLAIM_MASK); - trace_mm_vmscan_memcg_softlimit_reclaim_begin(sc.order, - sc.gfp_mask); + trace_mm_vmscan_memcg_softlimit_reclaim_begin(sc.gfp_mask); /* * NOTE: Although we can get the priority field, using it @@ -3318,7 +3317,7 @@ unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *memcg, zonelist = &NODE_DATA(nid)->node_zonelists[ZONELIST_FALLBACK]; - trace_mm_vmscan_memcg_reclaim_begin(0, sc.gfp_mask); + trace_mm_vmscan_memcg_reclaim_begin(sc.gfp_mask); psi_memstall_enter(&pflags); noreclaim_flag = memalloc_noreclaim_save(); From patchwork Tue May 7 04:06:09 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wilcox X-Patchwork-Id: 10932257 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8572416C1 for ; Tue, 7 May 2019 04:06:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7380028892 for ; Tue, 7 May 2019 04:06:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 68091288F7; Tue, 7 May 2019 04:06:40 +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.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 D435328892 for ; Tue, 7 May 2019 04:06:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C1CD6B0010; Tue, 7 May 2019 00:06:16 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 122C16B026C; Tue, 7 May 2019 00:06:16 -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 AA1EA6B0010; Tue, 7 May 2019 00:06:15 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by kanga.kvack.org (Postfix) with ESMTP id 414126B000E for ; Tue, 7 May 2019 00:06:15 -0400 (EDT) Received: by mail-pl1-f199.google.com with SMTP id 93so6627902plf.14 for ; Mon, 06 May 2019 21:06:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references; bh=yWov6o46xZpNERY8ayCrMW/keWJ4olLp4dp39iSEbbk=; b=TmhFxopom5w405uioiE+nDqfTlVfjCqu+knO/WM4bUfwhX+hAqXT4H74/ksE4CahS0 uvVZen+GPs3D14GA4mbKvxe/aDmTtEzUOJStH0rYcieYTFNeZ6VC5VUcnb11jMJG2DvX IObCgvwOyhAe9q8NHhH26urUs+BE6OXn8jqhpeK5SqIxBTScKL908mxnCW2rzaPYsrpH ttvHvNcCzvT2ph0N+NDi9B1CfB40Lt64pDpoYEs1Cjn5xKRMUiiug28nebKLI/2Bpvym bP5GKhzWmctw3RktE75HhoBHSQSrm9KmHOnVSaPtoEXzAclH6NbYjDRsWIRc54cvOKY/ 23dQ== X-Gm-Message-State: APjAAAX30JcpqzOWb0pAM1tOmxoL7PQ2SW14tFffGZSAw+2cTMEDWUZc xTDeHRKqVAsB9HjLSY0JkPbbEqYJ1YdmRA+7u+4foOBalykiZoqMxykhVBwyLJCpE1y4wDV7eS5 0Pdsq/xJHxFaFjqBc9hVZ6kbP2HkPx6WkEw5q7BocMOciNtADIMnbjDePcqk5aNK9lg== X-Received: by 2002:a17:902:b490:: with SMTP id y16mr10022567plr.161.1557201974907; Mon, 06 May 2019 21:06:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqz6JTqT1nAyolW17tMEYclm4PDqQC8QvlimLZuIIapHhBOWZw9d1bEJC7E76zV/wGejJXnc X-Received: by 2002:a17:902:b490:: with SMTP id y16mr10022425plr.161.1557201973311; Mon, 06 May 2019 21:06:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557201973; cv=none; d=google.com; s=arc-20160816; b=GPlTOIGIjJn2Fs7ZXuT7noGvEWAOsK0OQdGVc6XAHncwukCf42tvFPGCu1M5bibWLD C2HxMF+FvKBp1wsijUAdu2PDY5JDwlDN4x2JELki+IEf1fpC2ow6z3uiQORBzig1pSxj xqf0e8IwAd+2mMh3ULRge0E2yoDeQZy6LF3xdst+bXKCL2rmFuqZ193JxET9ymJ9DtIf UacqjbMbhqf3qIWnpul/7ZZ2i0n544UQmITcPoOa8DS2FmrT4X86cOhf5O5R5DoxX6YE 0tTmFyhGT5R5xkFjYh8EOqkhxepNmTAYd0Nea+uvJ3WLEtjUj5d9oMPE6TxmlnqwVbym LWbg== 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 :dkim-signature; bh=yWov6o46xZpNERY8ayCrMW/keWJ4olLp4dp39iSEbbk=; b=AinDRt3iSVnJhxqnytQwoT4UC/gWsn2BGs4dob+m2t2tY1D3/W7zpbYVC9OJ7RRlxN r6HkBh5MKzWtRmHNh/5qWx+UHdwuu66lNV0G8Pi5bU2OEEoYEb5aPFPpj4+KfK6C7v7J gs/JhaeE6xrZ2RMonQvz2FfNH3MiOd+E+ZDzGP+iLECp1XAzTnsRsfXcdXlQi7hus6or jVEkZrC/hbhnrs4k6DC/pWu5kDeCBAZZg5glDRRhsGnbNeR9iep5zFSZjxQSyl1/wVQc gD7dVJnIJTSnRjoAI2x2u0EDq56/usLdtJItsIRAgWz3YypTQQbAR0ShlJBh40CFC+tp miAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="C/BO2gGc"; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id e24si16814232pgh.403.2019.05.06.21.06.13 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 May 2019 21:06:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="C/BO2gGc"; spf=pass (google.com: best guess record for domain of willy@infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=willy@infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=yWov6o46xZpNERY8ayCrMW/keWJ4olLp4dp39iSEbbk=; b=C/BO2gGcJ+zHKAA3YIO/zEEg4 JuDpRzAmQrFaMdG12HQLyAepL0FTipYxzftr1ZBoXpge1IjpZ2na4CbPyORxRq7/+ZOidHBPXjsr9 zN7W9ZkQB3wtcC7/9rrhBtZcl4gePknGJsJHzGxb1VpC3/Ql/g2cBDd8bvURBh4TZNyZ9osa09Wrf SMf9ZZKWc2kaWCfq6+7Q/UwTMf/xoFllXKmPQPWZp1LK6Oo2Gjw6VUk8mkFM+nPzBNoGC4GvNJNmK HQTvniCkS948K5DRxnsdFhpm9ouseCnrmXS/5KjZJV6ftCRa1e/sqtseaOc6X7CwU8ht3ilL3mYUv 5ClWocTDQ==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1hNrMq-0005ir-OV; Tue, 07 May 2019 04:06:12 +0000 From: Matthew Wilcox To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" Subject: [PATCH 11/11] mm: Pass order to node_reclaim() in GFP flags Date: Mon, 6 May 2019 21:06:09 -0700 Message-Id: <20190507040609.21746-12-willy@infradead.org> X-Mailer: git-send-email 2.14.5 In-Reply-To: <20190507040609.21746-1-willy@infradead.org> References: <20190507040609.21746-1-willy@infradead.org> 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 From: "Matthew Wilcox (Oracle)" Signed-off-by: Matthew Wilcox (Oracle) --- include/trace/events/vmscan.h | 8 +++----- mm/internal.h | 5 ++--- mm/page_alloc.c | 2 +- mm/vmscan.c | 13 ++++++------- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h index fd8b468570c8..bc5a8a6f6e64 100644 --- a/include/trace/events/vmscan.h +++ b/include/trace/events/vmscan.h @@ -464,25 +464,23 @@ TRACE_EVENT(mm_vmscan_inactive_list_is_low, TRACE_EVENT(mm_vmscan_node_reclaim_begin, - TP_PROTO(int nid, int order, gfp_t gfp_flags), + TP_PROTO(int nid, gfp_t gfp_flags), - TP_ARGS(nid, order, gfp_flags), + TP_ARGS(nid, gfp_flags), TP_STRUCT__entry( __field(int, nid) - __field(int, order) __field(gfp_t, gfp_flags) ), TP_fast_assign( __entry->nid = nid; - __entry->order = order; __entry->gfp_flags = gfp_flags; ), TP_printk("nid=%d order=%d gfp_flags=%s", __entry->nid, - __entry->order, + gfp_order(__entry->gfp_flags), show_gfp_flags(__entry->gfp_flags)) ); diff --git a/mm/internal.h b/mm/internal.h index 9eeaf2b95166..353cefdc3f34 100644 --- a/mm/internal.h +++ b/mm/internal.h @@ -457,10 +457,9 @@ static inline void mminit_validate_memmodel_limits(unsigned long *start_pfn, #define NODE_RECLAIM_SUCCESS 1 #ifdef CONFIG_NUMA -extern int node_reclaim(struct pglist_data *, gfp_t, unsigned int); +extern int node_reclaim(struct pglist_data *, gfp_t); #else -static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask, - unsigned int order) +static inline int node_reclaim(struct pglist_data *pgdat, gfp_t mask) { return NODE_RECLAIM_NOSCAN; } diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5ac2cbb105c3..6ea7bda90100 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -3577,7 +3577,7 @@ get_page_from_freelist(gfp_t gfp_mask, int alloc_flags, !zone_allows_reclaim(ac->preferred_zoneref->zone, zone)) continue; - ret = node_reclaim(zone->zone_pgdat, gfp_mask, order); + ret = node_reclaim(zone->zone_pgdat, gfp_mask); switch (ret) { case NODE_RECLAIM_NOSCAN: /* did not scan */ diff --git a/mm/vmscan.c b/mm/vmscan.c index 5d465bdaf225..171844a2a8c0 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -4148,17 +4148,17 @@ static unsigned long node_pagecache_reclaimable(struct pglist_data *pgdat) /* * Try to free up some pages from this node through reclaim. */ -static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned int order) +static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask) { /* Minimum pages needed in order to stay on node */ - const unsigned long nr_pages = 1 << order; + const unsigned long nr_pages = 1UL << gfp_order(gfp_mask); struct task_struct *p = current; struct reclaim_state reclaim_state; unsigned int noreclaim_flag; struct scan_control sc = { .nr_to_reclaim = max(nr_pages, SWAP_CLUSTER_MAX), .gfp_mask = current_gfp_context(gfp_mask), - .order = order, + .order = gfp_order(gfp_mask), .priority = NODE_RECLAIM_PRIORITY, .may_writepage = !!(node_reclaim_mode & RECLAIM_WRITE), .may_unmap = !!(node_reclaim_mode & RECLAIM_UNMAP), @@ -4166,8 +4166,7 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in .reclaim_idx = gfp_zone(gfp_mask), }; - trace_mm_vmscan_node_reclaim_begin(pgdat->node_id, order, - sc.gfp_mask); + trace_mm_vmscan_node_reclaim_begin(pgdat->node_id, sc.gfp_mask); cond_resched(); fs_reclaim_acquire(sc.gfp_mask); @@ -4201,7 +4200,7 @@ static int __node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned in return sc.nr_reclaimed >= nr_pages; } -int node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned int order) +int node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask) { int ret; @@ -4237,7 +4236,7 @@ int node_reclaim(struct pglist_data *pgdat, gfp_t gfp_mask, unsigned int order) if (test_and_set_bit(PGDAT_RECLAIM_LOCKED, &pgdat->flags)) return NODE_RECLAIM_NOSCAN; - ret = __node_reclaim(pgdat, gfp_mask, order); + ret = __node_reclaim(pgdat, gfp_mask); clear_bit(PGDAT_RECLAIM_LOCKED, &pgdat->flags); if (!ret)