Re: [RFC][PATCH V2] GCOV: profile by modules

From: Cixi Geng
Date: Wed May 20 2020 - 05:05:34 EST


Thank you for guidances, I will fix error and upload new patch

Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> ä2020å5æ20æåä äå4:51åéï
>
> On Wed, May 20, 2020 at 04:38:21PM +0800, gengcixi@xxxxxxxxx wrote:
> > From: Cixi Geng <cixi.geng1@xxxxxxxxxx>
> >
> > ---
> > Replace symbol GCOV_PROFILE_MODULES with GCOV_PROFILE_PREREQS
> > ---
> > The CONFIG_GCOV_PROFILE_ALL will compile kernel by profiling entire
> > kernel which will lead to kernel run slower.Use GCOV_PROFILE_PREREQS
> > to control part of the kernel modules to open gcov.
> >
> > Only add SERIAL_GCOV for an example.
> >
> > Signed-off-by: Cixi Geng <cixi.geng1@xxxxxxxxxx>
> > ---
> > drivers/tty/serial/Kconfig | 6 ++++++
> > drivers/tty/serial/Makefile | 1 +
> > kernel/gcov/Kconfig | 14 ++++++++++++++
> > 3 files changed, 21 insertions(+)
> >
> > diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> > index adf9e80e7dc9..964df1a2989c 100644
> > --- a/drivers/tty/serial/Kconfig
> > +++ b/drivers/tty/serial/Kconfig
> > @@ -1566,3 +1566,9 @@ endmenu
> >
> > config SERIAL_MCTRL_GPIO
> > tristate
> > +
> > +config SERIAL_GCOV
> > + bool "open gcov for serial"
>
> What do you mean by "open"? And Kconfig entries are usually Upper Case" :)
>
> > + depends on GCOV_PROFILE_PREREQS
> > + help
> > + Say Y here to enable gcov in serial.
>
> I think we need more text here.
>
>
> > diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
> > index d056ee6cca33..7be1202286d2 100644
> > --- a/drivers/tty/serial/Makefile
> > +++ b/drivers/tty/serial/Makefile
> > @@ -2,6 +2,7 @@
> > #
> > # Makefile for the kernel serial device drivers.
> > #
> > +GCOV_PROFILE := $(CONFIG_SERIAL_GCOV)
> >
> > obj-$(CONFIG_SERIAL_CORE) += serial_core.o
> >
> > diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig
> > index 3941a9c48f83..91cc8f3c7c43 100644
> > --- a/kernel/gcov/Kconfig
> > +++ b/kernel/gcov/Kconfig
> > @@ -51,6 +51,20 @@ config GCOV_PROFILE_ALL
> > larger and run slower. Also be sure to exclude files from profiling
> > which are not linked to the kernel image to prevent linker errors.
> >
> > +config GCOV_PROFILE_PREREQS
> > + bool "Profile Kernel subsytem"
> > + depends on !COMPILE_TEST
> > + depends on GCOV_KERNEL
> > + default n
>
> default is always 'n', no need to list that
>
> > + help
> > + This options activates profiling for the specified kernel modules.
> > +
> > + If unsure, say N.
> > +
> > + When some modules need Gcov data, enable this config, then configure
> > + with gcov on the corresponding modules configs.The directories or files
>
> '. '?
>
> > + of these modules will be added profiling flags after kernel compile.
>
> The lines under "help" need to be indented more, right?
>
> thanks,
>
> greg k-h