From: Michal Hocko <mhocko@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
Michal Hocko <mhocko@suse.com>,
Catalin Marinas <catalin.marinas@arm.com>,
linux-arch@vger.kernel.org
Subject: [PATCH 05/17] arm64: get rid of superfluous __GFP_REPEAT
Date: Mon, 30 May 2016 11:14:47 +0200 [thread overview]
Message-ID: <1464599699-30131-6-git-send-email-mhocko@kernel.org> (raw)
In-Reply-To: <1464599699-30131-1-git-send-email-mhocko@kernel.org>
From: Michal Hocko <mhocko@suse.com>
__GFP_REPEAT has a rather weak semantic but since it has been introduced
around 2.6.12 it has been ignored for low order allocations.
{pte,pmd,pud}_alloc_one{_kernel}, late_pgtable_alloc use PGALLOC_GFP for
__get_free_page (aka order-0).
pgd_alloc is slightly more complex because it allocates from pgd_cache
if PGD_SIZE != PAGE_SIZE and PGD_SIZE depends on the configuration
(CONFIG_ARM64_VA_BITS, PAGE_SHIFT and CONFIG_PGTABLE_LEVELS).
As per
config PGTABLE_LEVELS
int
default 2 if ARM64_16K_PAGES && ARM64_VA_BITS_36
default 2 if ARM64_64K_PAGES && ARM64_VA_BITS_42
default 3 if ARM64_64K_PAGES && ARM64_VA_BITS_48
default 3 if ARM64_4K_PAGES && ARM64_VA_BITS_39
default 3 if ARM64_16K_PAGES && ARM64_VA_BITS_47
default 4 if !ARM64_64K_PAGES && ARM64_VA_BITS_48
we should have the following options
CONFIG_ARM64_VA_BITS:48 CONFIG_PGTABLE_LEVELS:4 PAGE_SIZE:4k size:4096 pages:1
CONFIG_ARM64_VA_BITS:48 CONFIG_PGTABLE_LEVELS:4 PAGE_SIZE:16k size:16 pages:1
CONFIG_ARM64_VA_BITS:48 CONFIG_PGTABLE_LEVELS:3 PAGE_SIZE:64k size:512 pages:1
CONFIG_ARM64_VA_BITS:47 CONFIG_PGTABLE_LEVELS:3 PAGE_SIZE:16k size:16384 pages:1
CONFIG_ARM64_VA_BITS:42 CONFIG_PGTABLE_LEVELS:2 PAGE_SIZE:64k size:65536 pages:1
CONFIG_ARM64_VA_BITS:39 CONFIG_PGTABLE_LEVELS:3 PAGE_SIZE:4k size:4096 pages:1
CONFIG_ARM64_VA_BITS:36 CONFIG_PGTABLE_LEVELS:2 PAGE_SIZE:16k size:16384 pages:1
All of them fit into a single page (aka order-0). This means that this
flag has never been actually useful here because it has always been used
only for PAGE_ALLOC_COSTLY requests.
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-arch@vger.kernel.org
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Michal Hocko <mhocko@suse.com>
---
arch/arm64/include/asm/pgalloc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/include/asm/pgalloc.h b/arch/arm64/include/asm/pgalloc.h
index ff98585d085a..d25f4f137c2a 100644
--- a/arch/arm64/include/asm/pgalloc.h
+++ b/arch/arm64/include/asm/pgalloc.h
@@ -26,7 +26,7 @@
#define check_pgt_cache() do { } while (0)
-#define PGALLOC_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_REPEAT | __GFP_ZERO)
+#define PGALLOC_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_ZERO)
#define PGD_SIZE (PTRS_PER_PGD * sizeof(pgd_t))
#if CONFIG_PGTABLE_LEVELS > 2
--
2.8.1
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2016-05-30 9:15 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-30 9:14 [PATCH 0/19] " Michal Hocko
2016-05-30 9:14 ` [PATCH 01/17] tree wide: get rid of __GFP_REPEAT for order-0 allocations part I Michal Hocko
2016-05-30 9:14 ` [PATCH 02/17] x86: get rid of superfluous __GFP_REPEAT Michal Hocko
2016-05-30 9:14 ` [PATCH 03/17] x86/efi: " Michal Hocko
2016-05-30 9:14 ` [PATCH 04/17] arm: " Michal Hocko
2016-06-01 16:24 ` Russell King - ARM Linux
2016-06-02 6:32 ` Michal Hocko
2016-07-20 20:59 ` Andrew Morton
2016-05-30 9:14 ` Michal Hocko [this message]
2016-05-30 9:14 ` [PATCH 06/17] arc: " Michal Hocko
2016-05-30 9:14 ` [PATCH 07/17] mips: " Michal Hocko
2016-05-30 9:14 ` [PATCH 08/17] nios2: " Michal Hocko
2016-05-30 9:14 ` [PATCH 09/17] parisc: " Michal Hocko
2016-05-30 9:14 ` [PATCH 10/17] score: " Michal Hocko
2016-05-30 9:14 ` [PATCH 11/17] powerpc: " Michal Hocko
2016-05-30 9:14 ` [PATCH 12/17] sparc: " Michal Hocko
2016-05-30 18:23 ` David Miller
2016-05-30 9:14 ` [PATCH 13/17] s390: " Michal Hocko
2016-05-30 9:14 ` [PATCH 14/17] sh: " Michal Hocko
2016-05-30 9:14 ` [PATCH 15/17] tile: " Michal Hocko
2016-05-30 9:14 ` [PATCH 16/17] unicore32: " Michal Hocko
2016-05-30 9:14 ` [PATCH 17/17] jbd2: " Michal Hocko
2016-05-30 13:09 ` Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1464599699-30131-6-git-send-email-mhocko@kernel.org \
--to=mhocko@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=catalin.marinas@arm.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox