Messages in this thread Patch in this message | | | Date | Fri, 6 Dec 2019 09:00:59 +0000 | From | Daniel Thompson <> | Subject | Re: [PATCH v2] RISC-V: Add fragmented config for debug options |
| |
On Thu, Dec 05, 2019 at 05:49:18PM +0000, Anup Patel wrote: > Various Linux kernel DEBUG options have big performance impact so > these should not be enabled in RISC-V normal defconfigs. > > Instead we should have separate RISC-V fragmented config for enabling > these DEBUG options. This way Linux RISC-V kernel can be built for > both non-debug and debug purposes using same defconfig. > > This patch moves additional DEBUG options to extra_debug.config. > > To configure a non-debug RV64 kernel, we use our normal defconfig: > $ make O=<linux_build_directory> defconfig > Wherease to configure a debug RV64 kernel, we use extra_debug.config: > $ make O=<linux_build_directory> defconfig extra_debug.config > > Signed-off-by: Anup Patel <anup.patel@wdc.com> > --- > Changes since v1: > - Use fragmented .config instead of separate debug defconfigs. > --- > arch/riscv/configs/defconfig | 23 ----------------------- > arch/riscv/configs/extra_debug.config | 21 +++++++++++++++++++++
Might be better to call this rv_debug.config (or riscv_debug.config), This would imply it is a set of options recommended by riscv maintainers and also having a suitable prefix means it is less likely to ever conflict with .config files in kernel/configs .
BTW don't respin the patch on my account. Using a .config file was just an idea and I'm not sure it reached consensus on the v1 thread.
Daniel.
> arch/riscv/configs/rv32_defconfig | 23 ----------------------- > 3 files changed, 21 insertions(+), 46 deletions(-) > create mode 100644 arch/riscv/configs/extra_debug.config > > diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig > index e2ff95cb3390..f0710d8f50cc 100644 > --- a/arch/riscv/configs/defconfig > +++ b/arch/riscv/configs/defconfig > @@ -101,27 +101,4 @@ CONFIG_CRYPTO_USER_API_HASH=y > CONFIG_CRYPTO_DEV_VIRTIO=y > CONFIG_PRINTK_TIME=y > CONFIG_DEBUG_FS=y > -CONFIG_DEBUG_PAGEALLOC=y > -CONFIG_DEBUG_VM=y > -CONFIG_DEBUG_VM_PGFLAGS=y > -CONFIG_DEBUG_MEMORY_INIT=y > -CONFIG_DEBUG_PER_CPU_MAPS=y > -CONFIG_SOFTLOCKUP_DETECTOR=y > -CONFIG_WQ_WATCHDOG=y > -CONFIG_SCHED_STACK_END_CHECK=y > -CONFIG_DEBUG_TIMEKEEPING=y > -CONFIG_DEBUG_RT_MUTEXES=y > -CONFIG_DEBUG_SPINLOCK=y > -CONFIG_DEBUG_MUTEXES=y > -CONFIG_DEBUG_RWSEMS=y > -CONFIG_DEBUG_ATOMIC_SLEEP=y > -CONFIG_STACKTRACE=y > -CONFIG_DEBUG_LIST=y > -CONFIG_DEBUG_PLIST=y > -CONFIG_DEBUG_SG=y > # CONFIG_RCU_TRACE is not set > -CONFIG_RCU_EQS_DEBUG=y > -CONFIG_DEBUG_BLOCK_EXT_DEVT=y > -# CONFIG_FTRACE is not set > -# CONFIG_RUNTIME_TESTING_MENU is not set > -CONFIG_MEMTEST=y > diff --git a/arch/riscv/configs/extra_debug.config b/arch/riscv/configs/extra_debug.config > new file mode 100644 > index 000000000000..66c58bb645a4 > --- /dev/null > +++ b/arch/riscv/configs/extra_debug.config > @@ -0,0 +1,21 @@ > +CONFIG_DEBUG_PAGEALLOC=y > +CONFIG_DEBUG_VM=y > +CONFIG_DEBUG_VM_PGFLAGS=y > +CONFIG_DEBUG_MEMORY_INIT=y > +CONFIG_DEBUG_PER_CPU_MAPS=y > +CONFIG_SOFTLOCKUP_DETECTOR=y > +CONFIG_WQ_WATCHDOG=y > +CONFIG_SCHED_STACK_END_CHECK=y > +CONFIG_DEBUG_TIMEKEEPING=y > +CONFIG_DEBUG_RT_MUTEXES=y > +CONFIG_DEBUG_SPINLOCK=y > +CONFIG_DEBUG_MUTEXES=y > +CONFIG_DEBUG_RWSEMS=y > +CONFIG_DEBUG_ATOMIC_SLEEP=y > +CONFIG_STACKTRACE=y > +CONFIG_DEBUG_LIST=y > +CONFIG_DEBUG_PLIST=y > +CONFIG_DEBUG_SG=y > +CONFIG_RCU_EQS_DEBUG=y > +CONFIG_DEBUG_BLOCK_EXT_DEVT=y > +CONFIG_MEMTEST=y > diff --git a/arch/riscv/configs/rv32_defconfig b/arch/riscv/configs/rv32_defconfig > index eb519407c841..bdec58e6c5f7 100644 > --- a/arch/riscv/configs/rv32_defconfig > +++ b/arch/riscv/configs/rv32_defconfig > @@ -98,27 +98,4 @@ CONFIG_CRYPTO_USER_API_HASH=y > CONFIG_CRYPTO_DEV_VIRTIO=y > CONFIG_PRINTK_TIME=y > CONFIG_DEBUG_FS=y > -CONFIG_DEBUG_PAGEALLOC=y > -CONFIG_DEBUG_VM=y > -CONFIG_DEBUG_VM_PGFLAGS=y > -CONFIG_DEBUG_MEMORY_INIT=y > -CONFIG_DEBUG_PER_CPU_MAPS=y > -CONFIG_SOFTLOCKUP_DETECTOR=y > -CONFIG_WQ_WATCHDOG=y > -CONFIG_SCHED_STACK_END_CHECK=y > -CONFIG_DEBUG_TIMEKEEPING=y > -CONFIG_DEBUG_RT_MUTEXES=y > -CONFIG_DEBUG_SPINLOCK=y > -CONFIG_DEBUG_MUTEXES=y > -CONFIG_DEBUG_RWSEMS=y > -CONFIG_DEBUG_ATOMIC_SLEEP=y > -CONFIG_STACKTRACE=y > -CONFIG_DEBUG_LIST=y > -CONFIG_DEBUG_PLIST=y > -CONFIG_DEBUG_SG=y > # CONFIG_RCU_TRACE is not set > -CONFIG_RCU_EQS_DEBUG=y > -CONFIG_DEBUG_BLOCK_EXT_DEVT=y > -# CONFIG_FTRACE is not set > -# CONFIG_RUNTIME_TESTING_MENU is not set > -CONFIG_MEMTEST=y > -- > 2.17.1 >
| |