On 9/16/18 7:43 AM, Pasi Kärkkäinen wrote: > Hi, > > On Mon, Dec 18, 2017 at 12:32:11PM -0500, Boris Ostrovsky wrote: >> On 12/18/2017 02:36 AM, Jan Beulich wrote: >>>>>> On 15.12.17 at 20:52, <Govinda.Tatti@xxxxxxxxxx> wrote: >>>>>>> +static int pcistub_device_reset(struct pci_dev *dev) >>>>>>> +{ >>>>>>> + struct xen_pcibk_dev_data *dev_data; >>>>>>> + bool slot = false, bus = false; >>>>>>> + struct pcistub_args arg = {}; >>>>>>> + >>>>>>> + if (!dev) >>>>>>> + return -EINVAL; >>>>>>> + >>>>>>> + dev_dbg(&dev->dev, "[%s]\n", __func__); >>>>>>> + >>>>>>> + /* First check and try FLR */ >>>>>>> + if (pcie_has_flr(dev)) { >>>>>>> + dev_dbg(&dev->dev, "resetting %s device using FLR\n", >>>>>>> + pci_name(dev)); >>>>>>> + pcie_flr(dev); >>>>>> The lack of error check here puzzled me, but I see the function >>>>>> indeed returns void right now. I think the prereq patch should >>>>>> change this along with exporting the function - you really don't >>>>>> want the device to be handed to a guest when the FLR timed >>>>>> out. >>>>> We will change pcie_flr() to return error code. I will make this change >>>>> in the next version of this patch. >>>> I exchanged some emails with Bjorn/Christoph and it looks like Christoph >>>> as some planto restructure pcie flr specific functions but I don't know >>>> the exact time-frame. For now,I am planning to use existing pcie_flr() >>>> after checking FLR capability. We will switchto revised pcie_flr() once >>>> it is available. >>>> >>>> I hope you are fine with this approach. Please let me know. Thanks. >>> I've seen that other discussion. I don't think the change here >>> should be done prior to the error reporting being put in place, >>> for security reasons. But in the end it'll be Konrad as the >>> maintainer to judge. >>> >>> Or wait, looks like there's some confusion in ./MAINTAINERS: >>> Konrad is listed as maintainer for "XEN PCI SUBSYSTEM", but the >>> list of files doesn't include pciback. So it would instead be Boris >>> or Jürgen to give you a final word. >> >> This is now 4.16 material so we can at least wait until closer to >> opening of the merge window when we may have the PCI updates. (And I >> just noticed that you responded to Christoph.) >> >> Besides, we don't want to make kernel changes until the interface is >> settled (i.e the toolstack changes are accepted). >> > It seems Govinda's email address is giving an error, so I assume someone else needs to pick up this pciback 'reset' feature. > Is it likely someone else from Oracle can/will pick up and refresh this patch, with the review comments addressed? Govinda is no longer at Oracle. What about the toolstack changes? Have they been accepted? I vaguely recall there was a discussion about those changes but don't remember how it ended. -boris > > > Meanwhile the pcie_has_flr() has been exported in upstream Linux kernel, so that's already available for use now. > > "PCI: Export pcie_has_flr()": > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2d2917f7747805a1f4188672f308d82a8ba01700 > > >