On Thu, 23 Sep 2021, Oleksandr Andrushchenko wrote: > On 23.09.21 12:05, Juergen Gross wrote: > > On 23.09.21 11:02, Oleksandr Andrushchenko wrote: > >> > >> On 23.09.21 00:10, Stefano Stabellini wrote: > >>> On Wed, 22 Sep 2021, Oleksandr Andrushchenko wrote: > >>>> --- a/drivers/xen/xen-pciback/xenbus.c > >>>> +++ b/drivers/xen/xen-pciback/xenbus.c > >>>> @@ -743,6 +743,9 @@ const struct xen_pcibk_backend *__read_mostly xen_pcibk_backend; > >>>>       int __init xen_pcibk_xenbus_register(void) > >>>>    { > >>>> +    if (!xen_pcibk_pv_support()) > >>>> +        return 0; > >>> Is this truly enough to stop the PV backend from initializing? Have you > >>> actually tested it to make sure? If it works, amazing! I am quite happy > >>> about this approach :-) > >> > >> Well, I put some logs into the driver and saw nothing obvious pointing > >> > >> to any backend activities (probably this is also because I don't have any > >> > >> frontend). I see that the xenbus driver is not registered. In XenStore I see: > >> > >> root@dom0:~# xenstore-ls -f | grep pci > >> /local/domain/0/backend/pci = "" > >> /local/domain/0/backend/pci/2 = "" > >> /local/domain/0/backend/pci/2/0 = "" > >> /local/domain/0/backend/pci/2/0/frontend = "/local/domain/2/device/pci/0" > >> /local/domain/0/backend/pci/2/0/frontend-id = "2" > >> /local/domain/0/backend/pci/2/0/online = "1" > >> /local/domain/0/backend/pci/2/0/state = "1" > >> /local/domain/0/backend/pci/2/0/domain = "DomU" > >> /local/domain/0/backend/pci/2/0/key-0 = "0000:03:00.0" > >> /local/domain/0/backend/pci/2/0/dev-0 = "0000:03:00.0" > >> /local/domain/0/backend/pci/2/0/opts-0 = "msitranslate=0,power_mgmt=0,permissive=0,rdm_policy=strict" > >> /local/domain/0/backend/pci/2/0/state-0 = "1" > >> /local/domain/0/backend/pci/2/0/num_devs = "1" > >> /local/domain/2/device/pci = "" > >> /local/domain/2/device/pci/0 = "" > >> /local/domain/2/device/pci/0/backend = "/local/domain/0/backend/pci/2/0" > >> /local/domain/2/device/pci/0/backend-id = "0" > >> /local/domain/2/device/pci/0/state = "1" > >> /libxl/pci = "" > >> /libxl/pci/0000-03-00-0 = "" > >> /libxl/pci/0000-03-00-0/domid = "2" > >> > >> But IIUIC these come from the toolstack > >> > >> @Juergen, do you know how to check if the backend is indeed not running > >> > >> or the above should be enough to prove? > > > > I don't see how the backend could be running without being registered > > with xenbus. It won't receive any watches, so there is no way a > > connection with a frontend could be established. > > This is my understanding too, so the only change I've put in patch I removed > > register/unregister. It seems this is just enough and the patch should be ok as is Fantastic! Thanks for checking.