[PATCH 2/2] powerpc: Show PAGE_SIZE in __die() output

Christophe Leroy christophe.leroy at c-s.fr
Tue Jan 8 23:21:24 AEDT 2019



Le 08/01/2019 à 13:05, Michael Ellerman a écrit :
> The page size the kernel is built with is useful info when debugging a
> crash, so add it to the output in __die().
> 
> Result looks like eg:
> 
>    kernel BUG at drivers/misc/lkdtm/bugs.c:63!
>    Oops: Exception in kernel mode, sig: 5 [#1]
>    LE PAGE_SIZE=64K SMP NR_CPUS=2048 NUMA pSeries
>    Modules linked in: vmx_crypto kvm binfmt_misc ip_tables
> 
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> ---
>   arch/powerpc/kernel/traps.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
> index 431a86d3f772..fc972e4eee5f 100644
> --- a/arch/powerpc/kernel/traps.c
> +++ b/arch/powerpc/kernel/traps.c
> @@ -268,6 +268,18 @@ static int __die(const char *str, struct pt_regs *regs, long err)
>   	else
>   		seq_buf_puts(&s, "BE ");
>   
> +	seq_buf_puts(&s, "PAGE_SIZE=");
> +	if (IS_ENABLED(CONFIG_PPC_4K_PAGES))
> +		seq_buf_puts(&s, "4K ");
> +	else if (IS_ENABLED(CONFIG_PPC_16K_PAGES))
> +		seq_buf_puts(&s, "16K ");
> +	else if (IS_ENABLED(CONFIG_PPC_64K_PAGES))
> +		seq_buf_puts(&s, "64K ");
> +	else if (IS_ENABLED(CONFIG_PPC_256K_PAGES))
> +		seq_buf_puts(&s, "256K ");

Can't we build all the above at once using PAGE_SHIFT ?

Something like (untested):

"%dK ", 1 << (PAGE_SHIFT - 10)

Christophe

> +	else
> +		BUILD_BUG_ON(1);
> +
>   	if (IS_ENABLED(CONFIG_PREEMPT))
>   		seq_buf_puts(&s, "PREEMPT ");
>   
> 


More information about the Linuxppc-dev mailing list