Re: [kvm-devel] High vm-exit latencies during kvm boot-up/shutdown

2007-10-23 Thread Gregory Haskins
On Tue, 2007-10-23 at 16:19 +0200, Avi Kivity wrote: Jan Kiszka wrote: Avi, [somehow your mails do not get through to my private account, so I'm switching] Avi Kivity wrote: Jan Kiszka wrote: Clarification: I can't precisely tell what code is executed in VM mode, as

Re: [kvm-devel] KVM and Prempt?

2007-10-19 Thread Gregory Haskins
On Fri, 2007-10-19 at 16:17 +0200, Back, Michael (ext) wrote: Are you referring to the -rt patch? Yes, I take the patch from http://www.kernel.org/pub/linux/kernel/projects/rt/ Ah, yes. There were problems in the past with running KVM on -rt if you have the full kit enabled. Its

Re: [kvm-devel] KVM and Prempt?

2007-10-19 Thread Gregory Haskins
Hi Michael, On Fri, 2007-10-19 at 15:32 +0200, Back, Michael (ext) wrote: 2.6.31.1 should be 2.6.23.1 - sorry _ Von:Back, Michael (ext) Gesendet: Friday, October 19, 2007 3:16 PM An: 'kvm-devel@lists.sourceforge.net'

Re: [kvm-devel] [ kvm-Bugs-1807620 ] KVM's --disable-gcc-check doesn't work

2007-10-04 Thread Gregory Haskins
On Thu, 2007-10-04 at 18:33 +0200, Farkas Levente wrote: hi, what's the real reason that kvm can't be compiled gcc-4.x? wouldn't it be better to be able to compile with the current compilers too? Its actually an issue with QEMUs cpu emulation code. It takes advantage of compiler traits that

Re: [kvm-devel] [ kvm-Bugs-1807620 ] KVM's --disable-gcc-check doesn't work

2007-10-04 Thread Gregory Haskins
On Thu, 2007-10-04 at 19:27 +0200, Farkas Levente wrote: ok but now as qemu code was imported into kvm, then it's probably would be better to witch gcc-4.x? Sure. Are you volunteering? ;) I'm sure both upstream QEMU developers, KVM developers, and the community using either would be most

Re: [kvm-devel] [ kvm-Bugs-1807620 ] KVM's --disable-gcc-check doesn't work

2007-10-04 Thread Gregory Haskins
On Thu, 2007-10-04 at 21:49 +0200, Farkas Levente wrote: Gregory Haskins wrote: On Thu, 2007-10-04 at 19:27 +0200, Farkas Levente wrote: ok but now as qemu code was imported into kvm, then it's probably would be better to witch gcc-4.x? Sure. Are you volunteering? ;) I'm sure both

Re: [kvm-devel] What happens on an INT80 instruction

2007-10-02 Thread Gregory Haskins
On Mon, 2007-10-01 at 17:23 -0600, Cam Macdonell wrote: Actually, I looking into doing a PhD dissertation :) I'm just trying to get a better working understanding of how kvm (and other VMMs) handle instructions like int80 that should trap into the OS, but of course in a VM need to trap

Re: [kvm-devel] Remove APIC lock

2007-08-24 Thread Gregory Haskins
On Fri, 2007-08-24 at 21:08 +0800, Dong, Eddie wrote: Avi: apic-lock is used in many place to avoid race condition with apic timer call back function which may run on different pCPU. This patch migrate the apic timer to same CPU with the one VP runs on, thus the lock is no

Re: [kvm-devel] Remove APIC lock

2007-08-24 Thread Gregory Haskins
On Fri, 2007-08-24 at 22:24 +0800, Dong, Eddie wrote: [EMAIL PROTECTED] wrote: Gregory Haskins wrote: On Fri, 2007-08-24 at 21:08 +0800, Dong, Eddie wrote: Avi: apic-lock is used in many place to avoid race condition with apic timer call back function which may run

[kvm-devel] [PATCH 00/13] PV-IO v4

2007-08-24 Thread Gregory Haskins
The following series implements v4 of the PV-IO series. Changes since v3: 1)Rebased on top of kvm.git HEAD 2)Forward ported Ingo's/Dor's baseline work for paravirtualization (Dropped ballon and net driver) 3)Fixed numerous bugs: You can now pass packets via the IOQNET loopback. I am on

[kvm-devel] [PATCH 01/13] PV: Add basic infrastructure for paravirtual/hypercall infrastructure

2007-08-24 Thread Gregory Haskins
Author: Ingo Molnar [EMAIL PROTECTED] Author: Dor Laor [EMAIL PROTECTED] Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- include/asm-i386/hypercall.h | 138 include/asm-x86_64/hypercall.h | 100 + 2 files changed, 238

[kvm-devel] [PATCH 02/13] KVM: Add hypercall definitions

