Re: [PATCH v2 5/6] kvm: KVM_EOIFD, an eventfd for EOIs

2012-06-29 Thread Alex Williamson
On Thu, 2012-06-28 at 22:29 +0300, Michael S. Tsirkin wrote: > On Tue, Jun 26, 2012 at 11:10:08PM -0600, Alex Williamson wrote: > > diff --git a/Documentation/virtual/kvm/api.txt > > b/Documentation/virtual/kvm/api.txt > > index b216709..87a2558 100644 > > --- a/Docume

Re: [PATCH v2 5/6] kvm: KVM_EOIFD, an eventfd for EOIs

2012-06-29 Thread Alex Williamson
On Fri, 2012-06-29 at 09:09 -0600, Alex Williamson wrote: > On Thu, 2012-06-28 at 22:29 +0300, Michael S. Tsirkin wrote: > > On Tue, Jun 26, 2012 at 11:10:08PM -0600, Alex Williamson wrote: > > > diff --git a/Documentation/virtual/kvm/api.txt > > > b/Documentation/virt

Re: [PATCH v2 4/6] kvm: Extend irqfd to support level interrupts

2012-06-29 Thread Alex Williamson
On Thu, 2012-06-28 at 11:29 +0300, Michael S. Tsirkin wrote: > On Wed, Jun 27, 2012 at 09:52:52PM -0600, Alex Williamson wrote: > > On Thu, 2012-06-28 at 01:28 +0300, Michael S. Tsirkin wrote: > > > On Wed, Jun 27, 2012 at 03:28:19PM -0600, Alex Williamson wrote: > > >

Re: [PATCH v2 1/6] kvm: Pass kvm_irqfd to functions

2012-06-29 Thread Alex Williamson
On Thu, 2012-06-28 at 11:38 +0300, Michael S. Tsirkin wrote: > On Wed, Jun 27, 2012 at 04:24:30PM +0200, Cornelia Huck wrote: > > On Tue, 26 Jun 2012 23:09:04 -0600 > > Alex Williamson wrote: > > > > > Prune this down to just the struct kvm_irqfd so we can

Re: [PATCH v2 6/6] kvm: Level IRQ de-assert for KVM_IRQFD

2012-06-29 Thread Alex Williamson
On Thu, 2012-06-28 at 15:59 +0300, Avi Kivity wrote: > On 06/27/2012 08:10 AM, Alex Williamson wrote: > > This is an alternate level irqfd de-assert mode that's potentially > > useful for emulated drivers. It's included here to show how easy it > > is to impleme

[PATCH v3 0/3] kvm: KVM_IRQFD cleanup, docs, sanitize flags

2012-06-29 Thread Alex Williamson
with ioeventfd, adds API documentation for this ioctl, and sanitizes the flags. If anyone screams, we may have to revert this last patch. Thanks, Alex --- Alex Williamson (3): kvm: Sanitize KVM_IRQFD flags kvm: Add missing KVM_IRQFD API documentation kvm: Pass kvm_irqfd to func

[PATCH v3 1/3] kvm: Pass kvm_irqfd to functions

2012-06-29 Thread Alex Williamson
Prune this down to just the struct kvm_irqfd so we can avoid changing function definition for every flag or field we use. Signed-off-by: Alex Williamson Acked-by: Cornelia Huck --- include/linux/kvm_host.h |4 ++-- virt/kvm/eventfd.c | 20 ++-- virt/kvm/kvm_main.c

[PATCH v3 2/3] kvm: Add missing KVM_IRQFD API documentation

2012-06-29 Thread Alex Williamson
Signed-off-by: Alex Williamson Acked-by: Michael S. Tsirkin --- Documentation/virtual/kvm/api.txt | 16 1 file changed, 16 insertions(+) diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index 310fe50..100acde 100644 --- a/Documentation

[PATCH v3 3/3] kvm: Sanitize KVM_IRQFD flags

2012-06-29 Thread Alex Williamson
We only know of one so far. Signed-off-by: Alex Williamson --- virt/kvm/eventfd.c |3 +++ 1 file changed, 3 insertions(+) diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c index c307c24..7d7e2aa 100644 --- a/virt/kvm/eventfd.c +++ b/virt/kvm/eventfd.c @@ -340,6 +340,9

Re: [PATCH v2 4/6] kvm: Extend irqfd to support level interrupts

2012-06-29 Thread Alex Williamson
; > On Thu, Jun 28, 2012 at 09:34:31AM +0300, Gleb Natapov wrote: > > > > > On Thu, Jun 28, 2012 at 01:31:29AM +0300, Michael S. Tsirkin wrote: > > > > > > On Wed, Jun 27, 2012 at 04:04:18PM -0600, Alex Williamson wrote: > > > > > > > On Wed,

Re: Request VFIO inclusion in linux-next

2012-07-01 Thread Alex Williamson
On Mon, 2012-07-02 at 13:41 +1000, Alexey Kardashevskiy wrote: > On 27/06/12 22:37, Dan Carpenter wrote: > > On Mon, Jun 25, 2012 at 10:55:52PM -0600, Alex Williamson wrote: > >> Hi, > >> > >> VFIO has been kicking around for well over a year now and has been &

Re: [PATCH v3 3/3] kvm: Sanitize KVM_IRQFD flags

