Re: [PATCH] riscv: enable DEBUG_FORCE_FUNCTION_ALIGN_64B

From: Conor Dooley
Date: Sat Jul 29 2023 - 06:34:47 EST


Hey,

On Fri, Jul 28, 2023 at 12:03:56AM +0800, Jisheng Zhang wrote:
> Allow to force all function address 64B aligned as it is possible for
> other architectures. This may be useful when verify if performance
> bump is caused by function alignment changes.
>
> Before commit 1bf18da62106 ("lib/Kconfig.debug: add ARCH dependency
> for FUNCTION_ALIGN option"), riscv supports enabling the
> DEBUG_FORCE_FUNCTION_ALIGN_64B option, but after that commit, each
> arch needs to claim the support explicitly. I tried the config file in
> [1] for both RV64 and RV32, I can't reproduce the build error as [1],
> there is no reason for not allowing to enforce this function alignment.
>
> Link: https://lore.kernel.org/lkml/202202271612.W32UJAj2-lkp@xxxxxxxxx/ [1]

This is a CSKY randconfig, is there any particular reason that running
that randconfig (over a year later) and on a different architecture
would trigger whatever the condition was?

The original commit here seems far too penal - why was it not just
disabled on CSKY??? I tried looking a bit on lore, but didn't see
anything explaining the subset of supported archs they picked.
I did see Guo Ren wondering if rv32 would be similarly problematic - but
since this is something likely to just trip up randconfigs, I think we
should go for it and if rv32 becomes a problem, restrict this to 64-bit.

Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Thanks,
Conor.

> Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
> ---
> lib/Kconfig.debug | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index fbc89baf7de6..39ffd218e960 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -502,7 +502,7 @@ config SECTION_MISMATCH_WARN_ONLY
>
> config DEBUG_FORCE_FUNCTION_ALIGN_64B
> bool "Force all function address 64B aligned"
> - depends on EXPERT && (X86_64 || ARM64 || PPC32 || PPC64 || ARC || S390)
> + depends on EXPERT && (X86_64 || ARM64 || PPC32 || PPC64 || ARC || RISCV || S390)
> select FUNCTION_ALIGNMENT_64B
> help
> There are cases that a commit from one domain changes the function
> --
> 2.40.1
>

Attachment: signature.asc
Description: PGP signature