2007-08-24 Thread Gregory Haskins
Author: Ingo Molnar [EMAIL PROTECTED] Author: Dor Laor [EMAIL PROTECTED] Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- include/linux/kvm.h | 20 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 1d5a49c

[kvm-devel] [PATCH 03/13] IOQ: Adding basic definitions for IO-Queue logic

2007-08-24 Thread Gregory Haskins
IOQ is a generic shared-memory-queue mechanism that happens to be friendly to virtualization boundaries. Note that it is not virtualization specific due to its flexible transport layer. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- include/linux/ioq.h | 176

[kvm-devel] [PATCH 04/13] PARAVIRTUALIZATION: Add support for a bus abstraction

2007-08-24 Thread Gregory Haskins
if the entire core is not operating with PVOPS. Therefore, we introduce a separate interface to deal with the devices. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- arch/i386/Kconfig|2 + arch/x86_64/Kconfig |2 + drivers/Makefile |1 drivers

[kvm-devel] [PATCH 05/13] IOQ: Add an IOQ network driver

2007-08-24 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/net/Kconfig | 10 + drivers/net/Makefile|2 drivers/net/ioqnet/Makefile | 11 + drivers/net/ioqnet/driver.c | 678 +++ include/linux/ioqnet.h | 44 +++ 5 files

[kvm-devel] [PATCH 06/13] IOQNET: Add a test harness infrastructure to IOQNET

2007-08-24 Thread Gregory Haskins
We can add a IOQNET loop-back device and register it with the PVBUS to test many aspects of the system (IOQ, PVBUS, and IOQNET itself). Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/net/Kconfig | 10 + drivers/net/ioqnet/Makefile |3 drivers/net/ioqnet

[kvm-devel] [PATCH 07/13] IRQ: Export create_irq/destroy_irq

2007-08-24 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- arch/x86_64/kernel/io_apic.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index f57f8b9..f8d2508 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch

[kvm-devel] [PATCH 08/13] KVM: Add a guest side driver for IOQ

2007-08-24 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig | 16 ++ drivers/kvm/Makefile |2 drivers/kvm/ioq.h | 39 + drivers/kvm/ioq_guest.c | 196 +++ drivers/kvm/pvbus.h | 63 +++ drivers/kvm/pvbus_guest.c

[kvm-devel] [PATCH 09/13] KVM: Importing Dor's base PV infrastructure work to kvm.git HEAD

2007-08-24 Thread Gregory Haskins
From: Dor Laor [EMAIL PROTECTED] Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h | 11 +++ drivers/kvm/kvm_main.c | 153 +++- drivers/kvm/svm.c | 11 +++ drivers/kvm/svm.h |2 - drivers/kvm/vmx.c

[kvm-devel] [PATCH 11/13] KVM: Add support for IOQ

2007-08-24 Thread Gregory Haskins
IOQ is a shared-memory-queue interface for implmenting PV driver communication. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig|5 + drivers/kvm/Makefile |3 drivers/kvm/ioq.h | 12 +- drivers/kvm/ioq_host.c | 365

[kvm-devel] [PATCH 12/13] KVM: Add PVBUS support to the KVM host

2007-08-24 Thread Gregory Haskins
PVBUS allows VMM agnostic PV drivers to discover/configure virtual resources Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig |2 drivers/kvm/Makefile |1 drivers/kvm/kvm.h|3 drivers/kvm/kvm_main.c |4 drivers/kvm/pvbus_host.c

[kvm-devel] [PATCH 13/13] KVM: Add an IOQNET backend driver

2007-08-24 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig | 10 + drivers/kvm/Makefile |4 drivers/kvm/ioqnet_host.c | 578 + 3 files changed, 591 insertions(+), 1 deletions(-) diff --git a/drivers/kvm/Kconfig b

Re: [kvm-devel] [PATCH 00/13] PV-IO v4

2007-08-24 Thread Gregory Haskins
On Fri, 2007-08-24 at 17:22 -0700, Dor Laor wrote: Cheers and enjoy the vacation Thanks! (your not going to Tuscon Arizona are you...) While I can't quite say I'd rather be in AZ than on vacation with the family ;), I am disappointed that the timing will prevent me from joining you guys.

Re: [kvm-devel] [kvm-commits] KVM: VMX: Use shadow TPR/cr8 for 64-bits guests