2012-07-02 Thread Alex Williamson
On Sun, 2012-07-01 at 11:26 +0300, Michael S. Tsirkin wrote: > On Fri, Jun 29, 2012 at 09:56:24AM -0600, Alex Williamson wrote: > > We only know of one so far. > > > > Signed-off-by: Alex Williamson > > BTW should we sanitize padding as well? I imagine that to

Re: [PATCH v3 0/3] kvm: KVM_IRQFD cleanup, docs, sanitize flags

2012-07-02 Thread Alex Williamson
On Fri, 2012-06-29 at 09:56 -0600, Alex Williamson wrote: > Before we start fiddling with what we can and can't add to KVM_IRQFD > we need to figure out if anyone has been sloppy in their use of the > ioctl flags. This series has a minor cleanup to pass the struct > kvm_irqfd

Re: [PATCHv3 RFC 0/2] kvm: direct msix injection

2012-07-02 Thread Alex Williamson
On Mon, 2012-06-25 at 11:32 +0200, Jan Kiszka wrote: > On 2012-06-11 13:19, Michael S. Tsirkin wrote: > > We can deliver certain interrupts, notably MSIX, > > from atomic context. > > Here's an untested patch to do this (compiled only). > > > > Changes from v2: > > Don't inject broadcast interrupt

[PATCH v3 0/2] kvm: level irqfd and new eoifd

2012-07-03 Thread Alex Williamson
6. I believe I've addressed all the previous comments, including fixing the locking problems in eoifd. I've run this with lockdep adding and removing level irqfd/eoifd pairs without any problems. Please let me know if there are any further comments. Thanks, Alex --- Alex Williamson

[PATCH v3 1/2] kvm: Extend irqfd to support level interrupts

2012-07-03 Thread Alex Williamson
excessive infrastructure around an object for storing this irq_source_id. However, notice that we only provide a way to assert the interrupt here. A follow-on interface will make use of the same irq_source_id to allow de-assert. Signed-off-by: Alex Williamson --- Documentation/virtual/kvm/api.txt

[PATCH v3 2/2] kvm: KVM_EOIFD, an eventfd for EOIs

2012-07-03 Thread Alex Williamson
irqfd and cleanup regardless of the release order. Signed-off-by: Alex Williamson --- Documentation/virtual/kvm/api.txt | 21 arch/x86/kvm/x86.c|1 include/linux/kvm.h | 14 ++ include/linux/kvm_host.h | 13 ++ virt/kvm/eventfd.c

Re: [PATCH v3 2/2] kvm: KVM_EOIFD, an eventfd for EOIs

2012-07-04 Thread Alex Williamson
On Wed, 2012-07-04 at 17:00 +0300, Michael S. Tsirkin wrote: > On Tue, Jul 03, 2012 at 01:21:29PM -0600, Alex Williamson wrote: > > This new ioctl enables an eventfd to be triggered when an EOI is > > written for a specified irqchip pin. By default this is a simple > > not

Re: [PATCH 0/9] pci-assign: 64bit MMIO + better MSI-X table support

2012-02-06 Thread Alex Williamson
On Mon, 2012-02-06 at 21:25 +0530, Shashidhar Patil wrote: > HI Alex, > I can give it a try. Please send me all patches as one file if possible. > I was about to report yet another problem with Guest MSI-X smp affinity > not being honoured by KVM while injecting interrupts. Its again in the co

Re: [PATCH v2] KVM: Fix assigned device MSI-X entry setting leak

2012-02-06 Thread Alex Williamson
On Tue, 2012-01-31 at 21:11 +0200, Michael S. Tsirkin wrote: > On Mon, Jan 30, 2012 at 02:05:54PM -0700, Alex Williamson wrote: > > We need to prioritize our matching when setting MSI-X vector > > entries. Unused entries should only be used if we don't find > > an e

Re: [PATCH v2] KVM: Fix assigned device MSI-X entry setting leak

2012-02-07 Thread Alex Williamson
On Tue, 2012-02-07 at 08:31 +0200, Michael S. Tsirkin wrote: > On Mon, Feb 06, 2012 at 02:46:29PM -0700, Alex Williamson wrote: > > On Tue, 2012-01-31 at 21:11 +0200, Michael S. Tsirkin wrote: > > > On Mon, Jan 30, 2012 at 02:05:54PM -0700, Alex Williamson wrote: > > >

Re: [PATCH 0/9] pci-assign: 64bit MMIO + better MSI-X table support

2012-02-09 Thread Alex Williamson
en smp affinity is configured > in host and guest properly this fix provides multi queue and > hence multi core traffic distribution in both host and > guest. The result is good packet throughput. > > Thanks for the the much needed fixes. Thanks for testing! Alex &g

Re: [Qemu-devel] FLR capability hidden in VF config space

2012-02-23 Thread Alex Williamson
On Thu, 2012-02-23 at 09:25 +0530, rukhsana ansari wrote: > Hello, > > Was wondering whether someone could shed some light on the issue below. > Without FLR exposed in the VF, VF reset via FLR cannot be initiated from > the guest. > Appreciate any pointers. The device state needs to be restored a

Re: [PATCH v3] KVM: Allow host IRQ sharing for assigned PCI 2.3 devices

