From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966585AbcHBNgg (ORCPT ); Tue, 2 Aug 2016 09:36:36 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:42329 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965361AbcHBNZZ (ORCPT ); Tue, 2 Aug 2016 09:25:25 -0400 Date: Tue, 2 Aug 2016 15:22:48 +0200 From: Peter Zijlstra To: Bjorn Helgaas Cc: Muni Sekhar , linux-pci@vger.kernel.org, Ingo Molnar , Arnaldo Carvalho de Melo , Alexander Shishkin , linux-kernel@vger.kernel.org, Stephane Eranian Subject: Re: Test throughput on PCIe interface Message-ID: <20160802132248.GJ6862@twins.programming.kicks-ass.net> References: <20160722161406.GC20646@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160722161406.GC20646@localhost> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 22, 2016 at 11:14:06AM -0500, Bjorn Helgaas wrote: > [+cc perf folks] > > On Fri, Jul 22, 2016 at 05:59:51PM +0530, Muni Sekhar wrote: > > Hi All, > > > > > > We have xilinx PCIe endpoint with DMA reference block. > > > > > > The DMA-REF block provides a mechanism to DMA(also supports > > Scatter-Gather DMA) transfer data at the maximum rate between host > > (CPU) memory and a FIFO in the DMA-REF block. > > > > > > DMA-REF block provides the loopback. The intention is to use this > > block in production and self-test, to check that the PCIe bus is > > operating at the expected maximum transfer speed. > > > > > > Does kernel has any standard utilities to test throughput on PCIe interface? > > I know some PCIe controllers devices do have performance monitors, and > perf might support some of them, but I don't know any details. At least some of the Intel Uncore drivers have boxes specific to PCIe (for instance my IVB-EP has an uncore_r2pcie PMU). I'm not aware of any endpoint drivers, but it should not be too hard to create uncore drivers for them.