Xu, Jiajun wrote:
Hi All,
This is our Weekly KVM Testing Report against lastest kvm.git
0c77713470debc666a07dc40080d728272bb58b9 and kvm-userspace.git
1223a029b36b0d9e73af76bcc274bb770f814886.
One New Issue:
1. perfctr wrmsr warning when booting
Avi Kivity wrote:
Plain 'qemu' now runs an empty VM; a -help is needed to get the help message.
Signed-off-by: Avi Kivity a...@redhat.com
---
client/tests/kvm_runtest_2/kvm_preprocessing.py |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git
Gleb Natapov wrote:
Signed-off-by: Gleb Natapov g...@redhat.com
This is actually not just a rewrite, but also a bugfix:
INTR_INFO);
@@ -3289,34 +3288,42 @@ static void vmx_complete_interrupts(struct vcpu_vmx
*vmx)
vmx-vnmi_blocked_time +=
Gleb Natapov wrote:
The patch fixes two problems with task switching.
1. Back link is written to a wrong TSS.
2. Instruction emulation is not needed if the reason for task switch
is a task gate in IDT and access to it is caused by an external even.
2 is currently solved only for VMX since
Dong, Eddie wrote:
struct vcpu_svm *svm = to_svm(vcpu);
#ifdef CONFIG_X86_64
- if (vcpu-arch.shadow_efer EFER_LME) {
+ if (is_long_mode(vcpu)) {
is_long_mode() actually tests EFER_LMA, so this is incorrect.
--
error compiling committee.c: too many arguments to
Just noticed that walk_addr() too can be called from tdp context, so
need to make sure rsvd_bits_mask is initialized in init_kvm_tdp_mmu()
as well.
Yes, fixed.
Thx, eddie
commit b282565503a78e75af643de42fe7bf495e2213ec
Author: root r...@eddie-wb.localdomain
Date: Mon Mar 30 16:57:39 2009
On (Mon) Mar 30 2009 [10:07:58], Avi Kivity wrote:
1. perfctr wrmsr warning when booting 64bit RHEl5.3
https://sourceforge.net/tracker/?func=detailaid=2721640group_id=180599atid=893831
This is the architectural performance counting msr which was enabled in
4f76231 (KVM: x86: Ignore reads
Dong, Eddie wrote:
Avi Kivity wrote:
Dong, Eddie wrote:
struct vcpu_svm *svm = to_svm(vcpu);
#ifdef CONFIG_X86_64
- if (vcpu-arch.shadow_efer EFER_LME) {
+ if (is_long_mode(vcpu)) {
is_long_mode() actually tests EFER_LMA, so this is incorrect.
Dong, Eddie wrote:
@@ -2199,6 +2194,9 @@ void reset_rsvds_bits_mask(struct kvm_vcpu *vcpu, int
level)
context-rsvd_bits_mask[1][0] = 0;
break;
case PT32E_ROOT_LEVEL:
+ context-rsvd_bits_mask[0][2] = exb_bit_rsvd |
+
Avi Kivity wrote:
Han, Weidong wrote:
I suggest replacing the parsing code with pci_parse_devaddr() (needs
to be extended to support functions) so that all the checking and
parsing is done in one place.
If use pci_parse_devaddr(), it needs to add domain section to
assigning command, and
Dong, Eddie wrote:
Just noticed that walk_addr() too can be called from tdp context, so
need to make sure rsvd_bits_mask is initialized in init_kvm_tdp_mmu()
as well.
Yes, fixed.
Applied, thanks. I also added unit tests for bit 51 of the pte and pde
in the mmu tests.
--
error
Hello
I'm trying to pass a fibre channel virtual disk to a KVM host via libvirt.
On the host, disk is:
Disk /dev/sdb: 53.6 GB, 53631516672 bytes
64 heads, 32 sectors/track, 6393 cylinders
Units = cylinders of 2048 * 4096 = 8388608 bytes
Disk identifier: 0x5e9ca6c0
As you can see, the sector
Hi,
many thanks for your replys. I've upgraded
some systems to kernel 2.6.29 a few days ago.
There was especially one system which nearly always
crashed during kernel compilation. With 2.6.29
as host an guest it currently works. Have now
compiled the kernel three times (always from
scratch) and
Bit 12 is undefined in any of the following cases:
If the VM exit sets the valid bit in the IDT-vectoring information field.
If the VM exit is due to a double fault.
Signed-off-by: Gleb Natapov g...@redhat.com
---
arch/x86/kvm/vmx.c | 17 +++--
1 files changed, 11 insertions(+),
Also fix a bug when NMI could be dropped on exit. Although this should
never happen in practice.
Signed-off-by: Gleb Natapov g...@redhat.com
---
arch/x86/kvm/vmx.c | 43 +--
1 files changed, 25 insertions(+), 18 deletions(-)
diff --git
We will need it later in task_switch().
Code in handle_exception() is dead. is_external_interrupt(vect_info)
will always be false since idt_vectoring_info is zeroed in
vmx_complete_interrupts().
Signed-off-by: Gleb Natapov g...@redhat.com
---
arch/x86/kvm/vmx.c |7 ---
1 files changed,
Back link is written to a wrong TSS now.
Signed-off-by: Gleb Natapov g...@redhat.com
---
arch/x86/kvm/x86.c | 40
1 files changed, 32 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index ae4918c..f14c622 100644
---
There is no need to skip instruction if the reason for a task switch
is a task gate in IDT and access to it is caused by an external even.
The problem is currently solved only for VMX since there is no reliable
way to skip an instruction in SVM. We should emulate it instead.
Signed-off-by: Gleb
On Mon, Mar 30, 2009 at 10:39:21AM +0300, Avi Kivity wrote:
Gleb Natapov wrote:
The patch fixes two problems with task switching.
1. Back link is written to a wrong TSS.
2. Instruction emulation is not needed if the reason for task switch
is a task gate in IDT and access to it is caused by
On Saturday 28 March 2009 11:17:42 am you wrote:
KVM devs have a patch called KSM (short for kernel shared memory I think)
that helps windows guests a good bit. See the original announcement [1]
for some numbers. I spoke to one of the devs recently and they said they
are going to resubmit it
Avi Kivity schrieb:
(...)
Perhaps KSM would help you? Alternately, a heuristic that scanned for
(and
collapsed) fully zeroed pages when a page is faulted in for the first
time could
catch these.
ksm will indeed collapse these pages. Lighter-weight alternatives exist
-- ballooning
Tomasz Chmielewski wrote:
What about cache/buffers sharing between the host kernel and running
processes?
If I'm not mistaken, right now, memory is wasted by caching the same
data by host and guest kernels.
For example, let's say we have a host with 2 GB RAM and it runs a 1 GB
guest.
Amit Shah wrote:
On (Mon) Mar 30 2009 [10:07:58], Avi Kivity wrote:
1. perfctr wrmsr warning when booting 64bit RHEl5.3
https://sourceforge.net/tracker/?func=detailaid=2721640group_id=180599atid=893831
This is the architectural performance counting msr which was enabled in
4f76231
Avi Kivity schrieb:
Tomasz Chmielewski wrote:
What about cache/buffers sharing between the host kernel and running
processes?
If I'm not mistaken, right now, memory is wasted by caching the same
data by host and guest kernels.
For example, let's say we have a host with 2 GB RAM and it
Is there any interest in this series? Aside from copying host SMBIOS
entries, it also seems useful for providing information to the guest
about their virtual machine pool (perhaps via a type 3 entry), or
whatever other bits of data someone might find useful (type 11, OEM
string for instance).
On Mon, Mar 30, 2009 at 07:59:36AM -0600, Alex Williamson wrote:
Is there any interest in this series? Aside from copying host SMBIOS
entries, it also seems useful for providing information to the guest
about their virtual machine pool (perhaps via a type 3 entry), or
whatever other bits of
On Mon, Mar 30, 2009 at 07:59:36AM -0600, Alex Williamson wrote:
Is there any interest in this series? Aside from copying host SMBIOS
entries, it also seems useful for providing information to the guest
about their virtual machine pool (perhaps via a type 3 entry), or
whatever other bits of
On (Mon) Mar 30 2009 [16:55:05], Avi Kivity wrote:
Amit Shah wrote:
On (Mon) Mar 30 2009 [10:07:58], Avi Kivity wrote:
1. perfctr wrmsr warning when booting 64bit RHEl5.3
https://sourceforge.net/tracker/?func=detailaid=2721640group_id=180599atid=893831
This is the architectural
Tomasz Chmielewski wrote:
Double caching is indeed a bad idea. That's why you have cache=off
(though it isn't recommended with qcow2).
cache= option is about write cache, right?
Here, I'm talking about read cache.
Or, does cache=none disable read cache as well?
cache=writethrough
Daniel P. Berrange wrote:
I can't help thinking that if we wish to provide metadata to guest OS
like system model, serial number, etc, then we'd be better off using
explicit named flags (or QEMU config file settings once that exists)
-system-serial 2141241521 -system-model Some Virtual
Amit Shah wrote:
/*
* Check whether the Architectural PerfMon supports
* Unhalted Core Cycles Event or not.
* NOTE: Corresponding bit = 0 in ebx indicates event present.
*/
cpuid(10, (eax.full), ebx, unused, unused);
if
Avi Kivity schrieb:
Tomasz Chmielewski wrote:
Double caching is indeed a bad idea. That's why you have cache=off
(though it isn't recommended with qcow2).
cache= option is about write cache, right?
Here, I'm talking about read cache.
Or, does cache=none disable read cache as well?
On Mon, Mar 30, 2009 at 10:15 AM, Tomasz Chmielewski man...@wpkg.org wrote:
Still, if there is free memory on host, why not use it for cache?
because it's best used on the guest; which will do anyway. so, not
cacheing already-cached data, it's free to cache other more important
things, or to
On Mon, 2009-03-30 at 17:59 +0300, Avi Kivity wrote:
Daniel P. Berrange wrote:
I can't help thinking that if we wish to provide metadata to guest OS
like system model, serial number, etc, then we'd be better off using
explicit named flags (or QEMU config file settings once that exists)
On Monday 30 March 2009 08:23:44 Alberto Treviño wrote:
On Saturday 28 March 2009 11:17:42 am you wrote:
KVM devs have a patch called KSM (short for kernel shared memory I think)
that helps windows guests a good bit. See the original announcement [1]
for some numbers. I spoke to one of the
On Monday 30 March 2009 06:37:35 Robert Wimmer wrote:
Hi,
many thanks for your replys. I've upgraded
some systems to kernel 2.6.29 a few days ago.
There was especially one system which nearly always
crashed during kernel compilation. With 2.6.29
as host an guest it currently works. Have now
Avi Kivity wrote:
Gleb Natapov wrote:
Signed-off-by: Gleb Natapov g...@redhat.com
This is actually not just a rewrite, but also a bugfix:
INTR_INFO);
@@ -3289,34 +3288,42 @@ static void vmx_complete_interrupts(struct
vcpu_vmx *vmx)
vmx-vnmi_blocked_time +=
Gleb Natapov wrote:
The patch fixes two problems with task switching.
1. Back link is written to a wrong TSS.
2. Instruction emulation is not needed if the reason for task switch
is a task gate in IDT and access to it is caused by an external even.
2 is currently solved only for VMX
On Mon, Mar 30, 2009 at 06:04:45PM +0200, Jan Kiszka wrote:
Gleb Natapov wrote:
The patch fixes two problems with task switching.
1. Back link is written to a wrong TSS.
2. Instruction emulation is not needed if the reason for task switch
is a task gate in IDT and access to it is
Gleb Natapov wrote:
On Mon, Mar 30, 2009 at 06:04:45PM +0200, Jan Kiszka wrote:
Gleb Natapov wrote:
The patch fixes two problems with task switching.
1. Back link is written to a wrong TSS.
2. Instruction emulation is not needed if the reason for task switch
is a task gate in IDT and
On Mon, Mar 30, 2009 at 06:35:05PM +0200, Jan Kiszka wrote:
Gleb Natapov wrote:
On Mon, Mar 30, 2009 at 06:04:45PM +0200, Jan Kiszka wrote:
Gleb Natapov wrote:
The patch fixes two problems with task switching.
1. Back link is written to a wrong TSS.
2. Instruction emulation is not
On Mon, Mar 30, 2009 at 06:35:05PM +0200, Jan Kiszka wrote:
Haven't tried. I wrote my own tests for task switching. How can I check it?
There is a test case attached to Julian's sourceforge-reported bug:
https://sourceforge.net/tracker/?func=detailatid=893831aid=2681442group_id=180599
Nikola Ciprich extmaillist at linuxbox.cz writes:
Hi,
I was also experiencing this problem a lot for quite a long time (and for
wide range of KVM versions..)
I might be completely wrong as I'm not sure if it was really the reason,
but i THINK it disappeared when I started to use fully
On Mar 29, 2009, at 10:29 AM, Avi Kivity wrote:
Kurt Yoder wrote:
slow host cpu information, core 1 of 16:
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 4
model name : Quad-Core AMD Opteron(tm) Processor 8382
stepping: 2
cpu MHz
Bugs item #2517725, was opened at 2009-01-18 12:44
Message generated for change (Comment added) made by martyg7
You can respond by visiting:
https://sourceforge.net/tracker/?func=detailatid=893831aid=2517725group_id=180599
Please note that this message will contain a full copy of the comment
Evert wrote:
Hi all,
I am about to install a new host system, which will be hosting various
guest systems by means of KVM virt-manager for GUI.
What would be the best choice for host OS distro? Red Hat, or will any
mature Linux distro do?
Personally I am more of a Gentoo guy, but if there
* Bill Davidsen david...@tmr.com [2009-03-30 15:51]:
I am looking for detailed information or a single reproducible example of
starting a VM using the qemu-kvm command from a script under Linux (and a
display script on a control host, obviously). What software needs to be
installed and
Daniel P. Berrange wrote:
On Fri, Mar 20, 2009 at 10:57:50AM -0700, jd wrote:
Hi
What is the motivation for having different kvm binary names on various linux distributions.. ?
-- kvm
-- qemu-system-x86_84
-- qemu-kvm
I can tell you the history from the Fedora POV at least...
We
Ryan Harper wrote:
* Bill Davidsen david...@tmr.com [2009-03-30 15:51]:
I am looking for detailed information or a single reproducible example of
starting a VM using the qemu-kvm command from a script under Linux (and a
display script on a control host, obviously). What software needs to be
Ryan Harper wrote:
* Bill Davidsen david...@tmr.com [2009-03-30 15:51]:
I am looking for detailed information or a single reproducible example of
starting a VM using the qemu-kvm command from a script under Linux (and a
display script on a control host, obviously). What software needs to be
On Mon, Mar 30, 2009 at 6:12 PM, Bill Davidsen david...@tmr.com wrote:
Daniel P. Berrange wrote:
On Fri, Mar 20, 2009 at 10:57:50AM -0700, jd wrote:
Hi
What is the motivation for having different kvm binary names on various
linux distributions.. ?
-- kvm
-- qemu-system-x86_84
--
I have run iozone on my ubuntu 8.10 VM and it says:
random
randombkwd record stride
KB reclen write rewritereadrereadread
writeread rewriteread fwrite frewrite fread freread
Bill Davidsen wrote:
Ryan Harper wrote:
-vnc localhost:1 -- will display the guest VGA display on the localhost.
A remote system can do:
vncviewer ${kvmhost}:1
to view the guest VGA.
Thanks, will try later tonight. Have to have a bit of care getting the
number right (unique) since there
Gleb Natapov g...@redhat.com writes:
On Mon, Mar 30, 2009 at 06:35:05PM +0200, Jan Kiszka wrote:
Haven't tried. I wrote my own tests for task switching. How can I check it?
There is a test case attached to Julian's sourceforge-reported bug:
KSM is a linux driver that allows dynamicly sharing identical memory
pages between one or more processes.
Unlike tradtional page sharing that is made at the allocation of the
memory, ksm do it dynamicly after the memory was created.
Memory is periodically scanned; identical pages are identified
this macro allow setting the pte in the shadow page tables directly
instead of flushing the shadow page table entry and then get vmexit in
order to set it.
This function is optimzation for kvm/users of mmu_notifiers for COW
pages, it is useful for kvm when ksm is used beacuse it allow kvm
not to
this patch add new function called page_wrprotect(),
page_wrprotect() is used to take a page and mark all the pte that
point into it as readonly.
The function is working by walking the rmap of the page, and setting
each pte realted to the page as readonly.
The odirect_sync parameter is used to
replace_page() allow changing the mapping of pte from one physical page
into diffrent physical page.
this function is working by removing oldpage from the rmap and calling
put_page on it, and by setting the pte to point into newpage and by
inserting it to the rmap using page_add_file_rmap().
apply it against Avi git tree.
Izik Eidus (3):
kvm: dont hold pagecount reference for mapped sptes pages.
kvm: add SPTE_HOST_WRITEABLE flag to the shadow ptes.
kvm: add support for change_pte mmu notifiers
arch/x86/include/asm/kvm_host.h |1 +
arch/x86/kvm/mmu.c | 89
When using mmu notifiers, we are allowed to remove the page count
reference tooken by get_user_pages to a specific page that is mapped
inside the shadow page tables.
This is needed so we can balance the pagecount against mapcount
checking.
(Right now kvm increase the pagecount and does not
this flag notify that the host physical page we are pointing to from
the spte is write protected, and therefore we cant change its access
to be write unless we run get_user_pages(write = 1).
(this is needed for change_pte support in kvm)
Signed-off-by: Izik Eidus iei...@redhat.com
---
this is needed for kvm if it want ksm to directly map pages into its
shadow page tables.
Signed-off-by: Izik Eidus iei...@redhat.com
---
arch/x86/include/asm/kvm_host.h |1 +
arch/x86/kvm/mmu.c | 68 +++
virt/kvm/kvm_main.c |
Apply it against Avi kvm-userspace git tree.
Izik Eidus (2):
qemu: add ksm support
qemu: add ksmctl.
qemu/ksm.h | 70
qemu/vl.c | 34 +
user/Makefile |6 +++-
Signed-off-by: Izik Eidus iei...@redhat.com
---
qemu/ksm.h | 70
qemu/vl.c | 34 +
2 files changed, 104 insertions(+), 0 deletions(-)
create mode 100644 qemu/ksm.h
diff --git a/qemu/ksm.h b/qemu/ksm.h
userspace tool to control the ksm kernel thread
Signed-off-by: Izik Eidus iei...@redhat.com
---
user/Makefile |6 +++-
user/config-x86-common.mak |2 +-
user/ksmctl.c | 69
3 files changed, 75 insertions(+), 2
Ksm is driver that allow merging identical pages between one or more
applications in way unvisible to the application that use it.
Pages that are merged are marked as readonly and are COWed when any
application try to change them.
Ksm is used for cases where using fork() is not suitable,
one of
Avi Kivity wrote:
Dong, Eddie wrote:
@@ -2199,6 +2194,9 @@ void reset_rsvds_bits_mask(struct kvm_vcpu
*vcpu, int level) context-rsvd_bits_mask[1][0] = 0;
break;
case PT32E_ROOT_LEVEL:
+context-rsvd_bits_mask[0][2] = exb_bit_rsvd |
+
Izik Eidus wrote:
I am sending another seires of patchs for kvm kernel and kvm-userspace
that would allow users of kvm to test ksm with it.
The kvm patchs would apply to Avi git tree.
Any reason to not take these through upstream QEMU instead of
kvm-userspace? In principle, I don't see
Izik Eidus wrote:
Ksm is driver that allow merging identical pages between one or more
applications in way unvisible to the application that use it.
Pages that are merged are marked as readonly and are COWed when any
application try to change them.
Ksm is used for cases where using fork() is
On Tue, 31 Mar 2009 02:59:20 +0300
Izik Eidus iei...@redhat.com wrote:
Ksm is driver that allow merging identical pages between one or more
applications in way unvisible to the application that use it.
Pages that are merged are marked as readonly and are COWed when any
application try to
Hi,
I've just come across a somewhat strange problem that was suggested I
report to the list.
The problem manifested itself as DMA errors and the like popping up in the
guest, like I'd expect to see if a disk in a physical machine was dying,
like this:
hda: dma_timer_expiry: dma status ==
I'm on a Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz, using a 2.6.29
vanilla kernel, x86_64. kvm userland version 84.
When I try to boot my x64 Windows XP, it gets partway through the
windows booting process, with the progress bar and what not. Then, I
get the attached backtrace.
The various
PDPTEs are used only if CR0.PG=CR4.PAE=1.
In that situation, their format depends the value of IA32_EFER.LMA.
If IA32_EFER.LMA=0, bit 63 is reserved and must be 0 in any PDPTE that is
marked present. The execute-disable setting of a page is determined only by
the PDE and PTE.
If
On Mon, Mar 30, 2009 at 11:26:52PM -0400, Mike Kelly wrote:
I'm on a Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz, using a 2.6.29
vanilla kernel, x86_64. kvm userland version 84.
When I try to boot my x64 Windows XP, it gets partway through the
windows booting process, with the progress bar
74 matches
Mail list logo