On 7/26/07, Jun Koi <[EMAIL PROTECTED]> wrote:
> On 7/26/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> > Jun Koi wrote:
> > > Hi,
> > >
> > > kvm-33 crashes on my Linux box. It happens after booting for few
> > > seconds, ie not reached the prompt yet. And that never happens before
> > > with previou
Jun Koi wrote:
> On 7/26/07, Jun Koi <[EMAIL PROTECTED]> wrote:
>
>> On 7/26/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>>
>>> Jun Koi wrote:
>>>
Hi,
kvm-33 crashes on my Linux box. It happens after booting for few
seconds, ie not reached the prompt yet. And that n
Yang, Sheng wrote:
> Sorry for not explain clearly.
>
> This patch replaces vmcs_write32_fixedbits() with adjust_vmx_controls(),
It still doesn't say why, but I can now see it: this is code from Xen. I
have no objection to copying Xen code, but it needs to be documented in
the changelog, and there
He, Qing wrote:
> Avi,
> This is the updated patch for the qemu part of PIC save/restore.
> All the above patches are against lapic2 branch.
>
>
Thanks. Rebased, applied, and pushed. I fixed a minor error checking
omission in libkvm along the way.
--
error compiling committee.c: too
>> This patch replaces vmcs_write32_fixedbits() with
>adjust_vmx_controls(),
>
>It still doesn't say why, but I can now see it: this is code
>from Xen. I have no objection to copying Xen code, but it needs to be
documented in
>the changelog, and there needs to be a good reason as to why you're
>r
Li, Xin B wrote:
-static struct vmcs_descriptor {
+static struct vmcs_config {
>>> Why the name change? Just for Xen compatibility? If that's the only
>>> reason, it's insufficent.
>>>
>>>
>> If you agree the above, this becomes reasonable.
>> -Xin
>>
>>
>
> I'm
Gregory Haskins wrote:
> 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.
>
>
Many cooks on this patch...
> @@ -310,16 +301,13 @@ void kvm_io_bus_register_dev(struct kvm_io_bus *bus,
>
On 7/26/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> Jun Koi wrote:
> > On 7/26/07, Jun Koi <[EMAIL PROTECTED]> wrote:
> >
> >> On 7/26/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
> >>
> >>> Jun Koi wrote:
> >>>
> Hi,
>
> kvm-33 crashes on my Linux box. It happens after booting for few
>>>
>>> -static struct vmcs_descriptor {
>>> +static struct vmcs_config {
>>
>>Why the name change? Just for Xen compatibility? If that's the only
>>reason, it's insufficent.
>>
>
>If you agree the above, this becomes reasonable.
>-Xin
>
I'm not a English native speaker, maybe descriptor is a good
On Thu, 2007-07-26 at 00:31 -0400, Gregory Haskins wrote:
> 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.
Hi Gregory,
Great minds think alike. This is a little rough, but I decided to send
it
Rusty Russell wrote:
> On Thu, 2007-07-26 at 00:31 -0400, Gregory Haskins wrote:
>
>> 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.
>>
>
> Hi Gregory,
>
> Great minds think alike. Thi
<>-
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 and a browser.
Download your FREE copy of Splunk now >> ht
On Thu, 2007-07-26 at 13:03 +0300, Avi Kivity wrote:
> This is okay as a temporary measure, until the vcpu array is replaced by
> a vcpu pointer array (when vcpu->valid can be replaced by vcpu != NULL).
Ack
>
>
> > struct kvm *kvm;
> > struct preempt_hook preempt_hook;
> > int vcp
On Thu, 2007-07-26 at 19:50 -0400, Gregory Haskins wrote:
> 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 ha
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 to an
smp_function_call IPI that KVM does to remotely flush the VMX hardware
on shutdown. The cod
On Thu, 26 Jul 2007 11:51:19 -0400, Paul A. Karger wrote:
> The wikipedia page on KVM says that ports are underway to other non-x86
> processors. However, I can't find any mention of this on the KVM wiki.
> Do such ports exist, and if so, where can I find out about them?
> Please respond direct
<>-
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 and a browser.
Download your FREE copy of Splunk now >> htt
Apologies for double posting, but it would also be worthwhile to
mention that I can successfully run OpenBSD 64-bit with kvm enabled on
my system.
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log fil
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
On 7/26/07, Anthony Liguori <[EMAIL PROTECTED]> 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
I am trying to find a library equivalent to XenAccess for KVM. It seems
that libvirt is trying to replace some of it, but doesn't have
theintrospection capabilities that xenaccess does. In particular, I
would like to be able, in host userspace, to access the guest's memory.
Is such a capabil
Gregory Haskins wrote:
> On Thu, 2007-07-26 at 18:03 +0300, Avi Kivity wrote:
>
>> Gregory Haskins wrote:
>>
>>> We need to provide locking around the current_vmcs/VMCS interactions to
>>> protect against race conditions.
>>>
>>>
>>>
>> Can you explain the race?
>>
>
> Sure.
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
>> +-
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
> +---
> drivers/kvm/vmx.
I have rebased the patch series on top of kvm.git HEAD origin/master (before I
was on the preempt-hooks branch) and am now including a patch to cleanup a
race condition on VMX w.r.t. VMCS management. I have a third patch that
changes vcpu->_priv over to container_of as discussed, but its dependent
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
Gregory Haskins wrote:
>
>>
>>> struct kvm *kvm;
>>> struct preempt_hook preempt_hook;
>>> int vcpu_id;
>>> - union {
>>> - struct vmcs *vmcs;
>>> - struct vcpu_svm *svm;
>>> - };
>>> + void *_priv;
>>>
>>>
>> The other cooks did this by embeddin
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 traversi
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/
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 +--
Changes from v2
Patch #1: Fixed bad indent
I split the original #2 up into two patches:
Patch #2: Contains only VMX/VMCS cleanup
Patch #3: Contains a fix for VMCS the race condition previously discussed.
Patch #3 is optional given the recent discovery that the race should not cause
actual probl
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
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 CPU-x with the VMCS handling logic between the VM-b
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 | 3
On Thu, 2007-07-26 at 18:03 +0300, Avi Kivity wrote:
> Gregory Haskins wrote:
> > We need to provide locking around the current_vmcs/VMCS interactions to
> > protect against race conditions.
> >
> >
>
> Can you explain the race?
Sure. It can happen with two VMs are running simultaneously. Le
Gregory Haskins wrote:
> We need to provide locking around the current_vmcs/VMCS interactions to
> protect against race conditions.
>
>
Can you explain the race?
--
error compiling committee.c: too many arguments to function
--
Gregory Haskins wrote:
>>>
>>> Hmm..well, you still have pointers. The advantage is that they are
>>> implicitly maintained, but now you have to do pointer arithmetic to
>>> compute it. :( I personally would probably rather have the explicit
>>> management code than the run-time overhead
>>>
(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
Jun Koi wrote:
>>>
>>> I figure it out why it crashes: my guest (Linux 2.6.21) is compiled
>>> with SMP kernel. If I run qemu without -smp option, it crashes. But
>>> with -smp option, it is fine.
>>>
>>> So this is a bug, and should be fixed.
>>>
>>>
>>>
>> Yes. I updated http://kvm.qumran
Li, Xin B wrote:
>>> This patch replaces vmcs_write32_fixedbits() with
>>>
>> adjust_vmx_controls(),
>>
>> It still doesn't say why, but I can now see it: this is code
>>
> >from Xen. I have no objection to copying Xen code, but it needs to be
> documented in
>
>> the changelog, an
Hi, all
This is today's ABAT testing result against kvm.git
24beb1e24843f05c3acfd20fc2fbcf4f5ab18ec7 and kvm-userspace.git
86e8eba8f8349d2e02e3b0ae0ce7c1993f4352fb
We have added 5 new test cases for SMP guests, including boot 32bit
win2k,win2k3,and winxpsp2 with 2vcpus, run kernel build and a s
Rusty Russell wrote:
> load_pdptrs can be handed an invalid cr3, and it should not oops.
> This can happen because we injected #gp in set_cr3() after we set
> vcpu->cr3 to the invalid value, or from kvm_vcpu_ioctl_set_sregs(), or
> possibly (?) memory configuration changes after the guest did
> set
On Thu, 2007-07-26 at 10:04 -0500, Anthony Liguori wrote:
> How are you planning on going about switching to container_of()? Commit
> this, commit Rusty's stuff, then commit a fix or commit Rusty's stuff,
> then update your patch set?
My patch is less mature, and am still arguing with Avi about
On Thu, 2007-07-26 at 14:05 +0300, Avi Kivity wrote:
> Rusty Russell wrote:
> > Great minds think alike. This is a little rough, but I decided to send
> > it out tonight because it would make your life easier...
>
> What about my life? Which patch should I apply first?
Such are the responsi
Hello all,
I seem to have discovered a bug with running Windows XP on a 64-bit
AMD host. The installer begins to boot, but hangs at the message
"Setup is starting Windows."
If I run qemu with the -no-kvm switch, the installer works as expected.
This bug occurs when using both 32- and 64-bit edit
<>-
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 and a browser.
Download your FREE copy of Splunk now >> htt
The wikipedia page on KVM says that ports are underway to other non-x86
processors. However, I can't find any mention of this on the KVM wiki.
Do such ports exist, and if so, where can I find out about them?
Please respond directly, as I do not subscribe to the mailing list.
Thank you very muc
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 +--
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;
> >> /
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 data
>>};
>>
>> to move from a kvm_vcpu to a vmx
Hi,
I've been running kvm21 for a long time (just upgraded to kvm-33 with 2.6.22.1)
I have a 60GB qcow2 image, I noticed the image was growing without me
installing software on the guest os...(WIN XP)
When I select all my files and take properties (in win xp that is), it says
3.7GB, as expect
Mark Janssen wrote:
> On 7/25/07, Avi Kivity <[EMAIL PROTECTED]> wrote:
>> Fix wrote:
>> >> Can you post the guest image (if it is free and has no private data)?
>> >>
>> >
>> > Here is the test case. Image contains kernel and bootloader:
>> > http://depositfiles.com/en/files/1304964
>> >
>> >
>>
>
Cameron Villers wrote:
> Hello all,
>
> I seem to have discovered a bug with running Windows XP on a 64-bit
> AMD host. The installer begins to boot, but hangs at the message
> "Setup is starting Windows."
>
> If I run qemu with the -no-kvm switch, the installer works as expected.
>
> This bug occu
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-primi
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
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?
--
Do not meddle in the internals of kernels, for they are subtle and quick to
panic.
Rusty Russell wrote:
> I agree: Qemu supports up to 255 processors, but that's kind of silly if
> it's static. I'll leave the current limit (4) and let someone else code
> up a dynamic one.
>
>
Hopefully that someone else will address the real limits to guest
scalability as well.
(with npt/ep
Rusty Russell wrote:
> On Thu, 2007-07-26 at 14:05 +0300, Avi Kivity wrote:
>
>> Rusty Russell wrote:
>>
>>> Great minds think alike. This is a little rough, but I decided to send
>>> it out tonight because it would make your life easier...
>>>
>> What about my life? Which patc
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 to an
> smp_function_call IPI that KVM does to remotely flush the V
Paul A. Karger wrote:
> The wikipedia page on KVM says that ports are underway to other
> non-x86 processors. However, I can't find any mention of this on the
> KVM wiki.
> Do such ports exist, and if so, where can I find out about them?
> Please respond directly, as I do not subscribe to the m
Hajime Inoue wrote:
> I am trying to find a library equivalent to XenAccess for KVM. It seems
> that libvirt is trying to replace some of it, but doesn't have
> theintrospection capabilities that xenaccess does. In particular, I
> would like to be able, in host userspace, to access the guest's
Hajime Inoue wrote:
> I am trying to find a library equivalent to XenAccess for KVM. It seems
> that libvirt is trying to replace some of it, but doesn't have
> theintrospection capabilities that xenaccess does. In particular, I
> would like to be able, in host userspace, to access the guest's
Hi, I've been having some discussions about embedded hypervisors, and
one of the issues that has come up is latency for device access. This is
particularly a problem for real-time applications...
I've collected some thoughts at http://kvm.qumranet.com/kvmwiki/DirectIo
(please correct it if I've mi
On Fri, 2007-07-27 at 07:41 +0300, Avi Kivity wrote:
> Rusty Russell wrote:
> > So the in-kernel apic code has to traverse every element in the array?
> > That is clearly better because?
>
> Rusty, don't make me do this.
>
> Arrays give you random access. Hand the array an index, and it hands
Do you mean the description of patch?
Thanks
Yang, Sheng
-Original Message-
From: Avi Kivity [mailto:[EMAIL PROTECTED]
Sent: 2007年7月26日 17:50
To: Li, Xin B
Cc: Yang, Sheng; kvm-devel@lists.sourceforge.net
Subject: Re: [kvm-devel] [PATCH]Abstract vmcs feature detect part
Sure. Please upd
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 on top of
it.
I think the result is quite nice (there are som
This patch converts the vcpus array in "struct kvm" to a linked list
of VCPUs, and changes the "vcpu_create" and "vcpu_setup" hooks into
one "vcpu_create" call which does the allocation and initialization of
the vcpu (calling back into the kvm_vcpu_init core helper).
It is untested on SMP or SVM,
67 matches
Mail list logo