Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp150995ybg; Tue, 9 Jun 2020 19:17:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwsxMJgBHFS4OiKXLSdBKg17ZgQ1aLpPNbvYm/k6KWxZJjfWCP1fW2ZJrOO3Ii3ThLNcGZ X-Received: by 2002:a17:906:7848:: with SMTP id p8mr1306861ejm.244.1591755459845; Tue, 09 Jun 2020 19:17:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591755459; cv=none; d=google.com; s=arc-20160816; b=okZRQwCoUMzp+h4bg3XlIM0hrt8j1GlW6cFj+sHGHsvUS84DbaJol8FSTsPfvKs9dM PMjxucpeNWFUzfe5iAU4kHpVgJePK8aHcBIl5M4rAVJmOmKVAknlqSy5C6Wg+AOadStV Q96DBr29mEbjQWCFq6e6TAa/81DkSWTKvIR+g82PLLBE1LoYHGbm1DfCv13gpvYrK6+o ZxAuctWuKy31t8ilZSP1cyrKucG7RbbMZ6KoeoOP0Ej3B07P2SFkSLC1El11u7pu/oYi JAWcIy5MToEByw7Qbl52MRBixQ3KJwSBMnaVxXjVxrVV+LxQvyEczDO9z6Tu7y6cSpnk K5fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature; bh=r2oVYJYYg2RDS1H2d6x4IIYfTMv6sdz0p85rDZpNZaM=; b=c+vqaJJq5KSTX959PHIomvGdBe3DuV/rCmwfKcX1FbQo1MT7IK5qsh1cbVhhVTSPmJ OmfZxknGP8mZWGwEnN57eDAAOshzKk1ryU9Xag54o2DH7jltoYOcLXItCnV3e2ri73Y4 p5WTgp5MhUsa7Uz5LcFPt/V49Yzsp2j2ehhF05I1rQmKs1AKgeW+m5jwjCAeG5GllSvl g/86nohWGYrr3AByq5wfvkFbcVEnKai6PJ/U1TTvK4Fuhnx0HsR/ePObwO2oFSJ1as9n zE+cU1ewcq50s06n5+8KbYAHX0jjZY0Th7NQbAUqzsnZjq30foqvhztxsVx+DSPDU50W 36eA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=SlKST4sR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id gu10si11563471ejb.38.2020.06.09.19.17.17; Tue, 09 Jun 2020 19:17:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=SlKST4sR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726112AbgFJCMa (ORCPT + 99 others); Tue, 9 Jun 2020 22:12:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725798AbgFJCM3 (ORCPT ); Tue, 9 Jun 2020 22:12:29 -0400 Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 60D57C05BD1E; Tue, 9 Jun 2020 19:12:28 -0700 (PDT) Received: by mail-pg1-x542.google.com with SMTP id r10so275273pgv.8; Tue, 09 Jun 2020 19:12:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=r2oVYJYYg2RDS1H2d6x4IIYfTMv6sdz0p85rDZpNZaM=; b=SlKST4sRe9z5NfYngtIcEgI7OPqllf0tdp3qx7B6gwf02PVHRBxHdxrhDhJZd+pTwe 9cIDZUyZrOvsmAwHXJYtib5Zt2RWwY9gSR9iDUDFB4mA1m4qYzyrRXNSrM5/G0OjpKj1 YYTc/gXCgoeEQ9R9mgYNktPxoT92dkFQpb84l1K5Pn553MQQf7bpInwFtcesIV0GfzMj ASxD8QTrQHFRlTpl8JlGHNqoHLVe6WAKW1BG1KpxlfjHuVuG0EombUA6sgaMp0Xxn2Eq lgPX01cb8lpoI57uSUnlLGMpkZWRcBYBm7mbiMFbIeG45cb3TTuRdmkQ6GD/WFX0/heE Hvfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=r2oVYJYYg2RDS1H2d6x4IIYfTMv6sdz0p85rDZpNZaM=; b=QlAEMYA/Ge9XXtx4U3b2+4x8jEmpAztyXKl7xrSZT6UkScaTs4M/qvBtwU5b+ZjyJG nIFtL3srxyGjNeXLiHBqaIaaKcdIwHSp9pW+3TR7Qf+UwIuczbn2xHt+mEPnIGXUq5hf s79pikdXrTYuzvqS3iLBU5xoQgxIHmdqfhHwp+eAzp43HHYkpIUELSkdnxuj2LK1Gutb P4kRtCPT6ljpkfpb3xkcW88lYZUvCFRgaDzq/EJDxcneByJavlRiJWjo0AVi0kTCJhqH yY73T9rWN6PB1vZBh/IX8Hp9bBVJ8p4BsveM8g50klqejG7rULiUjFTROPDZ8WDtHuZp wn8Q== X-Gm-Message-State: AOAM532eR3kBvvdFU66Ki+m2XcPtBxuaeHw7u3XG2m57buKsModAnz4Q 3f131s1WRHEez9VIK7H084E= X-Received: by 2002:a63:b506:: with SMTP id y6mr761219pge.107.1591755147346; Tue, 09 Jun 2020 19:12:27 -0700 (PDT) Received: from bj616583pcu.spreadtrum.com ([117.18.48.82]) by smtp.gmail.com with ESMTPSA id p19sm11030694pff.116.2020.06.09.19.12.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Jun 2020 19:12:26 -0700 (PDT) From: gengcixi@gmail.com To: gregkh@linuxfoundation.org, jslaby@suse.com, oberpar@linux.ibm.com, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org Cc: orsonzhai@gmail.com, zhang.lyra@gmail.com, Cixi Geng Subject: [RFC PATCH V5] GCOV: Add config to check the preqequisites situation Date: Wed, 10 Jun 2020 10:11:50 +0800 Message-Id: <20200610021150.19233-1-gengcixi@gmail.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Cixi Geng 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 --- drivers/tty/serial/Kconfig | 8 ++++++++ drivers/tty/serial/Makefile | 1 + kernel/gcov/Kconfig | 15 +++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig index adf9e80e7dc9..3d7e811d90dc 100644 --- a/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig @@ -1566,3 +1566,11 @@ endmenu config SERIAL_MCTRL_GPIO tristate + +config SERIAL_GCOV + bool "Enable profile gcov for serial directory" + depends on GCOV_PROFILE_PREREQS + default y if 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..35b839879553 100644 --- a/kernel/gcov/Kconfig +++ b/kernel/gcov/Kconfig @@ -51,6 +51,21 @@ 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" + depends on !COMPILE_TEST + depends on GCOV_KERNEL + depends on !COMPILE_PROFILE_ALL + 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. + + If unsure, say N. + choice prompt "Specify GCOV format" depends on GCOV_KERNEL -- 2.17.1