2012-02-27 Thread Alex Williamson
On Fri, 2012-02-10 at 19:17 +0100, Jan Kiszka wrote: > PCI 2.3 allows to generically disable IRQ sources at device level. This > enables us to share legacy IRQs of such devices with other host devices > when passing them to a guest. > > The new IRQ sharing feature introduced here is optional, user

Re: [PATCH v3] KVM: Allow host IRQ sharing for assigned PCI 2.3 devices

2012-02-27 Thread Alex Williamson
On Mon, 2012-02-27 at 23:07 +0100, Jan Kiszka wrote: > On 2012-02-27 22:05, Alex Williamson wrote: > > On Fri, 2012-02-10 at 19:17 +0100, Jan Kiszka wrote: > >> PCI 2.3 allows to generically disable IRQ sources at device level. This > >> enables us to share legacy IRQs

Re: [PATCH v4] KVM: Allow host IRQ sharing for assigned PCI 2.3 devices

2012-02-29 Thread Alex Williamson
On Tue, 2012-02-28 at 14:19 +0100, Jan Kiszka wrote: > PCI 2.3 allows to generically disable IRQ sources at device level. This > enables us to share legacy IRQs of such devices with other host devices > when passing them to a guest. > > The new IRQ sharing feature introduced here is optional, user

Re: [PATCH v4] KVM: Allow host IRQ sharing for assigned PCI 2.3 devices

2012-02-29 Thread Alex Williamson
On Wed, 2012-02-29 at 16:38 +0100, Jan Kiszka wrote: > On 2012-02-29 16:22, Alex Williamson wrote: > > On Tue, 2012-02-28 at 14:19 +0100, Jan Kiszka wrote: > >> PCI 2.3 allows to generically disable IRQ sources at device level. This > >> enables us to share legacy IRQs

Re: RFC: Device isolation groups

2012-02-29 Thread Alex Williamson
On Thu, 2012-02-02 at 12:24 +1100, David Gibson wrote: > On Wed, Feb 01, 2012 at 01:08:39PM -0700, Alex Williamson wrote: > > On Wed, 2012-02-01 at 15:46 +1100, David Gibson wrote: > > > This patch series introduces a new infrastructure to the driver core > > > for rep

Re: [PATCH v4] KVM: Resize kvm_io_range array dynamically

2012-03-01 Thread Alex Williamson
On Thu, 2012-03-01 at 12:14 +0200, Sasha Levin wrote: > On Thu, Mar 1, 2012 at 9:01 AM, Amos Kong wrote: > > This patch makes the kvm_io_range array can be resized dynamically. > > Set an upper bounds for kvm_io_range to limit userspace. > > 1000 is a very large limit and not bloat the typical use

Re: [PATCH 2/3] pci-assign: Use PCI-2.3-based shared legacy interrupts

2012-03-07 Thread Alex Williamson
On Wed, 2012-03-07 at 18:19 +0100, Jan Kiszka wrote: > Enable the new KVM feature that allows legacy interrupt sharing for > PCI-2.3-compliant devices. This requires to synchronize any guest > change of the INTx mask bit to the kernel. > > The feature is controlled by the property 'share_intx' and

Re: [PATCH v2 2/3] pci-assign: Use PCI-2.3-based shared legacy interrupts

2012-03-07 Thread Alex Williamson
On Wed, 2012-03-07 at 19:05 +0100, Jan Kiszka wrote: > Enable the new KVM feature that allows legacy interrupt sharing for > PCI-2.3-compliant devices. This requires to synchronize any guest > change of the INTx mask bit to the kernel. > > The feature is controlled by the property 'share_intx' and

Re: [PATCH 0/3] qemu-kvm: pci-assign: Host IRQ sharing suppport

2012-03-07 Thread Alex Williamson
ment.h | 10 ++ > linux-headers/asm-s390/kvm.h |2 ++ > linux-headers/linux/kvm.h|6 ++ > qemu-kvm.c |9 + > qemu-kvm.h |2 ++ > 6 files changed, 47 insertions(+), 5 deletions(-) > For series w/ v3 2/3:

Re: [PATCH v3 2/3] pci-assign: Use PCI-2.3-based shared legacy interrupts

2012-03-07 Thread Alex Williamson
On Wed, 2012-03-07 at 19:18 +0100, Jan Kiszka wrote: > Enable the new KVM feature that allows legacy interrupt sharing for > PCI-2.3-compliant devices. This requires to synchronize any guest > change of the INTx mask bit to the kernel. > > The feature is controlled by the property 'share_intx' and

Re: [PATCH v4 3/4] pci-assign: Use PCI-2.3-based shared legacy interrupts

2012-03-08 Thread Alex Williamson
On Thu, 2012-03-08 at 11:10 +0100, Jan Kiszka wrote: > Enable the new KVM feature that allows legacy interrupt sharing for > PCI-2.3-compliant devices. This requires to synchronize any guest > change of the INTx mask bit to the kernel. > > The feature is controlled by the property 'share_intx' and

Re: [PATCH v4 0/4] qemu-kvm: pci-assign: Host IRQ sharing suppport

