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