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
---
client/tests/kvm_runtest_2/kvm_preprocessing.py |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/client/tests/kvm_runtest_2/kvm_preprocessing.p
Gleb Natapov wrote:
Signed-off-by: Gleb Natapov
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 +=
ktime_to_ns(ktime_sub(kt
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 the
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 fu
>
> 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
Date: Mon Mar 30 16:57:39 2009 +0800
Emulate #P
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.
Something missing? Here is the
Dong, Eddie wrote:
> This is followup of rsvd_bits emulation.
>
Base on new rsvd_bits emulation patch.
thx, eddie
commit 2c1472ef2b9fd87a261e8b58a7db11afd6a111dc
Author: root
Date: Mon Mar 30 17:05:47 2009 +0800
Use rsvd_bits_mask in load_pdptrs for cleanup with EXB bit considered.
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=detail&aid=2721640&group_id=180599&atid=893831
>
> This is the architectural performance counting msr which was enabled in
> 4f76231 (KVM: x86: Ignor
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.
So
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 |
+ rs
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
>> assi
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 compi
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 siz
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 no
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
---
arch/x86/kvm/vmx.c | 17 +++--
1 files changed, 11 insertions(+), 6 deletions(-)
Also fix a bug when NMI could be dropped on exit. Although this should
never happen in practice.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/vmx.c | 43 +--
1 files changed, 25 insertions(+), 18 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/
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
---
arch/x86/kvm/vmx.c |7 ---
1 files changed, 0 insertions(+),
Back link is written to a wrong TSS now.
Signed-off-by: Gleb Natapov
---
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
--- a/arch/x86/kvm/x
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 N
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 c
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 i
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 (nee
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 |
>> +
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=detail&aid=2721640&group_id=180599&atid=893831
This is the architectural performance counting msr which was enabled in
4f7623
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). Th
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 bit
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 bit
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=detail&aid=2721640&group_id=180599&atid=893831
>>> Thi
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 disab
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 Machi
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 ((eax.split
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?
cac
On Mon, Mar 30, 2009 at 10:15 AM, Tomasz Chmielewski 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 keep more of the
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 o
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. Ha
Avi Kivity wrote:
> Gleb Natapov wrote:
>> Signed-off-by: Gleb Natapov
>>
>
> 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
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 i
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 emula
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=detail&atid=893831&aid=2681442&group_i
Nikola Ciprich 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 preemptible
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=detail&atid=893831&aid=2517725&group_id=180599
Please note that this message will contain a full copy of the comment t
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 running on the host, and what needs to be on the remote access
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 [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 running on the ho
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 already
Ryan Harper wrote:
* Bill Davidsen [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 runn
Ryan Harper wrote:
* Bill Davidsen [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 r
On Mon, Mar 30, 2009 at 6:12 PM, Bill Davidsen 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
409
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 might
Gleb Natapov 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:
>>
>> https://sourceforge.net/tracker/?func=detail&
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 an
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 h
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 pr
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().
note
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 increa
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
---
arch/x86/kvm/mmu.c
this is needed for kvm if it want ksm to directly map pages into its
shadow page tables.
Signed-off-by: Izik Eidus
---
arch/x86/include/asm/kvm_host.h |1 +
arch/x86/kvm/mmu.c | 68 +++
virt/kvm/kvm_main.c | 14
3 file
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 +++-
user/config-x8
Signed-off-by: Izik Eidus
---
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
new file mode 1006
userspace tool to control the ksm kernel thread
Signed-off-by: Izik Eidus
---
user/Makefile |6 +++-
user/config-x86-common.mak |2 +-
user/ksmctl.c | 69
3 files changed, 75 insertions(+), 2 deletions(-)
create mo
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 th
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 anyth
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 not
On Tue, 31 Mar 2009 02:59:20 +0300
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.
>
>
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 == 0x21
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 -no-k
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 IA32_EFER.LMA
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 ba
78 matches
Mail list logo