2007-08-23 Thread Gregory Haskins
On Thu, 2007-08-23 at 10:46 +0300, Avi Kivity wrote: repository: /home/avi/kvm/linux-2.6 branch: lapic5 commit 8ed05c33d82a394c90b5dd830513416e59ffcf68 Author: Yang, Sheng [EMAIL PROTECTED] Date: Wed Aug 22 15:03:15 2007 +0300 KVM: VMX: Use shadow TPR/cr8 for 64-bits guests

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-21 Thread Gregory Haskins
On Tue, 2007-08-21 at 17:58 +1000, Rusty Russell wrote: Partly the horror of the code, but mainly because it is an in-order ring. You'll note that we use a reply ring, so we don't need to know how much the other side has consumed (and it needn't do so in order). I have certainly been known

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-21 Thread Gregory Haskins
On Tue, 2007-08-21 at 15:25 +0300, Avi Kivity wrote: Gregory Haskins wrote: On Tue, 2007-08-21 at 17:58 +1000, Rusty Russell wrote: Partly the horror of the code, but mainly because it is an in-order ring. You'll note that we use a reply ring, so we don't need to know how much

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-21 Thread Gregory Haskins
On Tue, 2007-08-21 at 23:47 +1000, Rusty Russell wrote: Hi Gregory, The main current use is disk drivers: they process out-of-order. Maybe for you ;) I am working on the networking/IVMC side. I think the use of rings for the tx-path in of itself is questionable unless you can

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-21 Thread Gregory Haskins
On Tue, 2007-08-21 at 10:06 -0400, Gregory Haskins wrote: On Tue, 2007-08-21 at 23:47 +1000, Rusty Russell wrote: In the guest - host direction, an interface like virtio is designed for batching, with the explicit distinction between add_buf sync. Right. IOQ has iter_push

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-21 Thread Gregory Haskins
On Tue, 2007-08-21 at 20:12 +0300, Avi Kivity wrote: No, sync() means make the other side aware that there's work to be done. Ok, but still the important thing isn't the kick per se, but the resulting completetion. Can we do interrupt driven reclamation? Some of those virtio_net emails I

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-20 Thread Gregory Haskins
On Sun, 2007-08-19 at 12:24 +0300, Avi Kivity wrote: Rusty Russell wrote: 2) We either need huge descriptors or some chaining mechanism to handle scatter-gather. Or, my preference, have a small sglist in the descriptor; Define small ;) There a certainly patterns

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-20 Thread Gregory Haskins
On Mon, 2007-08-20 at 07:03 -0700, Dor Laor wrote: 2) We either need huge descriptors or some chaining mechanism to handle scatter-gather. Or, my preference, have a small sglist in the descriptor; Define small ;) There a certainly patterns that cannot/will-not

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-17 Thread Gregory Haskins
On Fri, 2007-08-17 at 17:43 +1000, Rusty Russell wrote: Sure, these discussions can get pretty esoteric. The question is whether you want a point-to-point transport (as we discuss here), or an N-way. Lguest has N-way, but I'm not convinced it's worthwhile, as there's some overhead

[kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-16 Thread Gregory Haskins
Here is the v3 release of the patch series for a generalized PV-IO infrastructure. It has v2 plus the following changes: 1) The big changes is that PVBUS is now based on the bus/device_register APIs. The code is inspired by the lguest_bus except it has been decoupled from the hypervisor.

[kvm-devel] [PATCH 03/10] IOQ: Add an IOQ network driver

2007-08-16 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/net/Kconfig | 10 + drivers/net/Makefile|2 drivers/net/ioqnet/Makefile | 11 + drivers/net/ioqnet/driver.c | 658 +++ include/linux/ioqnet.h | 44 +++ 5 files

[kvm-devel] [PATCH 04/10] IOQNET: Add a test harness infrastructure to IOQNET

2007-08-16 Thread Gregory Haskins
We can add a IOQNET loop-back device and register it with the PVBUS to test many aspects of the system (IOQ, PVBUS, and IOQNET itself). Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/net/Kconfig | 10 + drivers/net/ioqnet/Makefile |3 drivers/net/ioqnet

Re: [kvm-devel] [PATCH 00/10] PV-IO v3

2007-08-16 Thread Gregory Haskins
Hi Rusty, Comments inline... On Fri, 2007-08-17 at 11:25 +1000, Rusty Russell wrote: Transport has several parts. What the hypervisor knows about (usually shared memory and some interrupt mechanism and possibly DMA) and what is convention between users (eg. ringbuffer layouts). Whether

Re: [kvm-devel] a few may be wiki question

2007-08-15 Thread Gregory Haskins
On Wed, 2007-08-15 at 11:07 +0300, Avi Kivity wrote: Farkas Levente wrote: this rise another question if swapping will be used the it moves the guest memory to the guest's swap or the host's swap? if to the host's swap then this implies i should have to allocate large enough swap for the

Re: [kvm-devel] [RFC PATCH 0/9] PV device infrastructure v2

2007-08-15 Thread Gregory Haskins
On Wed, 2007-08-15 at 00:52 -0700, Dor Laor wrote: If the above is followed, any enhancement will be appriciated. Since I am close, I will probably make at least one more v3 drop as is with the new lguest_bus inspired pvbus (with hotplug, etc). From there, we can (virtually) get together and

