Avi Kivity wrote:
Exactly. But it is better to be explicit about it and pass the page
directly like you did before. I hate to make you go back-and-fourth,
but I did not understand the issue completely before.
btw, the call to gfn_to_page() can happen in page_fault() instead of
walk_addr();
Avi Kivity wrote:
Avi Kivity wrote:
Exactly. But it is better to be explicit about it and pass the page
directly like you did before. I hate to make you go back-and-fourth,
but I did not understand the issue completely before.
btw, the call to gfn_to_page() can happen in
Andrew Morton wrote:
On Sun, 23 Dec 2007 10:59:22 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Avi Kivity wrote:
Avi Kivity wrote:
Exactly. But it is better to be explicit about it and pass the page
directly like you did before. I hate to make you go back-and-fourth,
Dor Laor wrote:
This patchset updates kvm repository with Anthony's virtio
implementation along
with rx performance improvements and guest reset handling.
The original code was sent to qemu devel list 2 weeks ago.
It contains support for network block devices.
Using the performance
On Sun, 23 Dec 2007 12:35:30 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Andrew Morton wrote:
On Sun, 23 Dec 2007 10:59:22 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Avi Kivity wrote:
Avi Kivity wrote:
Exactly. But it is better to be explicit about it and pass
Dor Laor wrote:
From f244bcad756c4f761627557bb7f315b1d8f22fb2 Mon Sep 17 00:00:00 2001
From: Dor Laor [EMAIL PROTECTED]
Date: Thu, 20 Dec 2007 13:26:30 +0200
Subject: [PATCH] [VIRTIO-NET] Rx performance improvement
The current performance are not good enough, the problem lies
in qemu tap
Andrew Morton wrote:
On Sun, 23 Dec 2007 12:35:30 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Andrew Morton wrote:
On Sun, 23 Dec 2007 10:59:22 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Avi Kivity wrote:
Avi Kivity wrote:
Exactly.
From: Anthony Liguori [EMAIL PROTECTED]
Add vmmcall/vmcall to x86_emulate. Future patch will implement functionality
for these instructions.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/x86_emulate.c | 23 +--
Following is the first part of the 2.6.25 merge window submission. Since
there are 238 patches in the queue (and a few more expected), they'll be
sent in five batches of around 50 each.
-
This SF.net email is sponsored by:
From: Anthony Liguori [EMAIL PROTECTED]
This patch refactors the current hypercall infrastructure to better
support live migration and SMP. It eliminates the hypercall page by
trapping the UD exception that would occur if you used the wrong hypercall
instruction for the underlying architecture
From: Laurent Vivier [EMAIL PROTECTED]
emulate_instruction() calls now x86_decode_insn() and x86_emulate_insn().
x86_emulate_insn() is x86_emulate_memop() without the decoding part.
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
From: Ryan Harper [EMAIL PROTECTED]
This patch removes the fault injected when the guest attempts to set reserved
bits in cr3. X86 hardware doesn't generate a fault when setting reserved bits.
The result of this patch is that vmware-server, running within a kvm guest,
boots and runs memtest from
When we allow guest page faults to reach the guests directly, we lose
the fault tracking which allows us to detect demand paging. So we provide
an alternate mechnism by clearing the accessed bit when we set a pte, and
checking it later to see if the guest actually used it.
Signed-off-by: Avi
From: Laurent Vivier [EMAIL PROTECTED]
Move emulate_ctxt to kvm_vcpu to keep emulate context when we exit from kvm
module. Call x86_decode_insn() only when needed. Modify x86_emulate_insn() to
not modify the context if it must be re-entered.
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
KVM avoids reloading the efer msr when the difference between the guest
and host values consist of the long mode bits (which are switched by
hardware) and the NX bit (which is emulated by the KVM MMU).
This patch also allows KVM to ignore SCE (syscall enable) when the guest
is running in 32-bit
There are two classes of page faults trapped by kvm:
- host page faults, where the fault is needed to allow kvm to install
the shadow pte or update the guest accessed and dirty bits
- guest page faults, where the guest has faulted and kvm simply injects
the fault back into the guest to
From: Laurent Vivier [EMAIL PROTECTED]
Split the decoding process into a new function x86_decode_insn().
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/x86_emulate.c | 77 +++--
1 files
From: Qing He [EMAIL PROTECTED]
Signed-off-by: Qing He [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/x86_emulate.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index 8b0186f..fe50317
From: Laurent Vivier [EMAIL PROTECTED]
This patch modifies the management of REX prefix according behavior
I saw in Xen 3.1. In Xen, this modification has been introduced by
Jan Beulich.
http://lists.xensource.com/archives/html/xen-changelog/2007-01/msg00081.html
Signed-off-by: Laurent Vivier
From: Izik Eidus [EMAIL PROTECTED](none)
Signed-off-by: Izik Eidus [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/kvm.h |9 +++
drivers/kvm/kvm_main.c | 160 +++-
drivers/kvm/vmx.c | 43 ++---
3
From: Laurent Vivier [EMAIL PROTECTED]
The only valid case is on protected page access, other cases are errors.
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/kvm_main.c | 10 +++---
1 files changed, 7 insertions(+), 3
From: Laurent Vivier [EMAIL PROTECTED]
Remove _eflags and use directly ctxt-eflags. Caching eflags is not needed as
it is restored to vcpu by kvm_main.c:emulate_instruction() from ctxt-eflags
only if emulation doesn't fail.
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi
Now that smp_call_function_single() knows how to call a function on the
current cpu, there's no need to check explicitly.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/vmx.c |6 +-
1 files changed, 1 insertions(+), 5 deletions(-)
diff --git a/drivers/kvm/vmx.c
From: Laurent Vivier [EMAIL PROTECTED]
Move all x86_emulate_memop() common variables between decode and execute to a
structure decode_cache. This will help in later separating decode and
emulate.
struct decode_cache {
u8 twobyte;
u8 b;
From: Laurent Vivier [EMAIL PROTECTED]
Remove no_wb, use dst.type = OP_NONE instead, idea stollen from xen-3.1
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/x86_emulate.c | 76 ++--
From: Laurent Vivier [EMAIL PROTECTED]
To improve readability, move push, writeback, and grp 1a/2/3/4/5/9 emulation
parts into functions.
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/x86_emulate.c | 451
From: Rusty Russell [EMAIL PROTECTED]
Since vcpu-apic is of the correct type, there's not need to cast.
Signed-off-by: Rusty Russell [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/lapic.c | 10 +-
1 files changed, 5 insertions(+), 5 deletions(-)
diff
This is more consistent with the accessed bit management, and makes the dirty
bit available earlier for other purposes.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/mmu.c |5 +
drivers/kvm/paging_tmpl.h | 31 ---
2 files changed, 13
From: Rusty Russell [EMAIL PROTECTED]
Instead of the asymetry of kvm_free_apic, implement kvm_free_lapic().
And guess what? I found a minor bug: we don't need to hrtimer_cancel()
from kvm_main.c, because we do that in kvm_free_apic().
Also:
1) kvm_vcpu_uninit should be the reverse order from
From: Rusty Russell [EMAIL PROTECTED]
Move kvm_create_lapic() into kvm_vcpu_init(), rather than having svm
and vmx do it. And make it return the error rather than a fairly
random -ENOMEM.
This also solves the problem that neither svm.c nor vmx.c actually
handles the error path properly.
From: Qing He [EMAIL PROTECTED]
If no apic is enabled in the bitmap of an interrupt delivery with delivery
mode of lowest priority, a warning should be reported rather than select
a fallback vcpu
Signed-off-by: Qing He [EMAIL PROTECTED]
Signed-off-by: Eddie (Yaozu) Dong [EMAIL PROTECTED]
Beside the obvious goodness of making code more common, this prevents
a livelock with the next patch which moves interrupt injection out of the
critical section.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/kvm_main.c |2 ++
drivers/kvm/svm.c |1 -
drivers/kvm/vmx.c
From: Anthony Liguori [EMAIL PROTECTED]
Some of the MMU functions take a struct kvm_vcpu even though they affect all
VCPUs. This patch cleans up some of them to instead take a struct kvm. This
makes things a bit more clear.
The main thing that was confusing me was whether certain functions
Since the mmu uses different shadow pages for dirty large pages and clean
large pages, this allows the mmu to drop ptes that are now invalid.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/paging_tmpl.h |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/paging_tmpl.h | 23 +++
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index 4538b15..a0f84a5 100644
--- a/drivers/kvm/paging_tmpl.h
+++
By forcing clean huge pages to be read-only, we have separate roles
for the shadow of a clean large page and the shadow of a dirty large
page. This is necessary because different ptes will be instantiated
for the two cases, even for read faults.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
We must set the bit before the shift, otherwise the wrong bit gets set.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/paging_tmpl.h |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/kvm/paging_tmpl.h b/drivers/kvm/paging_tmpl.h
index da36e48..e07cb2e
This is consistent with real-mode permissions.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/mmu.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c
index e6616a6..f52604a 100644
--- a/drivers/kvm/mmu.c
+++
We now have a new namespace, KVM_REQ_*, for bits in vcpu-requests.
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/kvm.h |2 +-
drivers/kvm/kvm_main.c |4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index
From: Nitin A Kamble [EMAIL PROTECTED]
Instructions:
inc r16/r32 (opcode 0x40-0x47)
dec r16/r32 (opcode 0x48-0x4f)
Signed-off-by: Nitin A Kamble [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/x86_emulate.c | 20 ++--
1 files
From: Laurent Vivier [EMAIL PROTECTED]
Add new-line at end of debug strings.
Signed-off-by: Laurent Vivier [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/ioapic.c | 25 ++---
1 files changed, 14 insertions(+), 11 deletions(-)
diff --git
From: Izik Eidus [EMAIL PROTECTED]
The user is now able to set how many mmu pages will be allocated to the guest.
Signed-off-by: Izik Eidus [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/kvm.h |7 ++-
drivers/kvm/kvm_main.c | 47
From: Izik Eidus [EMAIL PROTECTED]
When kvm uses user-allocated pages in the future for the guest, we won't
be able to use page-private for rmap, since page-rmap is reserved for
the filesystem. So we move the rmap base pointers to the memory slot.
A side effect of this is that we need to store
From: Carsten Otte [EMAIL PROTECTED]
This patch splits kvm_vcpu_ioctl into archtecture independent parts, and
x86 specific parts which go to kvm_arch_vcpu_ioctl in x86.c.
Common ioctls for all architectures are:
KVM_RUN, KVM_GET/SET_(S-)REGS, KVM_TRANSLATE, KVM_INTERRUPT,
KVM_DEBUG_GUEST,
From: Mike Day [EMAIL PROTECTED]
Signed-off-by: Mike D. Day [EMAIL PROTECTED]
Signed-off-by: Avi Kivity [EMAIL PROTECTED]
---
drivers/kvm/kvm.h | 32 +-
drivers/kvm/kvm_main.c| 58 ++
drivers/kvm/lapic.c |3 +-
On Sat, Dec 22, 2007 at 09:13:44PM +0200, Avi Kivity wrote:
Unfortunately, this fails badly on Intel i386:
Hmm ok there's a definitive bug that I forgot a int1 kernel-kernel
switch on x86 has no special debug stack like on x86-64. This will
have a better chance to work, hope I got all offsets
Andrea Arcangeli wrote:
On Sat, Dec 22, 2007 at 09:13:44PM +0200, Avi Kivity wrote:
Unfortunately, this fails badly on Intel i386:
Hmm ok there's a definitive bug that I forgot a int1 kernel-kernel
switch on x86 has no special debug stack like on x86-64. This will
have a better
Avi Kivity wrote:
From: Izik Eidus [EMAIL PROTECTED]
Instead of having the kernel allocate memory to the guest, let userspace
allocate it and pass the address to the kernel.
This is required for s390 support, but also enables features like memory
sharing and using hugetlbfs backed memory.
On Sun, Dec 23, 2007 at 10:41:07AM +0200, Avi Kivity wrote:
Avi Kivity wrote:
Exactly. But it is better to be explicit about it and pass the page
directly like you did before. I hate to make you go back-and-fourth,
but I did not understand the issue completely before.
btw, the call
On Sun, Dec 23, 2007 at 01:01:25PM +0200, Avi Kivity wrote:
Andrew Morton wrote:
On Sun, 23 Dec 2007 12:35:30 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Andrew Morton wrote:
On Sun, 23 Dec 2007 10:59:22 +0200 Avi Kivity [EMAIL PROTECTED] wrote:
Avi Kivity wrote:
On Sun, 23 Dec 2007 15:15:25 -0500 Marcelo Tosatti [EMAIL PROTECTED] wrote:
Are you guys OK with this ?
Modular KVM needs walk_page_range(), and also vm_normal_page() to be
used on pagewalk callback.
I am.
-
This
Rusty Russell wrote:
On Friday 14 December 2007 23:12:05 Christian Borntraeger wrote:
Rusty, Anthony, Dor,
I need your brain power :-)
On smp guests I have seen a problem with virtio (the version in curent
Avi's git) which do not occur on single processor guests:
kernel BUG at
On Monday 24 December 2007 10:19:19 Dor Laor wrote:
Rusty Russell wrote:
Looks good to me. The only thing is the naming.. Maybe one can find
better name than [dis|en]able_cb since
it is more like disable interrupts than disable_cb and enable_cb is more
like run_callbacks (and enable
Hi All,
I was looking into the source code of kvm and modified qemu and trying to
find the time spent between two VM-exit in kvm.
Is there a way to find this from user-space qemu, without modifying the
kernel module or libkvm?
Thanks,
Avadh
From: Zhang Xiantao [EMAIL PROTECTED]
Date: Mon, 24 Dec 2007 14:06:31 +0800
Subject: [PATCH] kvm: qemu/ia64: guest with 3G memory fix.
This patch fix boot issue with 3G memory. Currently, set
TARGET_PHYS_ADDR_SPACE_BITS to 36 bits, and safely support
64G memory for guests.
Signed-off-by: Zhang
Marcelo Tosatti wrote:
On Sun, Dec 23, 2007 at 10:41:07AM +0200, Avi Kivity wrote:
Avi Kivity wrote:
Exactly. But it is better to be explicit about it and pass the page
directly like you did before. I hate to make you go back-and-fourth,
but I did not understand the issue
Marcelo Tosatti wrote:
It can acquire the pagetablelock in the callback handler. But then,
vm_normal_page() must also be exported.
Are you guys OK with this ?
Seems to me that requires fairly detailed mucking in mm details, just to
get at a page.
I believe that a new
avadh patel wrote:
Hi All,
I was looking into the source code of kvm and modified qemu and trying
to find the time spent between two VM-exit in kvm.
Is there a way to find this from user-space qemu, without modifying
the kernel module or libkvm?
What do you mean exactly? Average time
58 matches
Mail list logo