On 03/16/2010 02:20 AM, Jason wrote:
In comparing KVM 2.6.31.6b to XenServer 5.5.0, it seems KVM has fewer overall
VMREADs and VMWRITEs, but there are a lot of VMWRITEs to Host FS_SEL, Host
GS_SEL, Host FS_BASE, and Host GS_BASE that don't appear in Xen.
Ugh, these should definitely be elimina
Bugs item #2971075, was opened at 2010-03-16 07:02
Message generated for change (Tracker Item Submitted) made by zaphodbrx
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=893831&aid=2971075&group_id=180599
Please note that this message will contain a full copy of th
On 03/16/2010 03:21 AM, Anthony Liguori wrote:
On 03/15/2010 10:06 AM, Avi Kivity wrote:
On 03/15/2010 03:23 PM, Anthony Liguori wrote:
On 03/15/2010 08:11 AM, Avi Kivity wrote:
On 03/15/2010 03:03 PM, Joerg Roedel wrote:
I will add another project - iommu emulation. Could be very useful
f
On 03/16/2010 07:27 AM, Zhang, Yanmin wrote:
From: Zhang, Yanmin
Based on the discussion in KVM community, I worked out the patch to support
perf to collect guest os statistics from host side. This patch is implemented
with Ingo, Peter and some other guys' kind help. Yang Sheng pointed out a
cri
* Randy Dunlap [2010-03-15 08:46:31]:
> On Mon, 15 Mar 2010 12:52:15 +0530 Balbir Singh wrote:
>
> Hi,
> If you go ahead with this, please add the boot parameter & its description
> to Documentation/kernel-parameters.txt.
>
I certainly will, thanks for keeping a watch.
--
Three Cheer
* Chris Webb [2010-03-15 20:23:54]:
> Avi Kivity writes:
>
> > On 03/15/2010 10:07 AM, Balbir Singh wrote:
> >
> > >Yes, it is a virtio call away, but is the cost of paying twice in
> > >terms of memory acceptable?
> >
> > Usually, it isn't, which is why I recommend cache=off.
>
> Hi Avi. One
On 03/15/2010 07:43 PM, Christoph Hellwig wrote:
On Mon, Mar 15, 2010 at 06:43:06PM -0500, Anthony Liguori wrote:
I knew someone would do this...
This really gets down to your definition of "safe" behaviour. As it
stands, if you suffer a power outage, it may lead to guest corruption.
Whil
On 03/15/2010 10:06 AM, Avi Kivity wrote:
On 03/15/2010 03:23 PM, Anthony Liguori wrote:
On 03/15/2010 08:11 AM, Avi Kivity wrote:
On 03/15/2010 03:03 PM, Joerg Roedel wrote:
I will add another project - iommu emulation. Could be very useful
for doing device assignment to nested guests, whi
On Mon, Mar 15, 2010 at 06:43:06PM -0500, Anthony Liguori wrote:
> I knew someone would do this...
>
> This really gets down to your definition of "safe" behaviour. As it
> stands, if you suffer a power outage, it may lead to guest corruption.
>
> While we are correct in advertising a write-cach
Avi Kivity redhat.com> writes:
>
> On 03/15/2010 03:23 PM, Anthony Liguori wrote:
> > On 03/15/2010 08:11 AM, Avi Kivity wrote:
> >> Your guest wasn't doing a zillion VMREADs and VMWRITEs every exit.
> >>
> >> I plan to reduce VMREAD/VMWRITE overhead for kvm, but not much we can
> >> do for othe
On 03/15/2010 03:23 PM, Chris Webb wrote:
Avi Kivity writes:
On 03/15/2010 10:07 AM, Balbir Singh wrote:
Yes, it is a virtio call away, but is the cost of paying twice in
terms of memory acceptable?
Usually, it isn't, which is why I recommend cache=off.
Hi Avi. One
Avi Kivity writes:
> On 03/15/2010 10:07 AM, Balbir Singh wrote:
>
> >Yes, it is a virtio call away, but is the cost of paying twice in
> >terms of memory acceptable?
>
> Usually, it isn't, which is why I recommend cache=off.
Hi Avi. One observation about your recommendation for cache=none:
We
On Sat, Mar 13, 2010 at 03:00:45PM +0800, jing zhang wrote:
> From: Jing Zhang
>
> Date: Sat Mar 13 14:05:27 2010
>
> Cc: Avi Kivity
> Signed-off-by: Jing Zhang
Applied (with a better description), thanks.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a
On Fri, Mar 12, 2010 at 03:20:48PM +0100, Jan Kiszka wrote:
> Patch 1 is for upstream and should be applied to uq/master as well, patch
> 2 is for qemu-kvm only.
>
> Jan Kiszka (2):
> KVM: x86: Add debug register saving and restoring
> qemu-kvm: x86: Add support for saving&restoring debug regi
On Fri, Mar 12, 2010 at 12:59:06PM +0800, Wei Yongjun wrote:
> This patch change the errno of ioctl KVM_[UN]REGISTER_COALESCED_MMIO
> from -EINVAL to -ENXIO if no coalesced mmio dev exists.
>
> Signed-off-by: Wei Yongjun
Applied all, thanks.
--
To unsubscribe from this list: send the line "unsu
On 03/15/2010 04:27 AM, Avi Kivity wrote:
That's only beneficial if the cache is shared. Otherwise, you could
use the balloon to evict cache when memory is tight.
Shared cache is mostly a desktop thing where users run similar
workloads. For servers, it's much less likely. So a modified-gu
Hi all,
I'm considering changing much of my current infrastructure so that it runs
under an array of VM's.
I'm wondering how well database and nfs servers run under KVM. Should I put
the data on a host filesystem, or can I put it on the guest filesystem?
--
Take care and have fun,
Mike Die
On Mon, Mar 15, 2010 at 04:46:20PM +0100, Andre Przywara wrote:
> Gleb Natapov wrote:
> >If LOCK prefix is used dest arg should be memory, otherwise instruction
> >should generate #UD.
> Well, there is one exception:
> There is an AMD specific "lock mov cr0 = mov cr8" equivalence, where
> there is
On Mon, Mar 15, 2010 at 04:51:35PM +0100, Andre Przywara wrote:
> Gleb Natapov wrote:
> >This is the first series of patches that tries to cleanup emulator code.
> >This is mix of bug fixes and moving code that does emulation from x86.c
> >to emulator.c while making it KVM independent. The status o
On Mon, Mar 15, 2010 at 08:14:29AM -0500, Anthony Liguori wrote:
> On 03/15/2010 07:42 AM, Avi Kivity wrote:
>> On 03/15/2010 02:38 PM, Joerg Roedel wrote:
>>> On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
>Hi there,
>
>>
Gleb Natapov wrote:
This is the first series of patches that tries to cleanup emulator code.
This is mix of bug fixes and moving code that does emulation from x86.c
to emulator.c while making it KVM independent. The status of the patches:
works for me. realtime.flat test now also pass where it fa
On 03/15/2010 05:46 PM, Andre Przywara wrote:
Gleb Natapov wrote:
If LOCK prefix is used dest arg should be memory, otherwise instruction
should generate #UD.
Well, there is one exception:
There is an AMD specific "lock mov cr0 = mov cr8" equivalence, where
there is no memory involved (and we
On Mon, 15 Mar 2010 12:52:15 +0530 Balbir Singh wrote:
> Selectively control Unmapped Page Cache (nospam version)
>
> From: Balbir Singh
>
> This patch implements unmapped page cache control via preferred
> page cache reclaim. The current patch hooks into kswapd and reclaims
> page cache if the
Gleb Natapov wrote:
If LOCK prefix is used dest arg should be memory, otherwise instruction
should generate #UD.
Well, there is one exception:
There is an AMD specific "lock mov cr0 = mov cr8" equivalence, where
there is no memory involved (and we intercept this). I am not sure if
anyone actua
On 03/15/2010 03:23 PM, Anthony Liguori wrote:
On 03/15/2010 08:11 AM, Avi Kivity wrote:
On 03/15/2010 03:03 PM, Joerg Roedel wrote:
I will add another project - iommu emulation. Could be very useful
for doing device assignment to nested guests, which could make
testing a lot easier.
Our ex
On 03/15/2010 04:38 PM, Gleb Natapov wrote:
This is the first series of patches that tries to cleanup emulator code.
This is mix of bug fixes and moving code that does emulation from x86.c
to emulator.c while making it KVM independent. The status of the patches:
works for me. realtime.flat test n
On Mon, Mar 15, 2010 at 02:03:11PM +0100, Joerg Roedel wrote:
> On Mon, Mar 15, 2010 at 05:53:13AM -0700, Muli Ben-Yehuda wrote:
> > On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
> > > On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
> >
> > > > Hi there,
> > > >
> > > > Our wiki
Eliminate the need to call back into KVM to get it from emulator.
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h |3 ++-
arch/x86/kvm/emulate.c | 12 ++--
arch/x86/kvm/x86.c |1 +
3 files changed, 9 insertions(+), 7 deletions(-)
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 1393bf0..b89a8f2 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -2563,7 +2563,7 @@ twobyte
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 10 +-
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index db4776c..702bfff 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -1508,7 +1508,7 @@ s
If CR4.DE=1 access to registers DR4/DR5 cause #UD.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 18 --
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 836e97b..5afddcf 100644
--- a/arch/x86/kvm/em
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h |1 +
arch/x86/kvm/emulate.c | 15 ---
arch/x86/kvm/x86.c |6 ++
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/arch/x86/include/asm/kvm_emulate.h
b/arch/x86
If LOCK prefix is used dest arg should be memory, otherwise instruction
should generate #UD.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index b89a8f2..46a7ee3 100
Add decoding of X,Y parameters from Intel SDM which are used by string
instruction to specify source and destination. Use this new decoding
to implement movs, cmps, stos, lods in a generic way.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 125 +---
During rep emulation access length to RCX depends on current address
mode.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 0b70a36..4dce805 100644
--- a/arch/x
Implement emulation of 16/32 bit task switch in emulator.c
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h |5 +
arch/x86/kvm/emulate.c | 563
2 files changed, 568 insertions(+), 0 deletions(-)
diff --git a/arch/x86/includ
c->eip is never written back in case of emulation failure, so no need to
set it to old value.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |9 +
1 files changed, 1 insertions(+), 8 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 1bedbb6..541
Provide get_cached_descriptor(), set_cached_descriptor(),
get_segment_selector(), set_segment_selector(), get_gdt(),
write_std() callbacks.
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h | 16 +
arch/x86/kvm/x86.c | 130 +++--
Currently emulation is done outside of emulator so things like doing
ins/outs to/from mmio are broken it also makes it hard (if not impossible)
to implement single stepping in the future. The implementation in this
patch is not efficient since it exits to userspace for each IO while
previous implem
Currently when string instruction is only partially complete we go back
to a guest mode, guest tries to reexecute instruction and exits again
and at this point emulation continues. Avoid all of this by restarting
instruction without going back to a guest mode, but return to a guest
mode each 1024 i
Unify all conditions that get us back into emulator after returning from
userspace.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/x86.c | 32 ++--
1 files changed, 6 insertions(+), 26 deletions(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index cd0043a..1
Remove old task switch code from x86.c
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/x86.c | 557 ++--
1 files changed, 17 insertions(+), 540 deletions(-)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 2ef83db..7d1b481 100644
--- a/arc
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 15 ---
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 6ebd642..a166235 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -2407,13 +2407,
All struct operand fields are initialized during decoding for all
operand types except OP_MEM, but there is no reason for that. Move
OP_MEM operand initialization into decoding stage for consistency.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 66 +-
To optimize "rep ins" instruction do IO in big chunks ahead of time
instead of doing it only when required during instruction emulation.
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h |7 ++
arch/x86/kvm/emulate.c | 43 +++
When x86_emulate_insn() does not know how to emulate instruction it
exits via cannot_emulate label in all cases except when emulating
grp3. Fix that.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 12
1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/arch/x8
in/out emulation is broken now. The breakage is different depending
on where IO device resides. If it is in userspace emulator reports
emulation failure since it incorrectly interprets kvm_emulate_pio()
return value. If IO device is in the kernel emulation of 'in' will do
nothing since kvm_emulate_
Use this callback instead of directly call kvm function. Also rename
realmode_(set|get)_cr to emulator_(set|get)_cr since function has nothing
to do with real mode.
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h |3 +-
arch/x86/include/asm/kvm_host.h|2 -
arch/x86
Return X86EMUL_PROPAGATE_FAULT is fault was injected. Also inject #UD
for those instruction when appropriate.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c | 17 +++--
1 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emu
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index fa4604e..836e97b 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -2520,6 +2520,13 @@ two
Resent spec says that for 0f (20|21|22|23) the 2 bits in the mod field
are ignored. Interestingly enough older spec says that 11 is only valid
encoding.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |8
1 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/arch/x86
Use (get|set)_cr callback to emulate lmsw inside emulator.
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_host.h |2 --
arch/x86/kvm/emulate.c |4 ++--
arch/x86/kvm/x86.c |7 ---
3 files changed, 2 insertions(+), 11 deletions(-)
diff --git a/arch/
mov r/m, sreg generates #UD ins sreg is incorrect.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |7 +++
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 2c27aa4..c3b9334 100644
--- a/arch/x86/kvm/emulate.c
+++
It is undefined and should generate #UD.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index c3b9334..7c7debb 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm
This is the first series of patches that tries to cleanup emulator code.
This is mix of bug fixes and moving code that does emulation from x86.c
to emulator.c while making it KVM independent. The status of the patches:
works for me. realtime.flat test now also pass where it failed before.
ChangeLo
Set correct operation length. Add RAX (64bit) handling.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |7 +--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 2832a8c..0b70a36 100644
--- a/arch/x86/kvm/emulate.c
Check return value against correct define instead of open code
the value.
Signed-off-by: Gleb Natapov
---
arch/x86/kvm/emulate.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 4dce805..670ca8f 100644
--- a/arch/x86/
Mov reg, cr instruction doesn't change flags in any meaningful way, so
no need to update rflags after instruction execution.
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_host.h |3 +--
arch/x86/kvm/emulate.c |3 +--
arch/x86/kvm/x86.c |4 +---
3 file
On Mon, Mar 15, 2010 at 08:59:10AM -0500, Anthony Liguori wrote:
> On 03/15/2010 08:46 AM, Espen Berg wrote:
> >In our KVM system we have two iSCSI backends (master/slave
> >configuration) with failover and two KVM hosts supporting live migration.
> >
> >The iSCSI volumes are shared by the host as
On 03/15/2010 08:46 AM, Espen Berg wrote:
In our KVM system we have two iSCSI backends (master/slave
configuration) with failover and two KVM hosts supporting live migration.
The iSCSI volumes are shared by the host as a block device in KVM, and
the volumes are available on both frontends. Afte
On 03/15/2010 08:24 AM, Joerg Roedel wrote:
On Mon, Mar 15, 2010 at 03:11:42PM +0200, Avi Kivity wrote:
On 03/15/2010 03:03 PM, Joerg Roedel wrote:
I will add another project - iommu emulation. Could be very useful
for doing device assignment to nested guests, which could mak
On 03/13/10 09:54, Avi Kivity wrote:
>
> If the slowdown is indeed due to I/O, LVM (with cache=off) should
> eliminate it completely.
>
As promised I have installed LVM: The difference is remarkable.
My test case (running 8 vhosts in parallel, each building a Linux
kernel) just works. There is no
In our KVM system we have two iSCSI backends (master/slave
configuration) with failover and two KVM hosts supporting live migration.
The iSCSI volumes are shared by the host as a block device in KVM, and
the volumes are available on both frontends. After a reboot one of the
KVMs where not able t
On Mon, Mar 15, 2010 at 03:11:42PM +0200, Avi Kivity wrote:
> On 03/15/2010 03:03 PM, Joerg Roedel wrote:
>>
I will add another project - iommu emulation. Could be very useful
for doing device assignment to nested guests, which could make
testing a lot easier.
>>> Our e
On 03/15/2010 08:11 AM, Avi Kivity wrote:
On 03/15/2010 03:03 PM, Joerg Roedel wrote:
I will add another project - iommu emulation. Could be very useful
for doing device assignment to nested guests, which could make
testing a lot easier.
Our experiments show that nested device assignment is
On Mon, Mar 15, 2010 at 02:16:01PM +0100, Andre Przywara wrote:
> Gleb,
>
> what is the purpose of this patch? Is this a preparation for
> something upcoming? I don't see a reason to change this, in my eyes
> it is not a simplification.
>
To make emulator independent of KVM. All direct calls from
Gleb,
what is the purpose of this patch? Is this a preparation for something
upcoming? I don't see a reason to change this, in my eyes it is not a
simplification.
Regards,
Andre.
Gleb Natapov wrote:
Signed-off-by: Gleb Natapov
---
arch/x86/include/asm/kvm_emulate.h |1 +
arch/x86/kvm
On 03/15/2010 07:42 AM, Avi Kivity wrote:
On 03/15/2010 02:38 PM, Joerg Roedel wrote:
On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
Hi there,
Our wiki page for the Summer of Code 2010 is doing quite well:
http://wiki.qemu.org
On 03/15/2010 03:06 PM, Andre Przywara wrote:
Gleb Natapov wrote:
Use this callback instead of directly call kvm function. Also rename
realmode_(set|get)_cr to emulator_(set|get)_cr since function has
nothing
to do with real mode.
Do you mind removing the static before emulator_{set,get}_cr an
On 03/15/2010 03:03 PM, Joerg Roedel wrote:
I will add another project - iommu emulation. Could be very useful
for doing device assignment to nested guests, which could make
testing a lot easier.
Our experiments show that nested device assignment is pretty much
required for I/O perfor
On Mon, Mar 15, 2010 at 02:06:48PM +0100, Andre Przywara wrote:
> Gleb Natapov wrote:
> >Use this callback instead of directly call kvm function. Also rename
> >realmode_(set|get)_cr to emulator_(set|get)_cr since function has nothing
> >to do with real mode.
> Do you mind removing the static befor
kvm_coalesced_mmio_init() keeps to hold the addresses of a coalesced
mmio ring page and dev even after it has freed them.
Also, if this function fails, though it might be rare, it seems to be
suggesting the system's serious state: so we'd better stop the works
following the kvm_creat_vm().
This p
Gleb Natapov wrote:
Use this callback instead of directly call kvm function. Also rename
realmode_(set|get)_cr to emulator_(set|get)_cr since function has nothing
to do with real mode.
Do you mind removing the static before emulator_{set,get}_cr and marking
it EXPORT_SYMBOL? Then one could use i
On Mon, Mar 15, 2010 at 05:53:13AM -0700, Muli Ben-Yehuda wrote:
> On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
> > On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
>
> > > Hi there,
> > >
> > > Our wiki page for the Summer of Code 2010 is doing quite well:
> > >
> > >http://wiki.qe
On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
> On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
> > Hi there,
> >
> > Our wiki page for the Summer of Code 2010 is doing quite well:
> >
> >http://wiki.qemu.org/Google_Summer_of_Code_2010
>
> I will add another project - iommu emulati
On Mon, Mar 15, 2010 at 04:30:47AM +, Daniel K. wrote:
> Joerg Roedel wrote:
>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>> index 2883ce8..9f8b02d 100644
>> --- a/arch/x86/kvm/x86.c
>> +++ b/arch/x86/kvm/x86.c
>> @@ -314,6 +314,19 @@ void kvm_inject_page_fault(struct kvm_vcpu *vcpu,
On 03/15/2010 12:54 PM, Antoine Leca wrote:
When doing switch, the cached segment selectors are preserved,
which allows one to use protected mode segments in real-address mode
(this is called unreal mode).
Now this is a by-product of the implementation inside the BIOS.
In fact, even if t
On 03/15/2010 02:38 PM, Joerg Roedel wrote:
On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
Hi there,
Our wiki page for the Summer of Code 2010 is doing quite well:
http://wiki.qemu.org/Google_Summer_of_Code_2010
On Mon, Mar 15, 2010 at 02:25:41PM +0200, Avi Kivity wrote:
> On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
>> Hi there,
>>
>> Our wiki page for the Summer of Code 2010 is doing quite well:
>>
>> http://wiki.qemu.org/Google_Summer_of_Code_2010
>>
>
> I will add another project - iommu emul
On 03/10/2010 11:30 PM, Luiz Capitulino wrote:
Hi there,
Our wiki page for the Summer of Code 2010 is doing quite well:
http://wiki.qemu.org/Google_Summer_of_Code_2010
I will add another project - iommu emulation. Could be very useful for
doing device assignment to nested guests, wh
Currently when we emulate a locked operation into a shadowed guest page
table, we perform a write rather than a true atomic. This is indicated
by the "emulating exchange as write" message that shows up in dmesg.
In addition, the pte prefetch operation during invlpg suffered from a
race. This was
kvm_mmu_pte_write() reads guest ptes in two different occasions, both to
allow a 32-bit pae guest to update a pte with 4-byte writes. Consolidate
these into a single read, which also allows us to consolidate another read
from an invlpg speculating a gpte into the shadow page table.
Signed-off-by:
Currently emulated atomic operations are immediately followed by a non-atomic
operation, so that kvm_mmu_pte_write() can be invoked. This updates the mmu
but undoes the whole point of doing things atomically.
Fix by only performing the atomic operation and the mmu update, and avoiding
the non-ato
The update_pte() path currently uses a nontrapping spte when a nonpresent
(or nonaccessed) gpte is written. This is fine since at present it is only
used on sync pages. However, on an unsync page this will cause an endless
fault loop as the guest is under no obligation to invlpg a gpte that
trans
Once upon a time, locked operations were emulated while holding the mmu mutex.
Since mmu pages were write protected, it was safe to emulate the writes in
a non-atomic manner, since there could be no other writer, either in the
guest or in the kernel.
These days emulation takes place without holdin
Commit fb341f57 removed the pte prefetch on guest invlpg, citing guest races.
However, the SDM is adamant that prefetch is allowed:
"The processor may create entries in paging-structure caches for
translations required for prefetches and for accesses that are a
result of speculative execut
On 03/15/2010 12:16 PM, Marcelo Tosatti wrote:
On Sun, Mar 14, 2010 at 09:03:47AM +0200, Avi Kivity wrote:
On 03/10/2010 04:50 PM, Avi Kivity wrote:
Currently when we emulate a locked operation into a shadowed guest page
table, we perform a write rather than a true atomic. This is in
On 03/15/2010 01:02 PM, Andre Przywara wrote:
Gleb Natapov wrote:
Use (get|set)_cr callback to emulate lmsw inside emulator.
I see that vmx.c:handle_cr() is the only other user of kvm_lmsw(). If
we fix this place similar like you did below, we could get rid of
kvm_lmsw() entirely. But I am not
Avi Kivity wrote on 2010-03-10 13:03:25 +0200:
> On 03/10/2010 12:26 PM, Erik van der Kouwe wrote:
>> I've submitted this bug report a week ago:
>> http://sourceforge.net/tracker/?func=detail&aid=2962575&group_id=180599&atid=893831
>>
>
> MINIX is using big real mode which is currently not well
Gleb Natapov wrote:
Use (get|set)_cr callback to emulate lmsw inside emulator.
I see that vmx.c:handle_cr() is the only other user of kvm_lmsw(). If we
fix this place similar like you did below, we could get rid of
kvm_lmsw() entirely. But I am not sure whether it's OK to remove an
exported sy
Avi Kivity wrote:
On 03/15/2010 10:33 AM, Marcelo Tosatti wrote:
Are there any good ways to solve this kind of problems?
You can introduce a new get_dirty_log ioctl that passes the address
of the next bitmap in userspace, and use it (after pinning with
get_user_pages), instead of vmallo
* Avi Kivity [2010-03-15 11:27:56]:
> >>>The knobs are for
> >>>
> >>>1. Selective enablement
> >>>2. Selective control of the % of unmapped pages
> >>An alternative path is to enable KSM for page cache. Then we have
> >>direct read-only guest access to host page cache, without any guest
> >>mod
On Mon, Mar 15, 2010 at 12:24:43PM +0200, Avi Kivity wrote:
> On 03/15/2010 12:19 PM, Gleb Natapov wrote:
> >On Mon, Mar 15, 2010 at 12:15:22PM +0200, Avi Kivity wrote:
> >>On 03/15/2010 12:07 PM, Gleb Natapov wrote:
> Or we can make the buffer larger for everyone (outside this patchset
> t
On 03/15/2010 12:19 PM, Gleb Natapov wrote:
On Mon, Mar 15, 2010 at 12:15:22PM +0200, Avi Kivity wrote:
On 03/15/2010 12:07 PM, Gleb Natapov wrote:
Or we can make the buffer larger for everyone (outside this patchset
though).
I am not sure what do you mean here. IN
On Mon, Mar 15, 2010 at 12:15:22PM +0200, Avi Kivity wrote:
> On 03/15/2010 12:07 PM, Gleb Natapov wrote:
> >
> >>Or we can make the buffer larger for everyone (outside this patchset
> >>though).
> >>
> >I am not sure what do you mean here. INS read ahead and MMIO read cache are
> >different beasts
On Sun, Mar 14, 2010 at 09:03:47AM +0200, Avi Kivity wrote:
> On 03/10/2010 04:50 PM, Avi Kivity wrote:
> >Currently when we emulate a locked operation into a shadowed guest page
> >table, we perform a write rather than a true atomic. This is indicated
> >by the "emulating exchange as write" messa
On 03/15/2010 12:07 PM, Gleb Natapov wrote:
Or we can make the buffer larger for everyone (outside this patchset
though).
I am not sure what do you mean here. INS read ahead and MMIO read cache are
different beasts. Former is needed to speed-up string pio reads, later
(not yet implement
On Mon, Mar 15, 2010 at 11:56:32AM +0200, Avi Kivity wrote:
> On 03/15/2010 11:44 AM, Gleb Natapov wrote:
> >On Mon, Mar 15, 2010 at 09:44:26AM +0200, Avi Kivity wrote:
> >>On 03/14/2010 08:06 PM, Gleb Natapov wrote:
> Suggest simply reentering every N executions.
>
> >>>This restart mecha
On 03/15/2010 11:44 AM, Gleb Natapov wrote:
On Mon, Mar 15, 2010 at 09:44:26AM +0200, Avi Kivity wrote:
On 03/14/2010 08:06 PM, Gleb Natapov wrote:
Suggest simply reentering every N executions.
This restart mechanism is, in fact, needed for ins read ahead to work.
After re
On Mon, Mar 15, 2010 at 09:44:26AM +0200, Avi Kivity wrote:
> On 03/14/2010 08:06 PM, Gleb Natapov wrote:
> >>Suggest simply reentering every N executions.
> >>
> >This restart mechanism is, in fact, needed for ins read ahead to work.
> >After reading ahead from IO port we need to avoid entering de
1 - 100 of 122 matches
Mail list logo