On Thu, 3 May 2018 21:00:13 +0800 "Du, Changbin" <changbin.du@xxxxxxxxx> wrote: > On Wed, May 02, 2018 at 04:27:47PM -0400, Arnd Bergmann wrote: > > On Wed, May 2, 2018 at 9:44 AM, <changbin.du@xxxxxxxxx> wrote: > > > From: Changbin Du <changbin.du@xxxxxxxxx> > > > > > > This patch add a new kernel hacking option NO_AUTO_INLINE. Selecting > > > this option will prevent the compiler from optimizing the kernel by > > > auto-inlining functions not marked with the inline keyword. > > > > > > With this option, only functions explicitly marked with "inline" will > > > be inlined. This will allow the function tracer to trace more functions > > > because it only traces functions that the compiler has not inlined. > > > > > > Signed-off-by: Changbin Du <changbin.du@xxxxxxxxx> > > > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> > > > > Should this be closer to CONFIG_OPTIMIZE_INLINING or > > possibly mutually exclusive with it? > > > They are not related I think. CONFIG_OPTIMIZE_INLINING only has effect on > functions which are explicitly marked as inline. > Agreed, as OPTIMIZE_INLINING is to make functions marked inline not to be inlined. And I just noticed (doing a git grep), that that config is now only available in arch/x86. Maybe it always was, but sparc undefines it for vclock_gettime.c. $ git grep OPTIMIZE_INLIN arch/sparc/vdso/vdso32/vclock_gettime.c:#undef CONFIG_OPTIMIZE_INLINING arch/x86/Kconfig.debug:config OPTIMIZE_INLINING arch/x86/configs/i386_defconfig:CONFIG_OPTIMIZE_INLINING=y arch/x86/configs/x86_64_defconfig:CONFIG_OPTIMIZE_INLINING=y arch/x86/entry/vdso/vdso32/vclock_gettime.c:#undef CONFIG_OPTIMIZE_INLINING include/linux/compiler-gcc.h: !defined(CONFIG_OPTIMIZE_INLINING) || (__GNUC__ < 4) kernel/configs/tiny.config:CONFIG_OPTIMIZE_INLINING=y -- Steve