From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 12818C433DB for ; Sat, 6 Feb 2021 15:10:56 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CD93964E39 for ; Sat, 6 Feb 2021 15:10:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CD93964E39 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=oOHIeJecNBG+qBb0qogQ6Ih9gDseuvb1YxVdCwSfkuo=; b=NIu2dVM1gZHU6ZhNozjiJCkJO qkCfiJphsTffYm+NHokj+11yijdkD5X6N20KZu/WkJxJGFoh3OyR9GObpDOPyuP6IFn+ddPyJ45iS XhaYNxbQAsfAXzTvn16wLuApjLdwIG1IvIrnhj1Ai+1QjmLsv2KAEDq9vmgtP/1H0J8+PALB7yCru 8PkmPs5uMhuWkfzwhGgloufLD//K6SwLzHo2bZ4qV2VEzLUrPz9lIzJ/piJe4MC6WgSlDZfb4chRR +czAr9nMu9P3CcBKyvaks1ABV5bVfUFKxdYmhiEGIC04VO5B70yd/8z80BbhRXcngYmTqrs6DqlKF IMn1NV15A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l8PDF-0001Hw-V0; Sat, 06 Feb 2021 15:09:30 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l8PCr-00018B-KU for linux-arm-kernel@lists.infradead.org; Sat, 06 Feb 2021 15:09:12 +0000 Received: by mail-pl1-x634.google.com with SMTP id a16so5077725plh.8 for ; Sat, 06 Feb 2021 07:09:05 -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=pyq04aDyfklktjTYGZj1z7yEnQjahkQt1L+FxuD6rbc=; b=qouNmuiuA8NJ1l/H8300ZVUwur3oOXWDpVnlUcMcbSlVSiTRe22Z6KDCuf8kYKyk0U z+6ThKM6a8A/ne/di/CYjp1U55ffvgsiaUzHa/y38LW+iIJsNo2jJNn23X0dn4B4R2No 8Wh82ynNFEzR3vG1/1H3hJW9+XzWOVWBh/3IwkbD7KaYLSyNtT9ktnn78f/VerycS3N7 PrHCCtQ3bZZLFeJE3o+ZnWn/6nQnG4WrJjUr+BvKChM99ZhbZmw+cDXQh25eDV9NnK/h RX0OqfGrS0MM48on+Mow4AR93900EiV7lD46cqduxcg2Cca9zsCqCO/R+TNdgm3oV0VD LA5w== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=pyq04aDyfklktjTYGZj1z7yEnQjahkQt1L+FxuD6rbc=; b=UPB8i6FF6hHxwQrWKfP3ZUtlAKS8y3GqEH46JdihPuGlMEZNf/g7pxdBiEQBl5MoYU 0a1lJ/wH5cTIsHfy9ROvsZGr7pNfiV1gE7U/vqK6Aotfy4CwXnsEmR45Te4jtJ16M9xD eX16tUTODdNSSQlOtRSNVWy5W7rDz62o4m/z95kOOpmgXi+Uh5WwVZuNxoppQLA5lZWG YzcySJsz0h+WLiQmxyvKccYuqIV5MKSdb9+IEWgN7QQ4ZoNJi5qsJ2f2qjUQYHptA2t0 jP1CoAIYb2BfFuRmJezKUUy6PMCC2iHIKNZDmbbIajODKcwFgBF/iG8O+97tZAYC0Z0w ukhg== X-Gm-Message-State: AOAM530+0Gk0tRieS7BSCtP4vaiMZPs/zvt7K6+8J1Yz+VO6pg2aCXX5 bXK/QsbiS56JW31DTTX/akrzKw== X-Google-Smtp-Source: ABdhPJwj+OVRVnKmsjDw1DYmbunE3T7l8kU39KGFhJEnF6qVIppWsp0LC23v9mPduTbJKz6UchQxqA== X-Received: by 2002:a17:90a:a890:: with SMTP id h16mr723147pjq.125.1612624143395; Sat, 06 Feb 2021 07:09:03 -0800 (PST) Received: from localhost ([45.137.216.202]) by smtp.gmail.com with ESMTPSA id f15sm11364222pja.24.2021.02.06.07.09.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Feb 2021 07:09:02 -0800 (PST) From: Leo Yan To: Arnaldo Carvalho de Melo , Mathieu Poirier , Suzuki K Poulose , Mike Leach , Jonathan Corbet , John Garry , Will Deacon , Peter Zijlstra , Ingo Molnar , Mark Rutland , Jiri Olsa , Namhyung Kim , Daniel Kiss , Denis Nikitin , Al Grant , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 7/8] perf cs-etm: Detect pid in VMID for kernel running at EL2 Date: Sat, 6 Feb 2021 23:08:32 +0800 Message-Id: <20210206150833.42120-8-leo.yan@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210206150833.42120-1-leo.yan@linaro.org> References: <20210206150833.42120-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-20210206_100905_774666_9B077278 X-CRM114-Status: GOOD ( 19.82 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leo Yan Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Suzuki K Poulose The PID of the task could be traced as VMID when the kernel is running at EL2. Teach the decoder to look for VMID when the CONTEXTIDR (Arm32) or CONTEXTIDR_EL1 (Arm64) is invalid but we have a valid VMID. Cc: Mike Leach Cc: Mathieu Poirier Cc: Al Grant Signed-off-by: Suzuki K Poulose Co-developed-by: Leo Yan Signed-off-by: Leo Yan --- .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c index 3f4bc4050477..4052c9ce6e2f 100644 --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c @@ -6,6 +6,7 @@ * Author: Mathieu Poirier */ +#include #include #include #include @@ -491,13 +492,42 @@ cs_etm_decoder__set_tid(struct cs_etm_queue *etmq, const ocsd_generic_trace_elem *elem, const uint8_t trace_chan_id) { - pid_t tid; + pid_t tid = -1; + static u64 pid_fmt; + int ret; - /* Ignore PE_CONTEXT packets that don't have a valid contextID */ - if (!elem->context.ctxt_id_valid) + /* + * As all the ETMs run at the same exception level, the system should + * have the same PID format crossing CPUs. So cache the PID format + * and reuse it for sequential decoding. + */ + if (!pid_fmt) { + ret = cs_etm__get_pid_fmt(trace_chan_id, &pid_fmt); + if (ret) + return OCSD_RESP_FATAL_SYS_ERR; + } + + /* + * Process the PE_CONTEXT packets if we have a valid contextID or VMID. + * If the kernel is running at EL2, the PID is traced in CONTEXTIDR_EL2 + * as VMID, Bit ETM_OPT_CTXTID2 is set in this case. + */ + switch (pid_fmt) { + case BIT(ETM_OPT_CTXTID): + if (elem->context.ctxt_id_valid) + tid = elem->context.context_id; + break; + case BIT(ETM_OPT_CTXTID2): + if (elem->context.vmid_valid) + tid = elem->context.vmid; + break; + default: + break; + } + + if (tid == -1) return OCSD_RESP_CONT; - tid = elem->context.context_id; if (cs_etm__etmq_set_tid(etmq, tid, trace_chan_id)) return OCSD_RESP_FATAL_SYS_ERR; -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel