On 2020/11/25 17:51, Geert Uytterhoeven wrote: > Hi Damien, > > On Wed, Nov 25, 2020 at 7:14 AM Damien Le Moal <damien.lem...@wdc.com> wrote: >> On 2020/11/25 3:57, Geert Uytterhoeven wrote: >>> There is no need to enable Virtual Terminal support in the Canaan >>> Kendryte K210 defconfigs, as no terminal devices are supported and >>> enabled. Hence disable CONFIG_VT, and remove the no longer needed >>> override for CONFIG_VGA_CONSOLE. >>> >>> This reduces kernel size by ca. 65 KiB. >> >> Indeed, nice saving. Just tested, and all is good. > > I used my old script[1] to check the impact of disabling config options. > > I don't see any other low-hanging fruits: > > Disabling CONFIG_BLOCK saves 492890 bytes > Disabling CONFIG_EXT4_FS saves 322528 bytes > Disabling CONFIG_PRINTK saves 214612 bytes > Disabling CONFIG_SMP saves 214486 bytes > Disabling CONFIG_FRAME_POINTER saves 166368 bytes > Disabling CONFIG_TTY saves 156618 bytes > Disabling CONFIG_PROC_FS saves 110274 bytes > Disabling CONFIG_MMC saves 87656 bytes > Disabling CONFIG_VT saves 70350 bytes > Disabling CONFIG_SYSFS saves 62298 bytes > Disabling CONFIG_BUG saves 50882 bytes > Disabling CONFIG_SPI saves 34420 bytes > Disabling CONFIG_SOC_CANAAN saves 34286 bytes > Disabling CONFIG_I2C saves 34086 bytes > Disabling CONFIG_PROC_SYSCTL saves 23890 bytes > Disabling CONFIG_POSIX_TIMERS saves 18388 bytes > Disabling CONFIG_I2C_DESIGNWARE_PLATFORM saves 17530 bytes > Disabling CONFIG_MMC_BLOCK saves 17200 bytes > Disabling CONFIG_UNIX98_PTYS saves 16360 bytes > Disabling CONFIG_MULTIUSER saves 16148 bytes > Disabling CONFIG_NEW_LEDS saves 15964 bytes > Disabling CONFIG_SPI_DESIGNWARE saves 15434 bytes > Disabling CONFIG_GPIO_CDEV saves 15352 bytes > Disabling CONFIG_MMC_SPI saves 14754 bytes > Disabling CONFIG_SOC_CANAAN_K210_DTB_BUILTIN saves 13864 bytes > > (Yes, I have ext4 enabled ;-) > > I haven't done enough riscv kernel development yet to assess if I need > CONFIG_FRAME_POINTER or not.
Disabling it significantly reduced code size for me. Since the series is more stable now, it is not really needed, so I disabled it in the defconfig. I was just fiddling with CONFIG_UNIX98_PTYS. Disabling it is OK with the simple busybox userspace (no telnet/xterm like app running). But it saves only about 1KB with my toolchain (gcc 9.3). So I left that one enabled. I am surprised that you see 16K size impact... How big is your image ? For me, it is 1.768 MB right now for the sdcard defconfig, with CONFIG_VT disabled and ext2 enabled. Disabling the block layer, ext2 and mmc driver, the size goes down to 1.511 MB without any intramfs cpio file embedded. > > [1] > https://github.com/geertu/linux-scripts/blob/master/linux-analyze-marginal-sizes Thanks ! I will try to run this on my end. > > Gr{oetje,eeting}s, > > Geert > -- Damien Le Moal Western Digital Research