Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3087894pxk; Mon, 5 Oct 2020 00:17:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9Vl5YQDQmEAFcTLhTrYq5J21V84l83Mzx+vNYQt6Gqi/pK6cDbTNtLGIwaeyUs3+R0ksq X-Received: by 2002:a50:9d0a:: with SMTP id v10mr15417141ede.144.1601882265482; Mon, 05 Oct 2020 00:17:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601882265; cv=none; d=google.com; s=arc-20160816; b=nOjgTpXvDJxKfr25332czU5MUsbujBUokMESz4udcZhtKIpLzcEj0rWI+VqV6O1TBH CwBFWrk1Y9VqeL7Bconr40B2UfMrOTbwlliVgx7wnRV2a1Wnet1WvSvzedAYvXzWnwWg Oja6SPGJN7HyNN1kuOblhU0yJQGcgaecFZlO2hTRjdQr5j+n3vkCiHRxMY4754fPmdru vbIe382ZBcolq89i0Ady7SvE4FNVaqlRdNGu/mrNqEkX7LeXVGNfFrMEr3+ldvhAOFYy jmXlZGEX6bISwaDEXTivur3xrmWddgldIe4uOTjGx5+5tKYAq0/uNP8HszvqVdyphQZP CKLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:ironport-sdr; bh=GFBDX5BKxMtmQwDZeT0OshziQ6GfXacA8mnMZWdSzIw=; b=O7sznphAx0DcHS2t5PaHwituB2Tw8Sk03C2aD3LnA3t+ITEkgM0dqh8eeLwyZfk0at R8RlznW0GGQ/qlISTjZH4tEB7uXuh6jvxIOtQrbKEYa1lUZzODn3uc13Doya/9g0UL/h UoKxA5HiZJEuoFA5mbcmBRLYsemQOVvNY2NblwH53CJovbMi2vj6sDsQtziqNqTi6FXA vgoLbBvc9H3RnK1iDGD5pxQ2xV2XJi5eBHbKfszhuUCLnysuFPV4AYq74BQOyuNqLEnu W12Udmqsq9qCi0YqdD7UCrJwAOS1RvAdzh096L82T4rGUNmoNX45wBBZlDJUBxiM0k6n 1jLg== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id zj19si6663037ejb.605.2020.10.05.00.17.23; Mon, 05 Oct 2020 00:17:45 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726019AbgJEHNx (ORCPT + 99 others); Mon, 5 Oct 2020 03:13:53 -0400 Received: from mga07.intel.com ([134.134.136.100]:10318 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725982AbgJEHNp (ORCPT ); Mon, 5 Oct 2020 03:13:45 -0400 IronPort-SDR: oiGVFibkTqSUGEEXqXUC2gfKqoDVKGuz1Tb+lC3Rvpo0BTgqlSC5cGahjerDxYKmZIzG62sgm6 iZW8CVmwZ6vw== X-IronPort-AV: E=McAfee;i="6000,8403,9764"; a="227479278" X-IronPort-AV: E=Sophos;i="5.77,338,1596524400"; d="scan'208";a="227479278" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Oct 2020 00:13:42 -0700 IronPort-SDR: +/OF1jypnWOYfScuqHV3NSBsjF7pWDR33ulArYmHlOpLbfyL0V9ukSE2pnhGfCh2/wkbFMUFWL 6vhdJv+EwrJQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,338,1596524400"; d="scan'208";a="309718105" Received: from black.fi.intel.com (HELO black.fi.intel.com.) ([10.237.72.28]) by orsmga003.jf.intel.com with ESMTP; 05 Oct 2020 00:13:41 -0700 From: Alexander Shishkin To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, Tingwei Zhang , Steven Rostedt , Alexander Shishkin Subject: [PATCH 6/8] stm class: ftrace: Use different channel accroding to CPU Date: Mon, 5 Oct 2020 10:13:17 +0300 Message-Id: <20201005071319.78508-7-alexander.shishkin@linux.intel.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201005071319.78508-1-alexander.shishkin@linux.intel.com> References: <20201005071319.78508-1-alexander.shishkin@linux.intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Tingwei Zhang To avoid mixup of packets from differnt ftrace packets simultaneously, use different channel for packets from different CPU. Signed-off-by: Tingwei Zhang Reviewed-by: Steven Rostedt (VMware) Signed-off-by: Alexander Shishkin --- drivers/hwtracing/stm/ftrace.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/hwtracing/stm/ftrace.c b/drivers/hwtracing/stm/ftrace.c index c694a6e692d1..3bb606dfa634 100644 --- a/drivers/hwtracing/stm/ftrace.c +++ b/drivers/hwtracing/stm/ftrace.c @@ -37,8 +37,10 @@ static void notrace stm_ftrace_write(struct trace_export *export, const void *buf, unsigned int len) { struct stm_ftrace *stm = container_of(export, struct stm_ftrace, ftrace); + /* This is called from trace system with preemption disabled */ + unsigned int cpu = smp_processor_id(); - stm_source_write(&stm->data, STM_FTRACE_CHAN, buf, len); + stm_source_write(&stm->data, STM_FTRACE_CHAN + cpu, buf, len); } static int stm_ftrace_link(struct stm_source_data *data) @@ -63,6 +65,7 @@ static int __init stm_ftrace_init(void) { int ret; + stm_ftrace.data.nr_chans = roundup_pow_of_two(num_possible_cpus()); ret = stm_source_register_device(NULL, &stm_ftrace.data); if (ret) pr_err("Failed to register stm_source - ftrace.\n"); -- 2.28.0