Re: [kvm-devel] [RFC PATCH 0/9] PV device infrastructure v2

2007-08-15 Thread Gregory Haskins
On Wed, 2007-08-15 at 00:13 -0400, Gregory Haskins wrote: On Wed, 2007-08-15 at 06:58 +0300, Avi Kivity wrote: since it wants to be hypervisor agnostic, it cannot specify an ABI (as some already have ABIs, for example Xen). I see, and that is a good point. By only being an API, virtio

Re: [kvm-devel] a few may be wiki question

2007-08-15 Thread Gregory Haskins
On Wed, 2007-08-15 at 15:52 +0200, Farkas Levente wrote: Gregory Haskins wrote: On thing that is interesting about this (to me) is that, in a way it kind of is a poor mans swap for the guests memory on the host. E.g. you could give your guests a really small amount of physical ram (say

Re: [kvm-devel] [RFC PATCH 0/9] PV device infrastructure v2

2007-08-15 Thread Gregory Haskins
On Wed, 2007-08-15 at 15:37 -0700, Dor Laor wrote: If you'll be quick enough you can rip the lguest_bus into a very light weight virtio_bus. Please keep it thin as possible, Rusty's code is 217 lines long, half of it comments. I'm planing to have a flexible use of this bus while one can

Re: [kvm-devel] [RFC PATCH 4/8] KVM: Add a gpa_to_hva helper function

2007-08-14 Thread Gregory Haskins
On Tue, 2007-08-14 at 12:43 +0530, Amit Shah wrote: On Tuesday 14 August 2007 09:37:45 Gregory Haskins wrote: There are several things about this patch which aren't nice: - It implicitly does a kmap_atomic. That's a bad thing for procedures that might sleep after calling this - It's prone

Re: [kvm-devel] [RFC PATCH 0/8] PV device infrastructure

2007-08-14 Thread Gregory Haskins
On Tue, 2007-08-14 at 00:44 -0700, Dor Laor wrote: Can you provide performance figures? What’s the tcp/udp between guest host? None yet :( Its pretty much pseudo code that compiles at this point. ;) I still have to work out several issues before I can even begin testing. Interrupt management

Re: [kvm-devel] [RFC PATCH 1/8] IOQ: Adding basic definitions for IO-Queue logic

2007-08-14 Thread Gregory Haskins
On Tue, 2007-08-14 at 01:01 -0700, Dor Laor wrote: Why not use the standard naming for guest/host or front/backend? I was trying to stress that this isn't virtualization specific. For instance, you could use an IOQ on something like an AMP or RDMA based system too. However, that being said I

Re: [kvm-devel] [RFC PATCH 1/8] IOQ: Adding basic definitions for IO-Queue logic

2007-08-14 Thread Gregory Haskins
On Tue, 2007-08-14 at 07:44 -0400, Gregory Haskins wrote: On Tue, 2007-08-14 at 01:01 -0700, Dor Laor wrote: Instead of the above code I would call to iter_seek and do everything inside then return a proper error code if needed. Im not sure I fully understand your point. But if I do get

Re: [kvm-devel] a few may be wiki question

2007-08-14 Thread Gregory Haskins
On Tue, 2007-08-14 at 15:50 +0300, Avi Kivity wrote: Farkas Levente wrote: hi, i try to setup a centos host server with kvm and a few guest os for the first time. imho there is only a very limited docs about kvm (even if i try to read them:-). so there are a few general questions: -

[kvm-devel] [RFC PATCH 0/9] PV device infrastructure v2

2007-08-14 Thread Gregory Haskins
This series incorporates all of v1 plus the following changes based on feedback to date: *) s/ioq_iter/ioq_iter_init *) removed unecessary desc-offset *) utilized create_irq() to actually assign interrupt resource *) removed inadvertant cleanup of whitespace from series *) added memory

[kvm-devel] [RFC PATCH 3/9] IRQ: Export create_irq/destroy_irq

2007-08-14 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- arch/x86_64/kernel/io_apic.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index d8bfe31..6bf8794 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch

[kvm-devel] [RFC PATCH 2/9] PARAVIRTUALIZATION: Add support for a bus abstraction

2007-08-14 Thread Gregory Haskins
if the entire core is not operating with PVOPS. Therefore, we introduce a separate interface to deal with the devices. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- include/linux/pvbus.h | 43 +++ kernel/Makefile |2 +- kernel/pvbus.c

[kvm-devel] [RFC PATCH 6/9] KVM: Add support for IOQ

2007-08-14 Thread Gregory Haskins
IOQ is a shared-memory-queue interface for implmenting PV driver communication. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig|5 + drivers/kvm/Makefile |3 drivers/kvm/ioq.h | 12 +- drivers/kvm/ioq_host.c | 365

[kvm-devel] [RFC PATCH 8/9] IOQ: Add an IOQ network driver

