Re: [libvirt] [RFC PATCH v2 14.5/18] qemu: Bump the memory locking limit for mdevs as well

2017-02-16 Thread Erik Skultety
> > Nice!  For series:
> > 
> > Tested-by: Alex Williamson 
> > 
> > (with KVMGT vGPU mdev)
> 

Thank you very much for the effort Alex. Given its current state, I'm glad
KVMGT was testable with my patches :).

> Nit, if I configure a VM for an invalid mdev uuid, I get the following
> error message:
> 
> Error starting domain: Requested operation is not valid: mediated devices are 
> not supported by this kernel
> 
> Traceback (most recent call last):
>   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 88, in 
> cb_wrapper
> callback(asyncjob, *args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 124, in tmpcb
> callback(*args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in 
> newfn
> ret = fn(self, *args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/domain.py", line 1404, in startup
> self._backend.create()
>   File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1035, in create
> if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
> libvirtError: Requested operation is not valid: mediated devices are not 
> supported by this kernel
> 
> In this case it should really just be a device not found error, the
> speculation that the kernel doesn't support mediated devices is
> incorrect.  Thanks,
> 

Noted, I'll address this as part of, presumably, v3 when I get a patch
review.

Thanks,
Erik

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [RFC PATCH v2 14.5/18] qemu: Bump the memory locking limit for mdevs as well

2017-02-16 Thread Alex Williamson
On Thu, 16 Feb 2017 11:04:39 -0700
Alex Williamson  wrote:

> On Thu, 16 Feb 2017 17:49:45 +0100
> Erik Skultety  wrote:
> 
> > Since mdevs are just another type of VFIO devices, we should increase
> > the memory locking limit the same way we do for VFIO PCI devices.
> > 
> > Signed-off-by: Erik Skultety 
> > ---
> >  src/qemu/qemu_domain.c | 9 +
> >  1 file changed, 5 insertions(+), 4 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> > index eb86385..bdd687f 100644
> > --- a/src/qemu/qemu_domain.c
> > +++ b/src/qemu/qemu_domain.c
> > @@ -6222,11 +6222,12 @@ qemuDomainRequiresMemLock(virDomainDefPtr def)
> >  return true;
> >  
> >  for (i = 0; i < def->nhostdevs; i++) {
> > -virDomainHostdevDefPtr dev = def->hostdevs[i];
> > +virDomainHostdevSubsysPtr subsys = 
> > >hostdevs[i]->source.subsys;
> >  
> > -if (dev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
> > -dev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI 
> > &&
> > -dev->source.subsys.u.pci.backend == 
> > VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO)
> > +if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
> > +(subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV ||
> > + (subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI &&
> > +  subsys->u.pci.backend == 
> > VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO)))
> >  return true;
> >  }
> >
> 
> Nice!  For series:
> 
> Tested-by: Alex Williamson 
> 
> (with KVMGT vGPU mdev)

Nit, if I configure a VM for an invalid mdev uuid, I get the following
error message:

Error starting domain: Requested operation is not valid: mediated devices are 
not supported by this kernel

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 88, in cb_wrapper
callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 124, in tmpcb
callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in newfn
ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1404, in startup
self._backend.create()
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1035, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Requested operation is not valid: mediated devices are not 
supported by this kernel

In this case it should really just be a device not found error, the
speculation that the kernel doesn't support mediated devices is
incorrect.  Thanks,

Alex

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [RFC PATCH v2 14.5/18] qemu: Bump the memory locking limit for mdevs as well

2017-02-16 Thread Alex Williamson
On Thu, 16 Feb 2017 17:49:45 +0100
Erik Skultety  wrote:

> Since mdevs are just another type of VFIO devices, we should increase
> the memory locking limit the same way we do for VFIO PCI devices.
> 
> Signed-off-by: Erik Skultety 
> ---
>  src/qemu/qemu_domain.c | 9 +
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index eb86385..bdd687f 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -6222,11 +6222,12 @@ qemuDomainRequiresMemLock(virDomainDefPtr def)
>  return true;
>  
>  for (i = 0; i < def->nhostdevs; i++) {
> -virDomainHostdevDefPtr dev = def->hostdevs[i];
> +virDomainHostdevSubsysPtr subsys = >hostdevs[i]->source.subsys;
>  
> -if (dev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
> -dev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI &&
> -dev->source.subsys.u.pci.backend == 
> VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO)
> +if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
> +(subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV ||
> + (subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI &&
> +  subsys->u.pci.backend == VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO)))
>  return true;
>  }
>  

Nice!  For series:

Tested-by: Alex Williamson 

(with KVMGT vGPU mdev)

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [RFC PATCH v2 14.5/18] qemu: Bump the memory locking limit for mdevs as well

2017-02-16 Thread Erik Skultety
Since mdevs are just another type of VFIO devices, we should increase
the memory locking limit the same way we do for VFIO PCI devices.

Signed-off-by: Erik Skultety 
---
 src/qemu/qemu_domain.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index eb86385..bdd687f 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -6222,11 +6222,12 @@ qemuDomainRequiresMemLock(virDomainDefPtr def)
 return true;
 
 for (i = 0; i < def->nhostdevs; i++) {
-virDomainHostdevDefPtr dev = def->hostdevs[i];
+virDomainHostdevSubsysPtr subsys = >hostdevs[i]->source.subsys;
 
-if (dev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
-dev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI &&
-dev->source.subsys.u.pci.backend == 
VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO)
+if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
+(subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV ||
+ (subsys->type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI &&
+  subsys->u.pci.backend == VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO)))
 return true;
 }
 
-- 
2.10.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list