Re: [PATCH] LoongArch: Make -mstrict-align be configurable

From: Xi Ruoyao
Date: Mon Feb 06 2023 - 06:18:59 EST


On Mon, 2023-02-06 at 18:24 +0800, Jianmin Lv wrote:
> Hi, Xuerui
>
> I think the kernels produced with and without -mstrict-align have mainly
> following differences:
> - Diffirent size. I build two kernls (vmlinux), size of kernel with
> -mstrict-align is 26533376 bytes and size of kernel without
> -mstrict-align is 26123280 bytes.
> - Diffirent performance. For example, in kernel function jhash(), the
> assemble code slices with and without -mstrict-align are following:

But there are still questions remaining:

(1) Is the difference contributed by a bad code generation of GCC? If
true, it's better to improve GCC before someone starts to build a distro
for LA264 as it would benefit the user space as well.

(2) Is there some "big bad unaligned access loop" on a hot spot in the
kernel code? If true, it may be better to just refactor the C code
because doing so will benefit all ports, not only LoongArch. Otherwise,
it may be unworthy to optimize for some cold paths.

--
Xi Ruoyao <xry111@xxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University