2007-08-14 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/net/Kconfig|4 drivers/net/Makefile |2 drivers/net/ioqnet.c | 631 include/linux/ioqnet.h | 42 +++ 4 files changed, 679 insertions(+), 0 deletions(-) diff --git

[kvm-devel] [RFC PATCH 5/9] KVM: Add a gpa_to_hva helper function

2007-08-14 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h |1 + drivers/kvm/mmu.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h index 9934f11..05d5be1 100755 --- a/drivers/kvm/kvm.h +++ b/drivers/kvm

[kvm-devel] [RFC PATCH 4/9] KVM: Add a guest side driver for IOQ

2007-08-14 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig | 27 +- drivers/kvm/Makefile |3 - drivers/kvm/ioq.h | 39 + drivers/kvm/ioq_guest.c | 192 + drivers/kvm/pvbus.h | 41

[kvm-devel] [RFC PATCH 9/9] KVM: Add an IOQNET backend driver

2007-08-14 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig |5 drivers/kvm/Makefile |2 drivers/kvm/ioqnet_host.c | 566 + 3 files changed, 573 insertions(+), 0 deletions(-) diff --git a/drivers/kvm/Kconfig b

Re: [kvm-devel] [RFC PATCH 0/9] PV device infrastructure v2

2007-08-14 Thread Gregory Haskins
On Wed, 2007-08-15 at 05:50 +0300, Avi Kivity wrote: Gregory Haskins wrote: This series incorporates all of v1 plus the following changes based on feedback to date: Are you positioning this as an alternative to virtio? Absolutely not! I really just want to see a decent PV-IO

Re: [kvm-devel] add back pending timer irqs for kernel APIC timer

2007-08-13 Thread Gregory Haskins
On Mon, 2007-08-13 at 11:50 +0300, Avi Kivity wrote: This patch keep track of the pending irqs and inject them back to guest eventually even the guest may be descheduled. This is also what we did in Xen. BTW, This policy will also be applied to future kernel PIT, I just do it step by

[kvm-devel] [RFC PATCH 5/8] KVM: Add support for IOQ

2007-08-13 Thread Gregory Haskins
IOQ is a shared-memory-queue interface for implmenting PV driver communication. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig|5 + drivers/kvm/Makefile |3 drivers/kvm/ioq.h | 12 +- drivers/kvm/ioq_host.c | 365

[kvm-devel] [RFC PATCH 3/8] KVM: Add a guest side driver for IOQ

2007-08-13 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig | 27 +- drivers/kvm/Makefile |3 - drivers/kvm/ioq.h | 39 + drivers/kvm/ioq_guest.c | 190 + drivers/kvm/pvbus.h | 41

[kvm-devel] [RFC PATCH 0/8] PV device infrastructure

2007-08-13 Thread Gregory Haskins
This patch series represents the state of my current work w.r.t. PV and KVM. It is still a work in progress and so far has only been compile tested (though earlier versions had a test harness that ironed many bugs out). I submit it now as an RFC on the directions I am taking and to solicit

[kvm-devel] [RFC PATCH 6/8] KVM: Add PVBUS support to the KVM host

2007-08-13 Thread Gregory Haskins
PVBUS allows VMM agnostic PV drivers to discover/configure virtual resources Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/Kconfig | 10 + drivers/kvm/Makefile |3 drivers/kvm/kvm.h|4 drivers/kvm/kvm_main.c |4 drivers/kvm/pvbus_host.c

[kvm-devel] [RFC PATCH 2/8] PARAVIRTUALIZATION: Add support for a bus abstraction

2007-08-13 Thread Gregory Haskins
if the entire core is not operating with PVOPS. Therefore, we introduce a separate interface to deal with the devices. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- include/linux/pvbus.h | 43 +++ kernel/Makefile |2 +- kernel/pvbus.c

[kvm-devel] [RFC PATCH 1/8] IOQ: Adding basic definitions for IO-Queue logic

2007-08-13 Thread Gregory Haskins
IOQ is a generic shared-memory-queue mechanism that happens to be friendly to virtualization boundaries. Note that it is not virtualization specific due to its flexible transport layer. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- include/linux/ioq.h | 178

[kvm-devel] [RFC PATCH 4/8] KVM: Add a gpa_to_hva helper function

2007-08-13 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h |1 + drivers/kvm/mmu.c | 12 2 files changed, 13 insertions(+), 0 deletions(-) diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h index 9934f11..05d5be1 100755 --- a/drivers/kvm/kvm.h +++ b/drivers/kvm

Re: [kvm-devel] help with understanding GPA/GVA issues

2007-08-10 Thread Gregory Haskins
On Fri, 2007-08-10 at 19:59 +0300, Avi Kivity wrote: Note that passing a virtual address is highly discouraged as its meaning can change from vcpu to vcpu, it might not be mapped, translation is slow, etc. Just let the guest do the translation. Yeah, Hollis and Anthony straighted me out

