From patchwork Fri Feb 4 15:24:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leo Yan X-Patchwork-Id: 12735224 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4B2AFC433F5 for ; Fri, 4 Feb 2022 15:26:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LprqshpF6BkoTD1sBAMdiaBebN1Fi1FNT/7a9bm0Bbc=; b=cZCWktKX/Ja5fL tQg1aJtt8QejX7ZUet8KBGvNcUs/VZo8A9IwzFvdbli3RhxP7z3yC2T8luytuja0E/PsG1dW9Ojy5 jX3VpU4lzYmmhr9+dQAEzjJMmDMoBA2pt90/mOERGfixeIM24qwQL/U5BQhK7MFOPBdXLpEzIZfqG C6TIMymbVaZFqXqfKKMhXxwOnuH64VmOUGY7leNv3SP01TZh5wUahAEswQ4icKLTT9Jov45P7pTdG fHa3Z8AbseTKnNFaHoMPHSfaVlofzpxzYo3SHSs/s8IYbbUptsNAyPHaOCuu9nZgDcfIKXDJ/Oo54 tHcNRZmOZeOx7ltVVC7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nG0SK-004ixX-IN; Fri, 04 Feb 2022 15:25:00 +0000 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nG0Rt-004io0-SP for linux-arm-kernel@lists.infradead.org; Fri, 04 Feb 2022 15:24:35 +0000 Received: by mail-pj1-x102f.google.com with SMTP id q63so5890220pja.1 for ; Fri, 04 Feb 2022 07:24:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5hy+SU5DZKBp2FMkZFvZyRIrItONG8TmUC/aEVKilLA=; b=YVYVsFjbL0x1PoSKxlQAP6K1Q8tWbw8Kg/Pjxg2FOF7pQwqBlm4aamWc85meRcLFXn huSX7CmPT/037OkXHzkS/nZETc3ByhPzAKCmzUjkSPETbmWO8o6872bcmIHdH+b0JaaI wAprJiNghAyI8D7NztOzffdkxld1O/ruTxGaiveeXnEWBQApWyucb85lRhXKfu6rFYk0 PI/EXMInmwt6Y+y0/c1O34jqK9zW6+TH/rxZs2kWiKmj+z4pVj2QjMKCt2qDU6u0P947 OY2QmNPun9R49SR4OQ70OU9A4sNH5oiV/QJRf0uNbHp93lgmnyJIvyBJkKiMZQ5Y+/Fn Yg7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5hy+SU5DZKBp2FMkZFvZyRIrItONG8TmUC/aEVKilLA=; b=KPxGGOiLk+BlH0hHFq5nbzpgNoK083pF0wc7YxBOGrL/2dk25ElG9F02whi/K37aHc vcoieD3VF6Ida2Jwf9VaQrI+MwAPV5k+gwR+bmPWBCVQMxIHE8G52b8gJjqvtjck7OFV C2t7UnLthRdNmC0EUlxF/c8G5r5oftzeDuoHujgfBpyVK3y5OX6PbG9yRmHOIRnHjmTC nBkRcp1YqZ1tF5iTkd1nkJK87K3fRMr0iMRPtCFwDjbKx7Tt5RUxKCsELgfcfpNgtRf+ ky/0wuppBQNtnbcwSfeONi43FjBG/jJWKQQ+l3tMdNNZD6TO+CEVcEv4AyfyOUa528ym MapA== X-Gm-Message-State: AOAM532WpmpgaIYcOS3RFrGCM/9Qmbtf7PssNMvCM1RDlGKYksf5woiR CkGFaUshkKyUIwxoBba1yiV8ug== X-Google-Smtp-Source: ABdhPJxlCc5xJ4BQqndpWvQJnjLgf7o0hy2on0zKx3ZCMYmek4gRlokGD7MNBbxdNJYhr24PFAJ6YQ== X-Received: by 2002:a17:90a:b018:: with SMTP id x24mr3617371pjq.91.1643988273277; Fri, 04 Feb 2022 07:24:33 -0800 (PST) Received: from localhost.localdomain ([134.195.101.46]) by smtp.gmail.com with ESMTPSA id me4sm14237079pjb.26.2022.02.04.07.24.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Feb 2022 07:24:32 -0800 (PST) From: Leo Yan To: Mathieu Poirier , Suzuki K Poulose , Mike Leach , Alexander Shishkin , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Leo Yan Subject: [PATCH v2 RESEND 3/4] coresight: etm4x: Don't trace PID for non-root PID namespace Date: Fri, 4 Feb 2022 23:24:02 +0800 Message-Id: <20220204152403.71775-4-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220204152403.71775-1-leo.yan@linaro.org> References: <20220204152403.71775-1-leo.yan@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220204_072433_943746_A717A3B7 X-CRM114-Status: GOOD ( 15.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When runs in perf mode, the driver always enables the PID tracing. This can lead confusion when the profiling session runs in non-root PID namespace, whereas it records the PIDs from the root PID namespace. To avoid confusion for PID tracing, when runs in perf mode, this patch changes to only enable PID tracing for root PID namespace. As result, after apply this patch, the perf tool reports PID as '-1' for all samples: # unshare --fork --pid perf record -e cs_etm// -m 64K,64K -a \ -o perf_test.data -- uname # perf report -i perf_test.data --itrace=Zi1000i --stdio # Total Lost Samples: 0 # # Samples: 94 of event 'instructions' # Event count (approx.): 94000 # # Overhead Command Shared Object Symbol # ........ ....... ................. .............................. # 68.09% :-1 [kernel.kallsyms] [k] __sched_text_end 3.19% :-1 [kernel.kallsyms] [k] hrtimer_interrupt 2.13% :-1 [kernel.kallsyms] [k] __bitmap_and 2.13% :-1 [kernel.kallsyms] [k] trace_vbprintk 1.06% :-1 [kernel.kallsyms] [k] __fget_files 1.06% :-1 [kernel.kallsyms] [k] __schedule 1.06% :-1 [kernel.kallsyms] [k] __softirqentry_text_start 1.06% :-1 [kernel.kallsyms] [k] __update_load_avg_cfs_rq 1.06% :-1 [kernel.kallsyms] [k] __update_load_avg_se 1.06% :-1 [kernel.kallsyms] [k] arch_counter_get_cntpct 1.06% :-1 [kernel.kallsyms] [k] check_and_switch_context 1.06% :-1 [kernel.kallsyms] [k] format_decode 1.06% :-1 [kernel.kallsyms] [k] handle_percpu_devid_irq 1.06% :-1 [kernel.kallsyms] [k] irq_enter_rcu 1.06% :-1 [kernel.kallsyms] [k] irqtime_account_irq 1.06% :-1 [kernel.kallsyms] [k] ktime_get 1.06% :-1 [kernel.kallsyms] [k] ktime_get_coarse_real_ts64 1.06% :-1 [kernel.kallsyms] [k] memmove 1.06% :-1 [kernel.kallsyms] [k] perf_ioctl 1.06% :-1 [kernel.kallsyms] [k] perf_output_begin 1.06% :-1 [kernel.kallsyms] [k] perf_output_copy 1.06% :-1 [kernel.kallsyms] [k] profile_tick 1.06% :-1 [kernel.kallsyms] [k] sched_clock 1.06% :-1 [kernel.kallsyms] [k] timerqueue_add 1.06% :-1 [kernel.kallsyms] [k] trace_save_cmdline 1.06% :-1 [kernel.kallsyms] [k] update_load_avg 1.06% :-1 [kernel.kallsyms] [k] vbin_printf Signed-off-by: Leo Yan --- drivers/hwtracing/coresight/coresight-etm4x-core.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c index bf18128cf5de..e7fc83a1e188 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -656,7 +656,9 @@ static int etm4_parse_event_config(struct coresight_device *csdev, config->cfg |= BIT(11); } - if (attr->config & BIT(ETM_OPT_CTXTID)) + /* Only trace contextID when runs in root PID namespace */ + if ((attr->config & BIT(ETM_OPT_CTXTID)) && + task_is_in_init_pid_ns(current)) /* bit[6], Context ID tracing bit */ config->cfg |= BIT(ETM4_CFG_BIT_CTXTID); @@ -670,7 +672,11 @@ static int etm4_parse_event_config(struct coresight_device *csdev, ret = -EINVAL; goto out; } - config->cfg |= BIT(ETM4_CFG_BIT_VMID) | BIT(ETM4_CFG_BIT_VMID_OPT); + + /* Only trace virtual contextID when runs in root PID namespace */ + if (task_is_in_init_pid_ns(current)) + config->cfg |= BIT(ETM4_CFG_BIT_VMID) | + BIT(ETM4_CFG_BIT_VMID_OPT); } /* return stack - enable if selected and supported */