From patchwork Tue May 23 09:32:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yicong Yang X-Patchwork-Id: 13251979 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECAEDC77B75 for ; Tue, 23 May 2023 09:33:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235434AbjEWJd6 (ORCPT ); Tue, 23 May 2023 05:33:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53974 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235522AbjEWJd4 (ORCPT ); Tue, 23 May 2023 05:33:56 -0400 Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7CB2E1A6; Tue, 23 May 2023 02:33:48 -0700 (PDT) Received: from canpemm500009.china.huawei.com (unknown [172.30.72.53]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4QQTXt3WR8z18Lfn; Tue, 23 May 2023 17:29:18 +0800 (CST) Received: from localhost.localdomain (10.50.163.32) by canpemm500009.china.huawei.com (7.192.105.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Tue, 23 May 2023 17:33:46 +0800 From: Yicong Yang To: , , , , , CC: , , , , Subject: [PATCH v3 0/4] Improve PTT filter interface Date: Tue, 23 May 2023 17:32:24 +0800 Message-ID: <20230523093228.48149-1-yangyicong@huawei.com> X-Mailer: git-send-email 2.31.0 MIME-Version: 1.0 X-Originating-IP: [10.50.163.32] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To canpemm500009.china.huawei.com (7.192.105.203) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org From: Yicong Yang This series tends to improve the PTT's filter interface in 2 aspects (Patch 2&3): - Support dynamically filter updating to response to hotplug Previous the supported filter list is settled down once the driver probed and it maybe out-of-date if hotplug events happen later. User need to reload the driver to update list. Patch 1/2 enable the driver to update the list by registering a PCI bus notifier and the filter list will always be the latest. - Export the available filters through sysfs Previous user needs to calculate the filters and filter value using device's BDF number, which requires the user to know the hardware well. Patch 3/3 tends to export the available filter information through sysfs attributes, the filter value will be gotten by reading the file. This will be more user friendly. In order to support above function, this series also includes a patch 1/4 to factor out the allocation and release function of PTT filters. Also includes an improvement. Patch 4 tends to set proper PMU capability to avoid collecting unnecessary data to save the storage. Change since v2: - Fix one possible issue for dereferencing a NULL pointer Link: https://lore.kernel.org/linux-pci/20230331070310.5465-1-yangyicong@huawei.com/ Change since v1: - Drop the patch for handling the cpumask since it seems to be redundant - Refine of the codes per Jonathan - Add Patch 1/4 for refactor the filters allocation and release - Thanks the review of Jonathan. Link: https://lore.kernel.org/linux-pci/d496ee4f-641a-a726-ab3f-62b587422b61@huawei.com/T/#m47e4de552d69920035214b3e91080cdc185f61f5 Yicong Yang (4): hwtracing: hisi_ptt: Factor out filter allocation and release operation hwtracing: hisi_ptt: Add support for dynamically updating the filter list hwtracing: hisi_ptt: Export available filters through sysfs hwtracing: hisi_ptt: Advertise PERF_PMU_CAP_NO_EXCLUDE for PTT PMU .../ABI/testing/sysfs-devices-hisi_ptt | 50 ++ Documentation/trace/hisi-ptt.rst | 12 +- drivers/hwtracing/ptt/hisi_ptt.c | 426 ++++++++++++++++-- drivers/hwtracing/ptt/hisi_ptt.h | 53 +++ 4 files changed, 512 insertions(+), 29 deletions(-)