From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1-relais-roc.national.inria.fr ([192.134.164.82]:63979 "EHLO mail1-relais-roc.national.inria.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964978Ab2FAQU1 (ORCPT ); Fri, 1 Jun 2012 12:20:27 -0400 Message-ID: <4FC8EBC8.20807@inria.fr> Date: Fri, 01 Jun 2012 18:20:24 +0200 From: Brice Goglin MIME-Version: 1.0 To: linux-pci@vger.kernel.org Subject: wrong link speed reported in lspci? Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-pci-owner@vger.kernel.org List-ID: Hello, I am trying to find out the PCI link speed of some of my devices to understand their observed DMA throughput. I have different machines where NVIDIA GPUs show 6GB/s DMA throughput in both direction. On some machines, lspci: Capabilities: [78] Express (v2) Endpoint, MSI 00 LnkCap: Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <1us LnkSta: Speed 5GT/s, Width x16, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt- That's 8GB/s, so it's OK to get 6GB/s in my benchmark. But on other machines, lspci reports 16x 2.5GT/s: Capabilities: [78] Express (v2) Endpoint, MSI 00 LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Latency L0 <256ns, L1 <4us LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- That's 4GB/s, so I shouldn't see 6 GB/s DMA there. These machines and devices support 16x PCIe v2, so ideally the link should come at 16x 5GB/s. Am I missing something in the lspci output that would explain why the second linkspeed isn't actually limited to 4GB/s? I am pasting both detailled lspci output below. Thanks. Brice Device where things look strange: 05:00.0 3D controller: NVIDIA Corporation Tesla M2075 Dual-Slot Computing Processor Module (rev a1) Subsystem: NVIDIA Corporation Device 0888 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 Kernel driver in use: nvidia 00: de 10 94 10 07 00 10 00 a1 00 02 03 00 00 00 00 10: 00 00 00 d8 0c 00 00 c0 00 00 00 00 0c 00 00 ce 20: 00 00 00 00 81 ec 00 00 00 00 00 00 de 10 88 08 30: 00 00 00 00 60 00 00 00 00 00 00 00 0f 01 00 00 40: de 10 88 08 00 00 00 00 00 00 00 00 00 00 00 00 50: 01 00 00 00 01 00 00 00 ce d6 23 00 00 00 00 00 60: 01 68 03 00 08 00 00 00 05 78 80 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 10 b4 02 00 e0 8d 64 00 80: 1e 21 00 00 01 2d 05 00 40 01 01 11 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 a0: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 b0: 00 00 00 00 09 00 14 01 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Device where things look OK: 02:00.0 VGA compatible controller: nVidia Corporation GT200GL [Quadro FX 5800] (rev a1) (prog-if 00 [VGA controller]) Subsystem: nVidia Corporation Device 0593 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 Kernel driver in use: nvidia 00: de 10 fd 05 07 00 10 00 a1 00 00 03 00 00 00 00 10: 00 00 00 f7 0c 00 00 d0 00 00 00 00 04 00 00 f8 20: 00 00 00 00 01 bc 00 00 00 00 00 00 de 10 93 05 30: 00 00 00 00 60 00 00 00 00 00 00 00 0b 01 00 00 40: de 10 93 05 00 00 00 00 00 00 00 00 00 00 00 00 50: 01 00 00 00 01 00 00 00 ce d6 23 00 00 00 00 00 60: 01 68 03 00 08 00 00 00 05 78 80 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 10 00 02 00 e0 84 2c 01 80: 10 29 00 00 02 2d 00 00 08 00 02 01 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 a0: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00