Re: [kvm-devel] help with understanding GPA/GVA issues

2007-08-10 Thread Gregory Haskins
On Fri, 2007-08-10 at 09:32 -0500, Anthony Liguori wrote: Gregory Haskins wrote: Hi All, I am working on some PV stuff and had some questions about the ability to share memory across the Guest/Host boundary. It seems that most examples of how to do this always involve starting

[kvm-devel] help with understanding GPA/GVA issues

2007-08-09 Thread Gregory Haskins
Hi All, I am working on some PV stuff and had some questions about the ability to share memory across the Guest/Host boundary. It seems that most examples of how to do this always involve starting with a *page, converting it to a gfn via page_to_gfn(), and using that as a gpa to pass across the

Re: [kvm-devel] KVM and RT

2007-08-01 Thread Gregory Haskins
On Wed, 2007-08-01 at 09:56 +0300, Avi Kivity wrote: Gregory Haskins wrote: Hi Team, I don't know if anyone here also subscribes to linux-rt-users, but it seems as though Ingo et. al. rejected my modifications which ran the smp_call() in a thread (VFCIPI). It's not surprising. 650

Re: [kvm-devel] [PATCH 2/2] KVM: Protect race-condition betweenVMCS and current_vmcs on VMX hardware

2007-07-31 Thread Gregory Haskins
On Tue, 2007-07-31 at 17:18 +0800, Dong, Eddie wrote: I may miss something, why does that matter? As it turns out, it doesn't ;) So we have dropped the patch. But not for the reason you are suggesting. __vcpu_clear will eventually get executed though it is a little bit delayed. vmclear

[kvm-devel] KVM and RT

2007-07-31 Thread Gregory Haskins
Hi Team, I don't know if anyone here also subscribes to linux-rt-users, but it seems as though Ingo et. al. rejected my modifications which ran the smp_call() in a thread (VFCIPI). So FYI: KVM is still broken on RT and needs to be addressed. In a nutshell, kvm_lock cannot be used as it us

[kvm-devel] [PATCH][RFC] RT: Preemptible Function-Call-IPI Support

