[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160405.192507.1323523820451519013.davem@davemloft.net>
Date: Tue, 05 Apr 2016 19:25:07 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: hughd@...gle.com
Cc: akpm@...ux-foundation.org, kirill.shutemov@...ux.intel.com,
aarcange@...hat.com, andreslc@...gle.com, yang.shi@...aro.org,
quning@...il.com, arnd@...db.de, ralf@...ux-mips.org,
vgupta@...opsys.com, linux@....linux.org.uk, will.deacon@....com,
mpe@...erman.id.au, aneesh.kumar@...ux.vnet.ibm.com,
schwidefsky@...ibm.com, gerald.schaefer@...ibm.com,
cmetcalf@...era.com, mingo@...nel.org,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH 10/10] arch: fix has_transparent_hugepage()
From: Hugh Dickins <hughd@...gle.com>
Date: Tue, 5 Apr 2016 14:02:49 -0700 (PDT)
> I've just discovered that the useful-sounding has_transparent_hugepage()
> is actually an architecture-dependent minefield: on some arches it only
> builds if CONFIG_TRANSPARENT_HUGEPAGE=y, on others it's also there when
> not, but on some of those (arm and arm64) it then gives the wrong answer;
> and on mips alone it's marked __init, which would crash if called later
> (but so far it has not been called later).
>
> Straighten this out: make it available to all configs, with a sensible
> default in asm-generic/pgtable.h, removing its definitions from those
> arches (arc, arm, arm64, sparc, tile) which are served by the default,
> adding #define has_transparent_hugepage has_transparent_hugepage to those
> (mips, powerpc, s390, x86) which need to override the default at runtime,
> and removing the __init from mips (but maybe that kind of code should be
> avoided after init: set a static variable the first time it's called).
>
> Signed-off-by: Hugh Dickins <hughd@...gle.com>
Acked-by: David S. Miller <davem@...emloft.net>
Powered by blists - more mailing lists