Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1413768pxf; Fri, 2 Apr 2021 09:50:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyaVcpyFLijOrMzo3irS7FIB1vOQfIF8MZo51DAkMtyUwkkRzz9sI2Bdm+l7KXCsFMYHum5 X-Received: by 2002:a92:5214:: with SMTP id g20mr202842ilb.219.1617382251306; Fri, 02 Apr 2021 09:50:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617382251; cv=none; d=google.com; s=arc-20160816; b=foLbaOp09OfycDk6j7NouKUi7dQjm9MfWCf0KARTksR+mzMB4cRo78VNADT2JBldKt 0RuYyWZlbDMOOI8FVH0ZrCypeoX/fCr4x9AflcpmiHwCZksHRvCQKsbJWp2z0CEJzz9x c8U3aAsOq6ZZGLAhwzD0XrkFYYZqY/9IiPowivgFPfvswrsI7bZajWd3LpHw2cA/74IM wdiI4kdlzcbnFSF1gVGoJpzmpFeYeNXn7D2LeG9Zs2TB46UVzu+Y2s0I1L04O3LU9bVR K53d9kIPdTetu8l5Z6UWrpxF2ZwmTul7Olj0knqilU4yy4lHjffuvf1QQf9MYb4U+Up7 iSkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=NYUXJrZvgFFtHneB60asRAO0fPniIB4huMGdzOfPyfI=; b=d1Sk1RWf54dF/03rR9ZQglB28xG5HyglZ5Na6+YHG4jttvahaKwbu+HoTL5abxYDl5 QFgvBZdcCx2tgFlpzTFeW+pBOTMROResoTrYUKLIqfcHghtSU5cmpXU+/3RnzAJdQeaw VNVHGIwdziiCgewugHYgtbCKU6FGdghGnpUD94Ai72vo26MhYq+X4CZ0XQ7F1KNwHHpq d9N1IZqiS/aPEKabDPKf2yjAetkZ/8gckhci6kzgpIq4CFKqWZ+6OcSwmKAW7VUSEmhT Cn2Enp6b7QXmCydMmMbWmGAcz7MXZvhnUmQbPX1qGqnYQDP43QymFpbx/Sl3IE3SWX/t kQnA== 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 b5si9276309jat.99.2021.04.02.09.50.37; Fri, 02 Apr 2021 09:50:51 -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 S234839AbhDBQuU (ORCPT + 99 others); Fri, 2 Apr 2021 12:50:20 -0400 Received: from mail.kernel.org ([198.145.29.99]:59332 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229722AbhDBQuS (ORCPT ); Fri, 2 Apr 2021 12:50:18 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 73EC161106; Fri, 2 Apr 2021 16:50:15 +0000 (UTC) From: Tom Zanussi To: vkoul@kernel.org Cc: peterz@infradead.org, acme@kernel.org, mingo@kernel.org, kan.liang@linux.intel.com, dave.jiang@intel.com, tony.luck@intel.com, dan.j.williams@intel.com, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org Subject: [PATCH 0/1] dmaengine: idxd: IDXD pmu support Date: Fri, 2 Apr 2021 11:50:10 -0500 Message-Id: X-Mailer: git-send-email 2.17.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, This patchset implements initial pmu support for the Intel DSA (Data Streaming Accelerator [1]), which I'm hoping can go into 5.13. I'm also hoping to supply a couple follow-on patches in the near future, but I'm not yet sure how much sense they make, so I thought I'd throw a couple ideas out there and maybe get some opinions before going forward with them: - The perf userspace interface for this isn't exactly user-friedly, in that you currently need to specify numeric values for field values: # perf stat -e dsa0/filter_wq=0x1,filter_tc=0x1,filter_sz=0x7, filter_eng=0x1,event=0x8,event_category=0x3/ It would be nicer to be able to specify those values symbolically instead, and the way to do that seems to be via some JSON files in perf userspace. - Some of the DSA pmu support is patterned after existing uncore code, and there seems to be at least some opportunity to consolidate some of the things they both do into common code, such as the cpumask device attributes and related cpu hotplug support. At this point I'm not sure how much sense it makes to put any effort into that, but would be willing to try if there would be some interest in it, especially considering there will probably be future pmu support added that could benefit from it. Thanks, Tom [1]: https://software.intel.com/content/www/us/en/develop/download/intel-data-streaming-accelerator-preliminary-architecture-specification.html Tom Zanussi (1): dmaengine: idxd: Add IDXD performance monitor support drivers/dma/Kconfig | 13 + drivers/dma/idxd/Makefile | 2 + drivers/dma/idxd/idxd.h | 45 +++ drivers/dma/idxd/init.c | 9 + drivers/dma/idxd/irq.c | 5 +- drivers/dma/idxd/perfmon.c | 661 +++++++++++++++++++++++++++++++++++ drivers/dma/idxd/perfmon.h | 119 +++++++ drivers/dma/idxd/registers.h | 108 ++++++ include/linux/cpuhotplug.h | 1 + 9 files changed, 959 insertions(+), 4 deletions(-) create mode 100644 drivers/dma/idxd/perfmon.c create mode 100644 drivers/dma/idxd/perfmon.h -- 2.17.1