Messages in this thread | | | Date | Mon, 17 Dec 2018 14:59:19 +0200 | From | Nick Kossifidis <> | Subject | Re: [PATCH] RISC-V: Make BSS section as the last section in vmlinux.lds.S |
| |
Στις 2018-12-17 11:36, Anup Patel έγραψε: > On Mon, Nov 26, 2018 at 11:42 AM Anup Patel <anup@brainfault.org> > wrote: >> >> The objcopy only emits loadable sections when creating flat kernel >> Image. To have minimal possible size of flat kernel Image, we should >> have all non-loadable sections after loadable sections. >> >> Currently, execption table section (loadable section) is after BSS >> section (non-loadable section) in the RISC-V vmlinux.lds.S. This >> is not optimal for having minimal flat kernel Image size hence this >> patch makes BSS section as the last section in RISC-V vmlinux.lds.S. >> >> In addition, we make BSS section aligned to 16byte instead of PAGE >> aligned which further reduces flat kernel Image size by few KBs. >> >> The flat kernel Image size of Linux-4.20-rc4 using GCC 8.2.0 is >> 8819980 bytes with current RISC-V vmlinux.lds.S and it reduces to >> 7991740 bytes with this patch applied using GCC 8.2.0. In summary, >> this patch reduces Linux-4.20-rc4 flat kernel Image size by 809 KB. >> >> Signed-off-by: Anup Patel <anup@brainfault.org> >> --- >> arch/riscv/kernel/vmlinux.lds.S | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/arch/riscv/kernel/vmlinux.lds.S >> b/arch/riscv/kernel/vmlinux.lds.S >> index 65df1dfdc303..cc99eed44931 100644 >> --- a/arch/riscv/kernel/vmlinux.lds.S >> +++ b/arch/riscv/kernel/vmlinux.lds.S >> @@ -74,8 +74,6 @@ SECTIONS >> *(.sbss*) >> } >> >> - BSS_SECTION(PAGE_SIZE, PAGE_SIZE, 0) >> - >> EXCEPTION_TABLE(0x10) >> NOTES >> >> @@ -83,6 +81,8 @@ SECTIONS >> *(.rel.dyn*) >> } >> >> + BSS_SECTION(0x10, 0x10, 0x10) >> + >> _end = .; >> >> STABS_DEBUG >> -- >> 2.17.1 >> > > Hi All, > > Any comment on this patch? > > Regards, > Anup >
Just a note on coding style, you should be using a macro instead of 0x10 so that those who read the code can understand what it is and also a few comments since searching through the commit logs to understand why you used it isn't optimal.
Regards, Nick
| |