[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160411154947.GC19749@arm.com>
Date: Mon, 11 Apr 2016 16:49:47 +0100
From: Will Deacon <will.deacon@....com>
To: Michal Hocko <mhocko@...nel.org>
Cc: linux-mm@...ck.org, Andrew Morton <akpm@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>,
Michal Hocko <mhocko@...e.com>,
Catalin Marinas <catalin.marinas@....com>,
linux-arch@...r.kernel.org
Subject: Re: [PATCH 05/19] arm64: get rid of superfluous __GFP_REPEAT
On Mon, Apr 11, 2016 at 01:07:58PM +0200, Michal Hocko wrote:
> From: Michal Hocko <mhocko@...e.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.
This all looks fine to me:
Acked-by: Will Deacon <will.deacon@....com>
Will
Powered by blists - more mailing lists