Re: [PATCH] KVM: Fix assigned device with no irq

2009-05-07 Thread Sheng Yang
On Thursday 07 May 2009 20:28:12 Marcelo Tosatti wrote:
> On Thu, May 07, 2009 at 03:24:15PM +0300, Avi Kivity wrote:
> > Sheng Yang wrote:
> >> Some device like VF of SRIOV only support MSI-X.
> >>
> >> With this patch, SRIOV can be enabled with KVM assigned device(all
> >> kernel space patches are ready).
> >
> > Just noticed I missed this patch.  Is it still needed or is it obsolete?
>
> I think its obsolete.

Yeah, it have been fixed from another direct in userspace: Interrupt pin =0 
means it haven't been initialized.

-- 
regards
Yang, Sheng

>
> >> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> >> index 4d2be16..ce80f3a 100644
> >> --- a/virt/kvm/kvm_main.c
> >> +++ b/virt/kvm/kvm_main.c
> >> @@ -217,8 +217,11 @@ static void kvm_free_assigned_irq(struct kvm *kvm,
> >>kvm_free_irq_source_id(kvm, assigned_dev->irq_source_id);
> >>assigned_dev->irq_source_id = -1;
> >>  - if (!assigned_dev->irq_requested_type)
> >> +  if (!assigned_dev->irq_requested_type) {
> >> +  if (assigned_dev->dev->msi_enabled)
> >> +  pci_disable_msi(assigned_dev->dev);
> >>return;
> >> +  }
> >>/*
> >> * In kvm_free_device_irq, cancel_work_sync return true if:
> >> @@ -308,6 +311,10 @@ static int assigned_device_update_intx(struct kvm
> >> *kvm, if (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_INTX)
> >>return 0;
> >>  + /* IRQ 0 means uninitialized here */
> >> +  if (airq->host_irq == 0)
> >> +  return 0;
> >> +
> >>if (irqchip_in_kernel(kvm)) {
> >>if (!msi2intx &&
> >>(adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI)) {
> >> @@ -529,9 +536,8 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm,
> >>r = 0;
> >>} else {
> >>printk(KERN_WARNING
> >> - "kvm: failed to enable MSI device!\n");
> >> -  r = -ENOTTY;
> >> -  goto out_release;
> >> + "kvm: device didn't support INTx or MSI!\n");
> >> +  r = 0;
> >>}
> >>} else {
> >>/* Non-sharing INTx mode */
> >
> > --
> > error compiling committee.c: too many arguments to function


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] KVM: Fix assigned device with no irq

2009-05-07 Thread Marcelo Tosatti
On Thu, May 07, 2009 at 03:24:15PM +0300, Avi Kivity wrote:
> Sheng Yang wrote:
>> Some device like VF of SRIOV only support MSI-X.
>>
>> With this patch, SRIOV can be enabled with KVM assigned device(all kernel 
>> space
>> patches are ready).
>>
>>   
>
> Just noticed I missed this patch.  Is it still needed or is it obsolete?

I think its obsolete. 


>> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
>> index 4d2be16..ce80f3a 100644
>> --- a/virt/kvm/kvm_main.c
>> +++ b/virt/kvm/kvm_main.c
>> @@ -217,8 +217,11 @@ static void kvm_free_assigned_irq(struct kvm *kvm,
>>  kvm_free_irq_source_id(kvm, assigned_dev->irq_source_id);
>>  assigned_dev->irq_source_id = -1;
>>  -   if (!assigned_dev->irq_requested_type)
>> +if (!assigned_dev->irq_requested_type) {
>> +if (assigned_dev->dev->msi_enabled)
>> +pci_disable_msi(assigned_dev->dev);
>>  return;
>> +}
>>  /*
>>   * In kvm_free_device_irq, cancel_work_sync return true if:
>> @@ -308,6 +311,10 @@ static int assigned_device_update_intx(struct kvm *kvm,
>>  if (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_INTX)
>>  return 0;
>>  +   /* IRQ 0 means uninitialized here */
>> +if (airq->host_irq == 0)
>> +return 0;
>> +
>>  if (irqchip_in_kernel(kvm)) {
>>  if (!msi2intx &&
>>  (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI)) {
>> @@ -529,9 +536,8 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm,
>>  r = 0;
>>  } else {
>>  printk(KERN_WARNING
>> -   "kvm: failed to enable MSI device!\n");
>> -r = -ENOTTY;
>> -goto out_release;
>> +   "kvm: device didn't support INTx or MSI!\n");
>> +r = 0;
>>  }
>>  } else {
>>  /* Non-sharing INTx mode */
>>   
>
>
> -- 
> error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] KVM: Fix assigned device with no irq

2009-05-07 Thread Avi Kivity

Sheng Yang wrote:

Some device like VF of SRIOV only support MSI-X.

With this patch, SRIOV can be enabled with KVM assigned device(all kernel space
patches are ready).

  


Just noticed I missed this patch.  Is it still needed or is it obsolete?



diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 4d2be16..ce80f3a 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -217,8 +217,11 @@ static void kvm_free_assigned_irq(struct kvm *kvm,
kvm_free_irq_source_id(kvm, assigned_dev->irq_source_id);
assigned_dev->irq_source_id = -1;
 
-	if (!assigned_dev->irq_requested_type)

+   if (!assigned_dev->irq_requested_type) {
+   if (assigned_dev->dev->msi_enabled)
+   pci_disable_msi(assigned_dev->dev);
return;
+   }
 
 	/*

 * In kvm_free_device_irq, cancel_work_sync return true if:
@@ -308,6 +311,10 @@ static int assigned_device_update_intx(struct kvm *kvm,
if (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_INTX)
return 0;
 
+	/* IRQ 0 means uninitialized here */

+   if (airq->host_irq == 0)
+   return 0;
+
if (irqchip_in_kernel(kvm)) {
if (!msi2intx &&
(adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI)) {
@@ -529,9 +536,8 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm,
r = 0;
} else {
printk(KERN_WARNING
-  "kvm: failed to enable MSI device!\n");
-   r = -ENOTTY;
-   goto out_release;
+  "kvm: device didn't support INTx or MSI!\n");
+   r = 0;
}
} else {
/* Non-sharing INTx mode */
  



--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] KVM: Fix assigned device with no irq

2009-03-03 Thread Sheng Yang
On Tuesday 03 March 2009 15:49:19 Sheng Yang wrote:
> Some device like VF of SRIOV only support MSI-X.
>
> With this patch, SRIOV can be enabled with KVM assigned device(all kernel
> space patches are ready).
>
Withdraw this as well.

-- 
regards
Yang, Sheng

> Signed-off-by: Sheng Yang 
> ---
>  virt/kvm/kvm_main.c |9 ++---
>  1 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 4d2be16..5dc6423 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -308,6 +308,10 @@ static int assigned_device_update_intx(struct kvm
> *kvm, if (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_INTX)
>   return 0;
>
> + /* IRQ 0 means uninitialized */
> + if (adev->host_irq == 0)
> + return 0;
> +
>   if (irqchip_in_kernel(kvm)) {
>   if (!msi2intx &&
>   (adev->irq_requested_type & KVM_ASSIGNED_DEV_HOST_MSI)) {
> @@ -529,9 +533,8 @@ static int kvm_vm_ioctl_assign_irq(struct kvm *kvm,
>   r = 0;
>   } else {
>   printk(KERN_WARNING
> -"kvm: failed to enable MSI device!\n");
> - r = -ENOTTY;
> - goto out_release;
> +"kvm: device didn't support INTx or MSI!\n");
> + r = 0;
>   }
>   } else {
>   /* Non-sharing INTx mode */


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html