[PATCH 1/2] PCI: Add pci_set_vpd_timeout() to set VPD access timeout

Stephen Hemminger sthemmin at microsoft.com
Wed Nov 23 04:17:07 AEDT 2016


I had old Marvell Sky2 hardware that had slow flash.

-----Original Message-----
From: Andrew Donnellan [mailto:andrew.donnellan at au1.ibm.com] 
Sent: Monday, November 21, 2016 4:16 PM
To: Bjorn Helgaas <helgaas at kernel.org>; Matthew R. Ochs <mrochs at linux.vnet.ibm.com>
Cc: linux-pci at vger.kernel.org; Frederic Barrat <fbarrat at linux.vnet.ibm.com>; Uma Krishnan <ukrishn at linux.vnet.ibm.com>; Ian Munsie <imunsie at au1.ibm.com>; Bjorn Helgaas <bhelgaas at google.com>; linuxppc-dev at lists.ozlabs.org; Stephen Hemminger <sthemmin at microsoft.com>
Subject: Re: [PATCH 1/2] PCI: Add pci_set_vpd_timeout() to set VPD access timeout

On 22/11/16 09:05, Bjorn Helgaas wrote:
> Hi Matthew,
>
> On Mon, Nov 21, 2016 at 03:09:49PM -0600, Matthew R. Ochs wrote:
>> The PCI core uses a fixed 50ms timeout when waiting for VPD accesses 
>> to complete. When an access does not complete within this period, a 
>> warning is logged and an error returned to the caller.
>>
>> While this default timeout is valid for most hardware, some devices 
>> can experience longer access delays under certain circumstances. For 
>> example, one of the IBM CXL Flash devices can take up to ~120ms in a 
>> worst-case scenario. These types of devices can benefit from an 
>> extended timeout that is specific to their hardware constraints.
>>
>> To support per-device VPD access timeouts, pci_set_vpd_timeout() is 
>> added as an exported service. PCI devices will continue to default 
>> with the 50ms timeout and use a per-device timeout when a driver calls this new service.
>
> Can you include a pointer to something in the spec that's behind the 
> default 50ms timeout, or did somebody just pull that number out of the 
> air?

It looks like Stephen Hemminger added the 50ms timeout in 1120f8b8169f, which seems to indicate that 50ms was chosen because it's longer than the 13ms per word that was measured on one device.

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com  IBM Australia Limited



More information about the Linuxppc-dev mailing list