Linux-Serial Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH V6] GCOV: Add config to check the preqequisites situation
@ 2020-06-18 10:08 gengcixi
       [not found] ` <2fae67c7637f4e978cb54c3b96090788@BJMBX01.spreadtrum.com>
  0 siblings, 1 reply; 3+ messages in thread
From: gengcixi @ 2020-06-18 10:08 UTC (permalink / raw)
  To: gregkh, jslaby, oberpar, linux-serial, linux-kernel
  Cc: orsonzhai, zhang.lyra, Cixi Geng

From: Cixi Geng <cixi.geng1@unisoc.com>

Introduce new configuration option GCOV_PROFILE_PREREQS that can be
used to check whether the prerequisites for enabling gcov profiling
for specific files and directories are met.

Only add SERIAL_GCOV for an example.

Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
---
 drivers/tty/serial/Kconfig  |  7 +++++++
 drivers/tty/serial/Makefile |  1 +
 kernel/gcov/Kconfig         | 10 ++++++++++
 3 files changed, 18 insertions(+)

diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index adf9e80e7dc9..6df002370f18 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1566,3 +1566,10 @@ endmenu
 
 config SERIAL_MCTRL_GPIO
 	tristate
+
+config SERIAL_GCOV
+	bool "Enable profile gcov for serial directory"
+	depends on GCOV_PROFILE_PREREQS
+	help
+	  The SERIAL_GCOV will add Gcov profiling flags when kernel compiles.
+	  Say 'Y' here if you want the gcov data for the serial directory,
diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
index d056ee6cca33..17272733db95 100644
--- a/drivers/tty/serial/Makefile
+++ b/drivers/tty/serial/Makefile
@@ -3,6 +3,7 @@
 # Makefile for the kernel serial device drivers.
 #
 
+GCOV_PROFILE := $(CONFIG_SERIAL_GCOV)
 obj-$(CONFIG_SERIAL_CORE) += serial_core.o
 
 obj-$(CONFIG_SERIAL_EARLYCON) += earlycon.o
diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig
index 3941a9c48f83..f415c4aaf0ab 100644
--- a/kernel/gcov/Kconfig
+++ b/kernel/gcov/Kconfig
@@ -51,6 +51,16 @@ 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 for prereqs"
+	default y if GCOV_KERNEL && !COMPILE_TEST
+	help
+	  This options activates profiling for the specified kernel modules.
+
+	  When some modules need Gcov data, enable this config, then configure
+	  with gcov on the corresponding modules,The directories or files of
+	  these modules will be added profiling flags after kernel compile.
+
 choice
 	prompt "Specify GCOV format"
 	depends on GCOV_KERNEL
-- 
2.17.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V6] GCOV: Add config to check the preqequisites situation
       [not found] ` <2fae67c7637f4e978cb54c3b96090788@BJMBX01.spreadtrum.com>
@ 2020-07-16 12:38   ` Cixi Geng
  2020-07-23  9:47     ` Peter Oberparleiter
  0 siblings, 1 reply; 3+ messages in thread
From: Cixi Geng @ 2020-07-16 12:38 UTC (permalink / raw)
  To: Greg KH, jslaby, Peter Oberparleiter, linux-serial, linux-kernel
  Cc: Cixi Geng1, Orson Zhai, zhang.lyra

Hi All:
Does this patch need more modification?



