On Sat, 2016-10-01 at 14:53 -0400, Jes Sorensen wrote: > Joe Perches <joe@xxxxxxxxxxx> writes: > > Make the init arrays const to reduce data. > > $ size drivers/net/wireless/realtek/rtl8xxxu/built-in.o* (allyesconfig: x86-32) > > text data bss dec hex filename > > 80107 13651 58 93816 16e78 drivers/net/wireless/realtek/rtl8xxxu/built-in.o.new > > 65303 28435 58 93796 16e64 drivers/net/wireless/realtek/rtl8xxxu/built-in.o.old > In total you grow the kernel by 20 bytes. You reduce the data segment > substantially while growing the text segment instead. No, not really. The alignment boundaries move a bit for this particular compilation. It could go the other way for a different compiler version or set of CONFIG options. What's important is multiple pages of .data move to .rodata.