2007-07-30 Thread Gregory Haskins
. It also allows code that was written to expect spin_locks to work properly, even though they may have converted to rt_mutex under the hood. In summary, this subsystem does for FCIPI interrupts what PREEMPT_HARDIRQs does for normal interrupts. Signed-off-by: Gregory Haskins [EMAIL PROTECTED

Re: [kvm-devel] [PATCH 1/2] Rename svm() and vmx() to to_svm() and to_vmx().

2007-07-27 Thread Gregory Haskins
On Fri, 2007-07-27 at 16:53 +1000, Rusty Russell wrote: On Thu, 2007-07-26 at 14:45 -0400, Gregory Haskins wrote: Signed-off-by: Gregory Haskins [EMAIL PROTECTED] OK, in anticipation that you would do it, I've done a trivial s/svm()/to-svm()/ and s/vmx()/to_vmx()/ patch and put my patch

Re: [kvm-devel] [PATCH 3/3] KVM: Protect race-condition between VMCS and current_vmcs on VMX hardware

2007-07-27 Thread Gregory Haskins
On Fri, 2007-07-27 at 07:58 +0300, Avi Kivity wrote: Gregory Haskins wrote: We need to provide locking around the current_vmcs/VMCS interactions to protect against race conditions. We agreed the race was benign? Do you no longer think so? No, I agree (see 0/3 note). I was just

Re: [kvm-devel] Threaded IPIs?

2007-07-27 Thread Gregory Haskins
On Fri, 2007-07-27 at 07:56 +0300, Avi Kivity wrote: Gregory Haskins wrote: Hi guys, While working with the -rt kernel, I have noticed a problem in KVM. Specifically, when you stop a VM you sometimes get a sleep while atomic oopses. It turns out that the issue is related

[kvm-devel] [PATCH 0/2] Arch cleanup v5

2007-07-27 Thread Gregory Haskins
(Note the last v3 I sent out was a duplicate v3...it should have been v4) This series includes the following changes from v4(v3) Patch #1: I have folded Rusty's cleanup in (thanks Rusty!) Patch #2: Rebased on Rusty's changes Patch #3: Dropped Signed-off-by: Gregory Haskins [EMAIL PROTECTED

[kvm-devel] [PATCH 1/2] KVM: Remove arch specific components from the general code

2007-07-27 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h | 31 drivers/kvm/kvm_main.c | 26 +-- drivers/kvm/kvm_svm.h |3 drivers/kvm/svm.c | 394 drivers/kvm/vmx.c | 249

Re: [kvm-devel] [PATCH 2/2] KVM: Clean up VMCLEAR/VMPTRLD code on VMX

2007-07-27 Thread Gregory Haskins
On Fri, 2007-07-27 at 17:09 -0700, Nakajima, Jun wrote: Gregory Haskins wrote: Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/vmx.c | 71 +++-- 1 files changed, 58 insertions(+), 13 deletions(-) diff --git

[kvm-devel] [PATCH 2/3] KVM: Clean up VMCLEAR/VMPTRLD code on VMX

2007-07-26 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/vmx.c | 70 +++-- 1 files changed, 57 insertions(+), 13 deletions(-) diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index 5f0a7fd..d6354ca 100644 --- a/drivers/kvm/vmx.c +++ b

[kvm-devel] [PATCH 0/2] Arch cleanup v3

2007-07-26 Thread Gregory Haskins
and linux. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX

Re: [kvm-devel] [PATCH] KVM: Remove arch specific components from the general code

2007-07-26 Thread Gregory Haskins
On Thu, 2007-07-26 at 15:33 +0300, Avi Kivity wrote: The suggestion I liked best (Anthony's) was struct vmx_vcpu { struct kvm_vcpu vcpu; void *vmcs; // other vmx-specific data }; to move from a kvm_vcpu to a vmx_vcpu, you use container_of() (inside your

Re: [kvm-devel] [PATCH] KVM: Remove arch specific components from the general code

2007-07-26 Thread Gregory Haskins
On Fri, 2007-07-27 at 09:27 +1000, Rusty Russell wrote: So the in-kernel apic code has to traverse every element in the array? That is clearly better because? I can't speak for Eddie's implementation, but the one that I had worked on did in fact take advantage of the array. Not for

[kvm-devel] [PATCH 3/3] KVM: Protect race-condition between VMCS and current_vmcs on VMX hardware

2007-07-26 Thread Gregory Haskins
We need to provide locking around the current_vmcs/VMCS interactions to protect against race conditions. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/vmx.c | 25 +++-- 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/kvm/vmx.c b

Re: [kvm-devel] [PATCH 2/2] KVM: Protect race-condition between VMCS and current_vmcs on VMX hardware

2007-07-26 Thread Gregory Haskins
On Thu, 2007-07-26 at 19:31 +0300, Avi Kivity wrote: Avi Kivity wrote: Sure. It can happen with two VMs are running simultaneously. Lets call them VM-a and VM-b. Assume the scenario: VM-a is on CPU-x, gets migrated to CPU-y, and VM-b gets scheduled in on CPU-x. There is a race on

Re: [kvm-devel] [PATCH 1/2] KVM: Remove arch specific components from the general code

2007-07-26 Thread Gregory Haskins
On Thu, 2007-07-26 at 10:04 -0500, Anthony Liguori wrote: Gregory Haskins wrote: Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h | 31 - drivers/kvm/kvm_main.c | 26 +--- drivers/kvm/kvm_svm.h |3 drivers/kvm/svm.c | 322

[kvm-devel] [PATCH] KVM: Remove arch specific components from the general code

2007-07-26 Thread Gregory Haskins
(v2) Incorporates all feedback except for the arch-pointer stuff which is still being discussed. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h | 31 - drivers/kvm/kvm_main.c | 26 +--- drivers/kvm/kvm_svm.h |3 drivers/kvm/svm.c | 322

[kvm-devel] [PATCH 1/2] KVM: Remove arch specific components from the general code

2007-07-26 Thread Gregory Haskins
Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h | 31 - drivers/kvm/kvm_main.c | 26 +--- drivers/kvm/kvm_svm.h |3 drivers/kvm/svm.c | 322 +--- drivers/kvm/vmx.c | 236

Re: [kvm-devel] [PATCH] KVM: Remove arch specific components from the general code

2007-07-26 Thread Gregory Haskins
On Thu, 2007-07-26 at 16:37 +0300, Avi Kivity wrote: Gregory Haskins wrote: On Thu, 2007-07-26 at 15:33 +0300, Avi Kivity wrote: The suggestion I liked best (Anthony's) was struct vmx_vcpu { struct kvm_vcpu vcpu; void *vmcs; // other vmx-specific

Re: [kvm-devel] [PATCH 2/2] KVM: Protect race-condition between VMCS and current_vmcs on VMX hardware

2007-07-26 Thread Gregory Haskins
On Thu, 2007-07-26 at 18:35 +0300, Avi Kivity wrote: A race indeed, good catch. I think the race is only on the per_cpu(current_vmcs) variable, no? The actual vmcs ptr (as loaded by vmptrld) is handled by the processor. Correct. Disabling interrupts was chosen as the sync-primitive,

[kvm-devel] [PATCH 2/2] KVM: Protect race-condition between VMCS and current_vmcs on VMX hardware

2007-07-26 Thread Gregory Haskins
We need to provide locking around the current_vmcs/VMCS interactions to protect against race conditions. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/vmx.c | 77 - 1 files changed, 64 insertions(+), 13 deletions(-) diff

[kvm-devel] [PATCH] KVM: Remove arch specific components from the general code

2007-07-25 Thread Gregory Haskins
This is a cleanup patch to de-VMX the general code. It was developed in the preempt-hooks branch, but it should apply elsewhere as well. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h | 33 + drivers/kvm/kvm_main.c | 12 +- drivers/kvm/kvm_svm.h |3

[kvm-devel] [PATCH] KVM: VMX cannot yet handle migration-after-preemption, so disable it

2007-07-24 Thread Gregory Haskins
is not held. Signed-off-by: Gregory Haskins [EMAIL PROTECTED] --- drivers/kvm/kvm.h |1 + drivers/kvm/kvm_main.c |3 +++ 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h index 03f374e..d18537c 100644 --- a/drivers/kvm/kvm.h +++ b/drivers

Re: [kvm-devel] Fwd: Re: kvm-31 seg fault

2007-07-24 Thread Gregory Haskins
On Tue, 2007-07-24 at 22:02 +, Chris Clayton wrote: I've been doing some more digging around here and thought I'd report my findings. I've found that under kvm 31 and 33, qemu-system-x86_64 always fails with a seg fault when the (__thread) variable vcpu_env (declared at line 33 of

Re: [kvm-devel] [PATCH] KVM: VMX cannot yet handle migration-after-preemption, so disable it

2007-07-24 Thread Gregory Haskins
On Wed, 2007-07-25 at 06:20 +0300, Avi Kivity wrote: I'd rather wait for the real fix, especially as this is an experimental branch. Can you provide details of the issue? Sure. Keep in mind I am working with the RT kernel, so things might be tighter and/or different than the vanilla

Re: [kvm-devel] [PATCH] KVM: VMX cannot yet handle migration-after-preemption, so disable it

2007-07-24 Thread Gregory Haskins
On Wed, 2007-07-25 at 07:13 +0300, Avi Kivity wrote: Preemption disabled yes, but interrupts? How do you think I found this? ;) From smp_call_function_single in -rt: WARN_ON(irqs_disabled()); IIRC I picked the place where sched_in is called to have interrupts enabled, but maybe -rt

[kvm-devel] virtio implementation?

2007-07-17 Thread Gregory Haskins
Hi Rusty, I was curious if there are any implementations of your virtio substrate for KVM yet? And if not, I can offer help to get this done as I have an immediate need for a ring-buffer like PV channel. Regards, -Greg -

Re: [kvm-devel] [PATCH 4/10] Trivial: Make decode_register() static

2007-07-17 Thread Gregory Haskins
On Tue, 2007-07-17 at 23:16 +1000, Rusty Russell wrote: I have shied away from touching x86_emulate.c (it could definitely use some love, but it is forked from the Xen code, and it would be more productive to cross-merge fixes). On this topic, here's an idea I have been kicking around for a

Re: [kvm-devel] virtio implementation?

2007-07-17 Thread Gregory Haskins
On Tue, 2007-07-17 at 06:31 -0700, Dor Laor wrote: You're welcome to rip my ring code ;) Point me at the code, if you would. I would be happy to use it as a base. :) - This SF.net email is sponsored by DB2 Express

Re: [kvm-devel] [PATCH] KVM-USER: Fix for CPU interrupts in QEMU

2007-07-16 Thread Gregory Haskins
On Sun, 2007-07-15 at 10:39 +0300, Avi Kivity wrote: When applied to current HEAD, this doesn't work. Booting windows or Linux, quite soon during boot everything freezes. Crap. Not sure whats happening as I definitely tested that during development. Ill have to take a look. -Greg

[kvm-devel] kvm.git git question

2007-07-16 Thread Gregory Haskins
Is there a way I can see a list of commits that are related only to KVM since 2.6.22 without seeing all the stuff from upstream? -Greg - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE

Re: [kvm-devel] kvm-27 vs 28 I/O speed

2007-07-13 Thread Gregory Haskins
On Fri, 2007-07-13 at 16:41 +0300, Avi Kivity wrote: I tested FC6 i386 about found no difference with or without the patch. Dave, can you diff the guest dmesg with kvm-27 and kvm-28 userspace? Maybe that will tell us something. I can say this: It would seem that the IDE enable bits

Re: [kvm-devel] kvm-27 vs 28 I/O speed

2007-07-13 Thread Gregory Haskins
On Fri, 2007-07-13 at 16:46 +0200, Luca wrote: On 7/13/07, Gregory Haskins [EMAIL PROTECTED] wrote: Just to clarify: you are suggesting that the old IDE driver used to see that the controller was disabled and reprogrammed it by itself (fast mode); now it sees it's enabled and leaves whatever

  1   2   3   4   >