On 7/7/2017 11:03 AM, Shijith Thotton wrote: > On Thu, Jul 06, 2017 at 08:27:17PM +0300, Gregory Etelson wrote: >> I could not reproduce server crash with >> http://dpdk.org/dev/patchwork/patch/25267/ [1] >> However, pci_try_reset_function() API used in that patch is not defined in >> RedHat-6.x Linux-2.6.32 kernels >> Therefore I work with http://dpdk.org/dev/patchwork/patch/25061/ patch [2]. >> [2] was successfully tested with IXGBE & I40e VFs on RH 6.x, RH 7.x Ubuntu >> 14.04 and SLES-11.4 >> >> Regards, >> Gregory >> >> On Thursday, 6 July 2017 19:41:40 IDT Ferruh Yigit wrote: >>> On 6/12/2017 10:38 AM, Shijith Thotton wrote: >>>> Set UIO info device file operations open and release. Call pci reset >>>> function inside open and release to clear device state at start and end. >>>> Copied this behaviour from vfio_pci kernel module code. With this patch, >>>> it is not mandatory to issue FLR by PMD's during init and close. >>>> >>>> Bus master enable and disable are added in open and release respectively >>>> to take care of device DMA. >>>> >>>> Signed-off-by: Shijith Thotton <shijith.thot...@caviumnetworks.com> >>> >>> This patch, and Gregory's patch [1] are very similar and main target is >>> to leave device in a more proper state when DPDK application quits >>> unexpectedly. >>> >>> Difference between two are, this one implements both .open and .release >>> ops, and sets / clears bus master accordingly. >>> >>> Although main concern is .reset, I am OK to follow vfio_pci approach >>> here, and clearing bus master on .reset can prevent unwanted DMA access. >>> >>> So, I am for this patch and I am testing it for a few days without a >>> problem. >>> >>> But Gregory reported a crash with older version of this patch, without >>> more detail, we should clear that first. With Gregory's Tested-by, I am >>> OK with this patch. >>> >>> >>> Gregory, >>> >>> Are you using your version, what are the results? And would you mind >>> testing this patch? >>> >>> Thanks, >>> ferruh >>> >>> >>> [1] >>> http://dpdk.org/dev/patchwork/patch/25061/ >>> >>> > > Hi Gregory, > > Please try the following change: > s/pci_try_reset_function/pci_reset_function/ > > pci_try_reset_function is same as pci_reset_function, except it returns > -EAGAIN > if unable to lock the device[1]. > > If everyone agrees, I can submit v2 with this change.
pci_try_reset_function() not being available in older kernel versions seems a problem and blocking Gregory. To move forward, I would suggest sending the v2, and we can continue discussion based on it. Thanks, ferruh > > 1. > http://elixir.free-electrons.com/linux/latest/source/drivers/pci/pci.c#L4293 > > Thanks, > Shijith >