From: Michael Ellerman <mpe@ellerman•id.au>
To: Nicholas Miehlbradt <nicholas@linux•ibm.com>,
linuxppc-dev@lists•ozlabs.org
Cc: Nicholas Miehlbradt <nicholas@linux•ibm.com>
Subject: Re: [PATCH 1/4] powerpc/64s: Add DEBUG_PAGEALLOC for radix
Date: Mon, 19 Sep 2022 17:00:26 +1000 [thread overview]
Message-ID: <87k05zlugl.fsf@mpe.ellerman.id.au> (raw)
In-Reply-To: <20220919014437.608167-1-nicholas@linux.ibm.com>
Nicholas Miehlbradt <nicholas@linux•ibm.com> writes:
> There is support for DEBUG_PAGEALLOC on hash but not on radix.
> Add support on radix.
>
> Signed-off-by: Nicholas Miehlbradt <nicholas@linux•ibm.com>
> ---
> arch/powerpc/mm/book3s64/radix_pgtable.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c
> index db2f3d193448..483c99bfbde5 100644
> --- a/arch/powerpc/mm/book3s64/radix_pgtable.c
> +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c
> @@ -30,6 +30,7 @@
> #include <asm/trace.h>
> #include <asm/uaccess.h>
> #include <asm/ultravisor.h>
> +#include <asm/set_memory.h>
>
> #include <trace/events/thp.h>
>
> @@ -503,6 +504,9 @@ static unsigned long __init radix_memory_block_size(void)
> {
> unsigned long mem_block_size = MIN_MEMORY_BLOCK_SIZE;
>
> + if (debug_pagealloc_enabled())
> + return PAGE_SIZE;
> +
> /*
> * OPAL firmware feature is set by now. Hence we are ok
> * to test OPAL feature.
> @@ -519,6 +523,9 @@ static unsigned long __init radix_memory_block_size(void)
>
> static unsigned long __init radix_memory_block_size(void)
> {
> + if (debug_pagealloc_enabled())
> + return PAGE_SIZE;
> +
> return 1UL * 1024 * 1024 * 1024;
> }
This value ends up in radix_mem_block_size, which is returned by
pnv_memory_block_size(), which is wired up as ppc_md.memory_block_size,
and that's called by memory_block_size_bytes().
And I thought that value had to be >= MIN_MEMORY_BLOCK_SIZE.
#define MIN_MEMORY_BLOCK_SIZE (1UL << SECTION_SIZE_BITS)
#define SECTION_SIZE_BITS 24
I would expect us to hit the panic in memory_dev_init().
So that's odd.
I suspect you need to leave radix_memory_block_size() alone, or at least
make sure you return MIN_MEMORY_BLOCK_SIZE when debug page alloc is
enabled.
We probably need a separate variable that holds the max page size used
for the linear mapping, and that would then be 1G in the normal case or
PAGE_SIZE in the debug page alloc case.
cheers
next prev parent reply other threads:[~2022-09-19 7:01 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-19 1:44 [PATCH 1/4] powerpc/64s: Add DEBUG_PAGEALLOC for radix Nicholas Miehlbradt
2022-09-19 1:44 ` [PATCH 2/4] powerpc/64s: Remove unneeded #ifdef CONFIG_DEBUG_PAGEALLOC in hash_utils Nicholas Miehlbradt
2022-09-19 1:44 ` [PATCH 3/4] powerpc/64s: Allow double call of kernel_[un]map_linear_page() Nicholas Miehlbradt
2022-09-19 1:44 ` [PATCH 4/4] powerpc/64s: Enable KFENCE on book3s64 Nicholas Miehlbradt
2022-09-19 6:20 ` Christophe Leroy
2022-09-19 6:17 ` [PATCH 1/4] powerpc/64s: Add DEBUG_PAGEALLOC for radix Christophe Leroy
2022-09-19 7:00 ` Michael Ellerman [this message]
2022-09-19 7:05 ` Christophe Leroy
-- strict thread matches above, loose matches on Subject: below --
2021-05-17 6:16 [PATCH 0/4] powerpc/64s: Enable KFENCE Jordan Niethe
2021-05-17 6:16 ` [PATCH 1/4] powerpc/64s: Add DEBUG_PAGEALLOC for radix Jordan Niethe
2021-06-18 7:28 ` Daniel Axtens
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=87k05zlugl.fsf@mpe.ellerman.id.au \
--to=mpe@ellerman$(echo .)id.au \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=nicholas@linux$(echo .)ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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