2012-03-09 Thread Alex Williamson
++ > kvm.h|1 + > linux-headers/asm-s390/kvm.h |2 ++ > linux-headers/linux/kvm.h|6 ++ > qemu-kvm.c |9 + > qemu-kvm.h |2 ++ > 8 files changed, 60 insertions(+), 5 deletions(

[PATCH 0/2] RFC Isolation API

2012-03-12 Thread Alex Williamson
his space. Please let me know what you like, what you don't like, and ideas for the gaps. Thanks, Alex --- Alex Williamson (2): intel-iommu: Basic isolation group provider support Isolation groups drivers/base/Kconfig| 10 + drivers/base/Makefile |

[PATCH 1/2] Isolation groups

2012-03-12 Thread Alex Williamson
Signed-off-by: Alex Williamson --- drivers/base/Kconfig | 10 + drivers/base/Makefile |1 drivers/base/base.h |5 drivers/base/isolation.c | 798 + include/linux/device.h|4 include/linux/isolation.h | 138

[PATCH 2/2] intel-iommu: Basic isolation group provider support

2012-03-12 Thread Alex Williamson
Signed-off-by: Alex Williamson --- drivers/iommu/intel-iommu.c | 70 +++ 1 files changed, 70 insertions(+), 0 deletions(-) diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index c9c6053..2e5a709 100644 --- a/drivers/iommu/intel

Re: [PATCH] PCI: Device specific reset function

2012-03-12 Thread Alex Williamson
On Mon, 2012-03-12 at 16:55 +, Tadeusz Struk wrote: > I have a use case where I need to cleanup resource allocated for Virtual > Functions after a guest OS that used it crashed. This cleanup needs to > be done before the VF is being FLRed. The only possible way to do this > seems to be by using

Re: [PATCH 1/2] Isolation groups

2012-03-13 Thread Alex Williamson
On Wed, 2012-03-14 at 01:33 +1100, David Gibson wrote: > On Mon, Mar 12, 2012 at 04:32:54PM -0600, Alex Williamson wrote: > > Signed-off-by: Alex Williamson > > --- > > > > drivers/base/Kconfig | 10 + > > drivers/base/Makefile |1 >

Re: [PATCH 1/2] Isolation groups

2012-03-15 Thread Alex Williamson
On Wed, 2012-03-14 at 20:58 +1100, David Gibson wrote: > On Tue, Mar 13, 2012 at 10:49:47AM -0600, Alex Williamson wrote: > > On Wed, 2012-03-14 at 01:33 +1100, David Gibson wrote: > > > On Mon, Mar 12, 2012 at 04:32:54PM -0600, Alex Williamson wrote: > > > > +/*

Re: [PATCH 1/2] Isolation groups

2012-03-16 Thread Alex Williamson
On Fri, 2012-03-16 at 14:45 +1100, David Gibson wrote: > On Thu, Mar 15, 2012 at 02:15:01PM -0600, Alex Williamson wrote: > > On Wed, 2012-03-14 at 20:58 +1100, David Gibson wrote: > > > On Tue, Mar 13, 2012 at 10:49:47AM -0600, Alex Williamson wrote: > > > > On

Re: [PATCH] pci-assign: Fall back to host-side MSI if INTx sharing fails

2012-03-19 Thread Alex Williamson
SIGNED_DEVICE_PREFER_MSI_MASK; > + goto retry; > +} > fprintf(stderr, "Failed to assign irq for \"%s\": %s\n", > dev->dev.qdev.id, strerror(-r)); > fprintf(stderr, "Perhaps you are assigning a device " Acked-by: Alex Williamson -- 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 1/2] Isolation groups

2012-03-21 Thread Alex Williamson
On Sat, 2012-03-17 at 15:57 +1100, David Gibson wrote: > On Fri, Mar 16, 2012 at 01:31:18PM -0600, Alex Williamson wrote: > > On Fri, 2012-03-16 at 14:45 +1100, David Gibson wrote: > > > On Thu, Mar 15, 2012 at 02:15:01PM -0600, Alex Williamson wrote: > > > > On

Re: preventing arbitrary virtual function assignment

2012-03-23 Thread Alex Williamson
On Fri, 2012-03-23 at 11:59 -0400, Scott wrote: > I'm really stymied by this issue so thanks in advance for any help! > > Problem statement: > The virtual functions of an SR-IOV NIC are not being assigned assigned as > specified in the VM guest's XML definitions. > > Data Points: > Server Inform

Re: PCI-Passthrough: VF ends up with no IRQ assigned on the physical machine

2012-03-26 Thread Alex Williamson
On Mon, 2012-03-26 at 18:34 +0200, Alexander Lyakas wrote: > Greetings everybody, > I am running stock ubuntu-natty 2.6.38-8, with KVM 0.14.0 and libvirt Any chance you can try upstream qemu-kvm? Interrupts, including msi-x have been given an overhaul recently. Thanks, Alex > 0.8.8. I am using

Re: PCI-Passthrough: VF ends up with no IRQ assigned on the physical machine

2012-03-27 Thread Alex Williamson
vm.git. It should be compatible with your kernel. Thanks, Alex > On Tue, Mar 27, 2012 at 12:38 AM, Alex Williamson > wrote: > > On Mon, 2012-03-26 at 18:34 +0200, Alexander Lyakas wrote: > >> Greetings everybody, > >> I am running stock ubuntu-natty 2.6.38-8, with

Re: [PATCH 1/2] Isolation groups

2012-03-27 Thread Alex Williamson
On Tue, 2012-03-27 at 16:14 +1100, David Gibson wrote: > On Wed, Mar 21, 2012 at 03:12:58PM -0600, Alex Williamson wrote: > > On Sat, 2012-03-17 at 15:57 +1100, David Gibson wrote: > > > On Fri, Mar 16, 2012 at 01:31:18PM -0600, Alex Williamson wrote: > > > > On

Re: [PATCH 1/2] qemu kvm: Set up gsi bitmap correctly

2012-03-27 Thread Alex Williamson
On Tue, 2012-03-27 at 17:00 -0400, Jason Baron wrote: > The current 'kvm_init_irq_routing()' doesn't set up the gsi bitmap > correctly, and as a consequence pins max_gsi to 32 when it really > should be 1024. I ran into this limitation while testing pci > passthrough, where I consistently would get

Re: [PATCH 1/2] qemu kvm: Set up gsi bitmap correctly

2012-03-27 Thread Alex Williamson
On Wed, 2012-03-28 at 00:01 +0200, Jan Kiszka wrote: > On 2012-03-27 23:31, Alex Williamson wrote: > > On Tue, 2012-03-27 at 17:00 -0400, Jason Baron wrote: > >> The current 'kvm_init_irq_routing()' doesn't set up the gsi bitmap > >> correctly, and a

Re: [PATCH] kvm: set gsi_bits and max_gsi correctly

2012-03-28 Thread Alex Williamson
gsi_bits = ALIGN(gsi_count, 32); > s->used_gsi_bitmap = g_malloc0(gsi_bits / 8); > s->max_gsi = gsi_bits; > Acked-by: Alex Williamson -- 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

[PATCH 0/2] kvm: iommu cleanup

2012-03-29 Thread Alex Williamson
n the last assigned device. Thanks, Alex --- Alex Williamson (2): kvm: unpin guest and free iommu domain after deassign last device kvm: unmap pages from the iommu when slots are removed include/linux/kvm_host.h |6 ++ virt/kvm/assigned-dev.c |3 +++ virt/kvm/io

[PATCH 1/2] kvm: unmap pages from the iommu when slots are removed

2012-03-29 Thread Alex Williamson
We've been adding new mappings, but not destroying old mappings. Signed-off-by: Alex Williamson --- include/linux/kvm_host.h |6 ++ virt/kvm/iommu.c |7 ++- virt/kvm/kvm_main.c |5 +++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/in

[PATCH 2/2] kvm: unpin guest and free iommu domain after deassign last device

2012-03-29 Thread Alex Williamson
Unpin the guest and free the iommu domain if there are no longer any devices attached. Signed-off-by: Alex Williamson --- virt/kvm/assigned-dev.c |3 +++ virt/kvm/iommu.c|1 + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/virt/kvm/assigned-dev.c b/virt/kvm

Re: [Qemu-devel] [PATCH] kvm: deassign irqs in reset path

2012-03-30 Thread Alex Williamson
On Fri, 2012-03-30 at 22:35 +0200, Jan Kiszka wrote: > On 2012-03-30 22:31, Jason Baron wrote: > > On Fri, Mar 30, 2012 at 10:18:31PM +0200, Jan Kiszka wrote: > > The root cause of the problem is that the 'reset_assigned_device()' code > > first writes a 0 to the command register. Then, whe

[RFC PATCH 2/3] iommu: Create basic group infrastructure and update AMD-Vi & Intel VT-d

2012-04-02 Thread Alex Williamson
group within existing AMD-Vi structs or provide a private data location within the iommu_group where we can eventually reduce redundancy. Signed-off-by: Alex Williamson --- drivers/iommu/amd_iommu.c | 50 ++- drivers/iommu/intel-iommu.c | 76 + drivers/iommu/io

[RFC PATCH 3/3] iommu: Create attach/detach group interface

2012-04-02 Thread Alex Williamson
IOMMU ops should be working at a group level rather than a device level as we cannot arbitrarily assign devices from the same group to different domains. For now this is just a simple wrapper that makes use of the dma_dev within a group. Signed-off-by: Alex Williamson --- drivers/iommu

[RFC PATCH 1/3] iommu: Introduce iommu_group

2012-04-02 Thread Alex Williamson
olve these problems and hopefully become the working unit of the IOMMI API. Signed-off-by: Alex Williamson --- include/linux/device.h |2 ++ include/linux/iommu.h |5 + 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/include/linux/device.h b/include/linux/device.h i

[RFC PATCH 0/3] IOMMU groups

2012-04-02 Thread Alex Williamson
series is a sketch at implementing only those aspects and leaving everything else about the multifaceted hairball of Isolation groups for another API. Please comment and let me know if this seems like the direction we should be headed. Thanks, Alex --- Alex Williamson (3): iommu: Create

[PATCH v2] kvm: Disable MSI/MSI-X in assigned device reset path

2012-04-04 Thread Alex Williamson
nd Jason Baron, the original debugger of this problem. Signed-off-by: Alex Williamson --- Jason is out of the office for a couple weeks, so I'll try to resolve this while he's away. Somehow the emulated config updates were lost in Jason's original posting, so I've fixed th

Re: [PATCH v2] kvm: Disable MSI/MSI-X in assigned device reset path

2012-04-05 Thread Alex Williamson
On Thu, 2012-04-05 at 12:34 +0300, Michael S. Tsirkin wrote: > On Wed, Apr 04, 2012 at 09:42:32PM -0600, Alex Williamson wrote: > > We've hit a kernel host panic, when issuing a 'system_reset' with an > > 82576 nic assigned and a Windows guest. Host system is a Powe

Re: [PATCH v2] kvm: Disable MSI/MSI-X in assigned device reset path

2012-04-10 Thread Alex Williamson
On Mon, 2012-04-09 at 11:35 +0300, Avi Kivity wrote: > On 04/08/2012 08:37 PM, Jan Kiszka wrote: > > The core problem is not the ordering. The problem is that the kernel is > > susceptible to ordering mistakes of userspace. And that is because the > > kernel panics on PCI errors of devices that are

Re: [RFC PATCH 0/3] IOMMU groups

2012-04-10 Thread Alex Williamson
do you have any other requirements for a group layer? Thanks, Alex On Mon, 2012-04-02 at 15:14 -0600, Alex Williamson wrote: > This series attempts to make IOMMU device grouping a slightly more > integral part of the device model. iommu_device_groups were originally > introduced to sup

[PATCH v2 0/2] kvm: iommu unmap fixes

2012-04-11 Thread Alex Williamson
This is a documentation change only from the previous version. After discussing it, there is a potential page leak as noted in the updated changelog for the first patch. Thanks, Alex --- Alex Williamson (2): kvm: unpin guest and free iommu domain after deassign last device kvm

[PATCH v2 1/2] kvm: unmap pages from the iommu when slots are removed

2012-04-11 Thread Alex Williamson
pa as the iommu will still be pointing to the original, pinned memory address. Signed-off-by: Alex Williamson --- include/linux/kvm_host.h |6 ++ virt/kvm/iommu.c |7 ++- virt/kvm/kvm_main.c |5 +++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --

[PATCH v2 2/2] kvm: unpin guest and free iommu domain after deassign last device

2012-04-11 Thread Alex Williamson
Unpin the guest and free the iommu domain if there are no longer any devices attached. Signed-off-by: Alex Williamson --- virt/kvm/assigned-dev.c |3 +++ virt/kvm/iommu.c|1 + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/virt/kvm/assigned-dev.c b/virt/kvm

Re: [PATCH v2 0/2] kvm: iommu unmap fixes

2012-04-11 Thread Alex Williamson
On Wed, 2012-04-11 at 08:59 -0700, Greg KH wrote: > On Wed, Apr 11, 2012 at 09:51:43AM -0600, Alex Williamson wrote: > > This is a documentation change only from the previous version. > > After discussing it, there is a potential page leak as noted > > in the updated changelo

Re: [PATCH v2] kvm: Disable MSI/MSI-X in assigned device reset path

2012-04-16 Thread Alex Williamson
The discussion on this patch seems to have fizzled, with no clear short term solution. Jan gave a Reviewed-by and Michael an Acked-by for this patch. There's work left to do, but I request that we pull in this fix now. Thanks, Alex On Wed, 2012-04-04 at 21:42 -0600, Alex Williamson

Re: [PATCH v2] kvm: Disable MSI/MSI-X in assigned device reset path

2012-04-16 Thread Alex Williamson
On Mon, 2012-04-16 at 18:06 +0300, Michael S. Tsirkin wrote: > On Mon, Apr 16, 2012 at 08:03:17AM -0600, Alex Williamson wrote: > > The discussion on this patch seems to have fizzled, with no clear short > > term solution. > > I think we are in concensus, it's just that

Re: [PATCHv2] device-assignment: don't touch real command register

2012-04-16 Thread Alex Williamson
On Mon, 2012-04-16 at 22:53 +0300, Michael S. Tsirkin wrote: > Real command register is under kernel control: > it includes bits for triggering SERR, marking > BARs as invalid and such which are under host > kernel control. Don't touch any except bus master > which is ok to put under guest control

Re: [PATCHv4] device-assignment: don't touch pci command register

2012-04-17 Thread Alex Williamson
m interrupt sharing machinery > explicitly allows. > > Note: PCI_STATUS bears looking into as well. > > Tested-by: Alex Williamson > Signed-off-by: Michael S. Tsirkin Acked-by: Alex Williamson > --- > > Changes from v3: > - use pci_word_test_and_clear_mask to cl

[PATCH] kvm: lock slots_lock around device assignment

2012-04-17 Thread Alex Williamson
slots. Thus a slot being removed at that point could send us down unexpected code paths removing non-existent pinnings and iommu mappings. Take the slots_lock around creating the iommu domain and initial mappings as well as around iommu teardown to avoid this race. Signed-off-by: Alex Willi

Re: [RFC PATCH 1/3] iommu: Introduce iommu_group

2012-04-18 Thread Alex Williamson
On Wed, 2012-04-18 at 19:58 +1000, David Gibson wrote: > On Mon, Apr 02, 2012 at 03:14:40PM -0600, Alex Williamson wrote: > > IOMMUs often do not have visibility of individual devices in the > > system. Due to IOMMU design, bus topology, or device quirks, we > > can often on

Re: [RFC PATCH 2/3] iommu: Create basic group infrastructure and update AMD-Vi & Intel VT-d

2012-04-18 Thread Alex Williamson
On Wed, 2012-04-18 at 21:55 +1000, David Gibson wrote: > On Mon, Apr 02, 2012 at 03:14:46PM -0600, Alex Williamson wrote: > > IOMMU groups define the minimum granularity of the IOMMU. We therefore > > create groups using a dma_dev which is the effective requestor ID for >

Re: [PATCH] kvm: lock slots_lock around device assignment

2012-04-18 Thread Alex Williamson
On Wed, 2012-04-18 at 23:30 -0300, Marcelo Tosatti wrote: > On Tue, Apr 17, 2012 at 09:46:44PM -0600, Alex Williamson wrote: > > @@ -340,7 +343,11 @@ int kvm_iommu_unmap_guest(struct kvm *kvm) > > if (!domain) > > return 0; > > > >

[PATCH 1/2] vfio: Fix config space virtualization

2010-11-05 Thread Alex Williamson
We're currently masking out virtualized bits when updating both physical device registers and vconfig. I think we really want vconfig to track virtualized bits, otherwise they're not much different that unwritable bits. Signed-off-by: Alex Williamson --- drivers/vfio/vfio_pci_confi

[PATCH 0/2] vfio: virtualize INTX_DISABLE

2010-11-05 Thread Alex Williamson
d value or the physical hardware depending on whether it's virtualized. This means we can get rid of a lot of duplicated setting and reading of vconfig, and only add code for more complicated behaviors. This is tricky code, to please double check that I'm not doing something stupid. Than

[PATCH 2/2] vfio: Virtualize PCI_COMMAND_INTX_DISABLE

2010-11-05 Thread Alex Williamson
As we use this internally for interrupt control, it's dangerous to let the user manipulate it. Instead, virtualize it. Also, de-assert INTX_DISABLE when device is opened, the device reset doesn't seem to clear this. Signed-off-by: Alex Williamson --- drivers/vfio/vfio_intrs.c

[RFC PATCH v2] VFIO based device assignment

2010-11-05 Thread Alex Williamson
dependent iommu domains. In the example above, each device is assigned to a separate iommu domain. Signed-off-by: Alex Williamson --- Makefile.target |1 hw/linux-vfio.h | 273 +++ hw/vfio.c | 1398 +++ hw/vfio.h |

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-08 Thread Alex Williamson
On Mon, 2010-11-08 at 13:40 +0200, Michael S. Tsirkin wrote: > On Wed, Oct 06, 2010 at 02:58:57PM -0600, Alex Williamson wrote: > > Our code paths for saving or migrating a VM are full of functions that > > return void, leaving no opportunity for a device to cancel a migration,

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-08 Thread Alex Williamson
On Mon, 2010-11-08 at 18:54 +0200, Michael S. Tsirkin wrote: > On Mon, Nov 08, 2010 at 07:59:57AM -0700, Alex Williamson wrote: > > On Mon, 2010-11-08 at 13:40 +0200, Michael S. Tsirkin wrote: > > > On Wed, Oct 06, 2010 at 02:58:57PM -0600, Alex Williamson wrote: > > >

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-08 Thread Alex Williamson
On Mon, 2010-11-08 at 22:59 +0200, Michael S. Tsirkin wrote: > On Mon, Nov 08, 2010 at 10:20:46AM -0700, Alex Williamson wrote: > > On Mon, 2010-11-08 at 18:54 +0200, Michael S. Tsirkin wrote: > > > On Mon, Nov 08, 2010 at 07:59:57AM -0700, Alex Williamson wrote: > > >

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 17:07 +0200, Michael S. Tsirkin wrote: > On Tue, Nov 09, 2010 at 07:58:23AM -0700, Alex Williamson wrote: > > On Tue, 2010-11-09 at 14:00 +0200, Michael S. Tsirkin wrote: > > > On Mon, Nov 08, 2010 at 02:23:37PM -0700, Alex Williamson wrote: > > >

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 14:00 +0200, Michael S. Tsirkin wrote: > On Mon, Nov 08, 2010 at 02:23:37PM -0700, Alex Williamson wrote: > > On Mon, 2010-11-08 at 22:59 +0200, Michael S. Tsirkin wrote: > > > On Mon, Nov 08, 2010 at 10:20:46AM -0700, Alex Williamson wrote: > > >

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 17:42 +0200, Michael S. Tsirkin wrote: > On Tue, Nov 09, 2010 at 08:34:54AM -0700, Alex Williamson wrote: > > On Tue, 2010-11-09 at 17:07 +0200, Michael S. Tsirkin wrote: > > > On Tue, Nov 09, 2010 at 07:58:23AM -0700, Alex Williamson wrote: > > >

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 18:15 +0200, Michael S. Tsirkin wrote: > On Tue, Nov 09, 2010 at 08:47:00AM -0700, Alex Williamson wrote: > > > > But it could. What if ivshmem is acting in a peer role, but has no > > > > clients, could it migrate? What if ivshmem is migratable

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 18:49 +0200, Michael S. Tsirkin wrote: > On Tue, Nov 09, 2010 at 09:30:45AM -0700, Alex Williamson wrote: > > On Tue, 2010-11-09 at 18:15 +0200, Michael S. Tsirkin wrote: > > > On Tue, Nov 09, 2010 at 08:47:00AM -0700, Alex Williamson wrote: > > > &

Re: [PATCH v4 3/9] KVM: Clear assigned guest IRQ on release

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 12:58 +0200, Avi Kivity wrote: > On 11/08/2010 01:21 PM, Jan Kiszka wrote: > > When we deassign a guest IRQ, clear the potentially asserted guest line. > > There might be no chance for the guest to do this, specifically if we > > switch from INTx to MSI mode. > > > > Signed-of

Re: [PATCH 0/6] Save state error handling (kill off no_migrate)

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 10:44 -0700, Alex Williamson wrote: > On Tue, 2010-11-09 at 18:49 +0200, Michael S. Tsirkin wrote: > > On Tue, Nov 09, 2010 at 09:30:45AM -0700, Alex Williamson wrote: > > > On Tue, 2010-11-09 at 18:15 +0200, Michael S. Tsirkin wrote: > > > >

Re: [PATCH 0/2] vfio: virtualize INTX_DISABLE

2010-11-09 Thread Alex Williamson
On Tue, 2010-11-09 at 16:59 -0800, Tom Lyon wrote: > Alex - I am rejecting these 2 patches. > > For patch 1/2, I started with yours and found a couple of problems, but then > I > got into the spirit and did a buinch more cleaning up. My patch to follow. Great, I'll take a look. > For patch 2/2

[PATCH 0/8] PCI capability and device assignment improvements

2010-11-11 Thread Alex Williamson
input on what we should pass directly and where we should only provide read-only/emulated access. Patches 1-7 are submitted for commit. Thanks, Alex --- Alex Williamson (8): device-assignment: pass through and stub more PCI caps pci: Pass ID for capability read/write handlers

[PATCH 1/8] pci: pci_default_cap_write_config ignores wmask

2010-11-11 Thread Alex Williamson
Make use of wmask, just like the rest of config space. Signed-off-by: Alex Williamson --- hw/pci.c | 19 --- 1 files changed, 8 insertions(+), 11 deletions(-) diff --git a/hw/pci.c b/hw/pci.c index 92aaa85..12c47ac 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -1175,13 +1175,14

[PATCH 2/8] pci: Remove pci_enable_capability_support()

2010-11-11 Thread Alex Williamson
This interface doesn't make much sense, adding a capability can take care of everything, just provide a means to register capability read/write handlers. Device assignment does it's own thing, so requires a couple ugly hacks that will be cleaned by subsequent patches. Signed-of

[PATCH 3/8] device-assignment: Use PCI capabilities support

2010-11-11 Thread Alex Williamson
Convert to use common pci_add_capabilities() rather than creating our own mess. Signed-off-by: Alex Williamson --- hw/device-assignment.c | 112 +++- 1 files changed, 63 insertions(+), 49 deletions(-) diff --git a/hw/device-assignment.c b/hw/device

[PATCH 4/8] pci: Replace used bitmap with capability byte map

2010-11-11 Thread Alex Williamson
Capabilities are allocated in bytes, so we can track both whether a byte is used and by what capability in the same structure. Remove pci_reserve_capability() as there are no users. Signed-off-by: Alex Williamson --- hw/pci.c | 16 +--- hw/pci.h |6 ++ 2 files changed, 7

[PATCH 5/8] pci: Remove cap.length, cap.start, cap.supported

2010-11-11 Thread Alex Williamson
lag in the status word anyway. Signed-off-by: Alex Williamson --- hw/device-assignment.c |4 hw/pci.c |8 +--- hw/pci.h |2 -- 3 files changed, 1 insertions(+), 13 deletions(-) diff --git a/hw/device-assignment.c b/hw/device-assignment.c index 74cdd2

[PATCH 6/8] device-assignment: Move PCI capabilities to match physical hardware

2010-11-11 Thread Alex Williamson
l calls to assigned_dev_pci_read_* because we're overlaying the capability at the same location as the initial copy we made of config space. We can therefore just use pci_get_*. Signed-off-by: Alex Williamson --- hw/device-assignment.c | 67 +++- 1 fi

[PATCH 7/8] pci: Pass ID for capability read/write handlers

2010-11-11 Thread Alex Williamson
Any handlers that actually want to interact with specific capabilities are going to want to know the capability ID being accessed. With the capability map, this is readily available, so we can save handlers the trouble of figuring it out. Signed-off-by: Alex Williamson --- hw/device

[RFC PATCH 8/8] device-assignment: pass through and stub more PCI caps

2010-11-11 Thread Alex Williamson
are mostly empty shells with a few writable bits where necessary. Signed-off-by: Alex Williamson --- hw/device-assignment.c | 160 +--- 1 files changed, 149 insertions(+), 11 deletions(-) diff --git a/hw/device-assignment.c b/hw/device-assignment.c

Re: [PATCH 1/8] pci: pci_default_cap_write_config ignores wmask

2010-11-11 Thread Alex Williamson
On Fri, 2010-11-12 at 07:22 +0200, Michael S. Tsirkin wrote: > On Thu, Nov 11, 2010 at 07:55:01PM -0700, Alex Williamson wrote: > > Make use of wmask, just like the rest of config space. > > > > Signed-off-by: Alex Williamson > > --- > > > > hw/pci.c

<    2   3   4   5   6   7   8   9   10   11   >