> 发件人: gengcixi@gmail.com <gengcixi@gmail.com>
> 发送时间: 2020年6月18日 18:08
> 收件人: gregkh@linuxfoundation.org; jslaby@suse.com; oberpar@linux.ibm.com; linux-serial@vger.kernel.org; linux-kernel@vger.kernel.org
> 抄送: orsonzhai@gmail.com; zhang.lyra@gmail.com; 耿慈熙 (Cixi Geng/10039)
> 主题: [PATCH V6] GCOV: Add config to check the preqequisites situation
>
> From: Cixi Geng <cixi.geng1@unisoc.com>
>
> Introduce new configuration option GCOV_PROFILE_PREREQS that can be
> used to check whether the prerequisites for enabling gcov profiling
> for specific files and directories are met.
>
> Only add SERIAL_GCOV for an example.
>
> Signed-off-by: Cixi Geng <cixi.geng1@unisoc.com>
> ---
>  drivers/tty/serial/Kconfig  |  7 +++++++
>  drivers/tty/serial/Makefile |  1 +
>  kernel/gcov/Kconfig         | 10 ++++++++++
>  3 files changed, 18 insertions(+)
>
> diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
> index adf9e80e7dc9..6df002370f18 100644
> --- a/drivers/tty/serial/Kconfig
> +++ b/drivers/tty/serial/Kconfig
> @@ -1566,3 +1566,10 @@ endmenu
>
>  config SERIAL_MCTRL_GPIO
>         tristate
> +
> +config SERIAL_GCOV
> +       bool "Enable profile gcov for serial directory"
> +       depends on GCOV_PROFILE_PREREQS
> +       help
> +         The SERIAL_GCOV will add Gcov profiling flags when kernel compiles.
> +         Say 'Y' here if you want the gcov data for the serial directory,
> diff --git a/drivers/tty/serial/Makefile b/drivers/tty/serial/Makefile
> index d056ee6cca33..17272733db95 100644
> --- a/drivers/tty/serial/Makefile
> +++ b/drivers/tty/serial/Makefile
> @@ -3,6 +3,7 @@
>  # Makefile for the kernel serial device drivers.
>  #
>
> +GCOV_PROFILE := $(CONFIG_SERIAL_GCOV)
>  obj-$(CONFIG_SERIAL_CORE) += serial_core.o
>
>  obj-$(CONFIG_SERIAL_EARLYCON) += earlycon.o
> diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig
> index 3941a9c48f83..f415c4aaf0ab 100644
> --- a/kernel/gcov/Kconfig
> +++ b/kernel/gcov/Kconfig
> @@ -51,6 +51,16 @@ 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 for prereqs"
> +       default y if GCOV_KERNEL && !COMPILE_TEST
> +       help
> +         This options activates profiling for the specified kernel modules.
> +
> +         When some modules need Gcov data, enable this config, then configure
> +         with gcov on the corresponding modules,The directories or files of
> +         these modules will be added profiling flags after kernel compile.
> +
>  choice
>         prompt "Specify GCOV format"
>         depends on GCOV_KERNEL
> --
> 2.17.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH V6] GCOV: Add config to check the preqequisites situation
  2020-07-16 12:38   ` Cixi Geng
@ 2020-07-23  9:47     ` Peter Oberparleiter
  0 siblings, 0 replies; 3+ messages in thread
From: Peter Oberparleiter @ 2020-07-23  9:47 UTC (permalink / raw)
  To: Cixi Geng, Greg KH, jslaby, linux-serial, linux-kernel
  Cc: Cixi Geng1, Orson Zhai, zhang.lyra

On 16.07.2020 14:38, Cixi Geng wrote:
> Hi All:
> Does this patch need more modification?

Yes. As it is now there's still a prompt for the prereq symbol. There
should be no prompt for this symbol in the config dialog.

[...]


>> diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig
>> index 3941a9c48f83..f415c4aaf0ab 100644
>> --- a/kernel/gcov/Kconfig
>> +++ b/kernel/gcov/Kconfig
>> @@ -51,6 +51,16 @@ 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 for prereqs"
>> +       default y if GCOV_KERNEL && !COMPILE_TEST
>> +       help
>> +         This options activates profiling for the specified kernel modules.
>> +
>> +         When some modules need Gcov data, enable this config, then configure
>> +         with gcov on the corresponding modules,The directories or files of
>> +         these modules will be added profiling flags after kernel compile.
>> +

Replace the portion above with these lines:

config GCOV_PROFILE_PREREQS
        def_bool y if GCOV_KERNEL && !COMPILE_TEST



-- 
Peter Oberparleiter
Linux on Z Development - IBM Germany

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, back to index

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-18 10:08 [PATCH V6] GCOV: Add config to check the preqequisites situation gengcixi
     [not found] ` <2fae67c7637f4e978cb54c3b96090788@BJMBX01.spreadtrum.com>
2020-07-16 12:38   ` Cixi Geng
2020-07-23  9:47     ` Peter Oberparleiter

Linux-Serial Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-serial/0 linux-serial/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-serial linux-serial/ https://lore.kernel.org/linux-serial \
		linux-serial@vger.kernel.org
	public-inbox-index linux-serial

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-serial


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git