Since a hypercall may span two pages and is a gva, we need a function to write
to a gva that may span multiple pages. emulator_write_phys() seems like the
logical choice for this.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
index
with this program; if not, write to the Free Software
+ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Copyright IBM Corporation, 2007
+ * Authors: Anthony Liguori [EMAIL PROTECTED]
+ */
+
+#include linux/kernel.h
+#include linux/kvm_para.h
+
+/*
+ * No need for any IO
This patchset refactors KVM's paravirtualization support to better support
guest SMP and cross platform migration. It also introduces a bare-bones KVM
paravirt_ops implementation.
I've tested this on VT and it works nicely. I'm having trouble getting a
bzImage to boot on SVM so I haven't been
with a new exit type
similar to how hypercalls work today?
Regards,
Anthony Liguori
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events
On Mon, 2007-08-27 at 20:36 +0300, Avi Kivity wrote:
Anthony Liguori wrote:
On Mon, 2007-08-27 at 19:47 +0300, Avi Kivity wrote:
Avi Kivity wrote:
Thinking a little more about this, it isn't about handling hypercalls
in userspace, but about handling a virtio sync
On Mon, 2007-08-27 at 20:51 +0300, Avi Kivity wrote:
Anthony Liguori wrote:
On Mon, 2007-08-27 at 20:36 +0300, Avi Kivity wrote:
Yes, that would be better except that the latency may be unacceptable.
Hmm. Good point. I keep saying kvm can have great I/O because
On Mon, 2007-08-27 at 18:45 +0300, Avi Kivity wrote:
Anthony Liguori wrote:
Since a hypercall may span two pages and is a gva, we need a function to
write
to a gva that may span multiple pages. emulator_write_phys() seems like the
logical choice for this.
@@ -962,8 +962,35
On Mon, 2007-08-27 at 18:45 +0300, Avi Kivity wrote:
Anthony Liguori wrote:
Since a hypercall may span two pages and is a gva, we need a function to
write
to a gva that may span multiple pages. emulator_write_phys() seems like the
logical choice for this.
@@ -962,8 +962,35
A very simple paravirt_ops implementation for KVM. Future patches will add
more sophisticated optimizations. The goal of having this presenting this now
is to validate the new hypercall infrastructure and to make my patch queue
smaller.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff
This patchset refactors KVM's paravirtualization support to better support
guest SMP and cross platform migration. It also introduces a bare-bones KVM
paravirt_ops implementation.
I've tested this on VT and it works nicely. I'm having trouble getting a
bzImage to boot on SVM so I haven't been
kvm_para.h #include-able from userspace.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index a42a6f3..38c0eaf 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -46,6 +46,7 @@
#define KVM_MAX_CPUID_ENTRIES 40
#define DE_VECTOR 0
+#define
userspace
or kernelspace doesn't support paravirtualization.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c
index 491c32c..1c93388 100644
--- a/qemu/qemu-kvm.c
+++ b/qemu/qemu-kvm.c
@@ -1103,12 +1103,18 @@ static void do_cpuid_ent(struct
here is to cover our asses and allow userspace
to choose which method it wants to use; and we should start with the
guest exiting to userspace to avoid the costs I mentioned.
I agree that we should start with an exit and then later add an eventfd
mechanism if it is needed.
Regards,
Anthony
the efer MSR stuff changed recently, anyone have any thought on
what's wrong?
I'll start bisecting if noone has any ideas.
Regards,
Anthony Liguori
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log
.
Regards,
Anthony Liguori
-
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
kvm_hypercall(svm-vcpu, kvm_run);
Can you split this out and submit the patch separately. This is
actually a pretty nasty bug as SVM doesn't check for CPL=0 in hardware.
This patch is independent of your series.
Regards,
Anthony Liguori
-
In simplicity there is elegance.
Dor Laor
FWIW, I don't see 2/4 of this series.
Regards,
Anthony Liguori
On Fri, 2007-08-24 at 16:56 -0700, Dor Laor wrote:
The following patch set add some hypercall functionality:
- Improve/ease userspace hypercall handling
- Add hypercall functions for x86_64 and i386.
- Add registration
Ignore my last email about this patch not existing :-)
Regards,
Anthony Liguori
On Fri, 2007-08-24 at 16:58 -0700, Dor Laor wrote:
Since some hypercalls can be handled in userspace, it needs
to include kvm_para too. Chande kernel types into user and
add includes for them and for page_size
mechanism. The virtio network driver should register the
fact that it's a virtio device, not which hypercalls it cares about.
I'm not sure you gain anything by doing the virtio infrastructure in a
module either. If anything, a config option in kvm.ko would suffice.
Regards,
Anthony Liguori
On Thu, 2007-08-23 at 12:08 -0700, Chuan-kai Lin wrote:
On 8/22/07, Anthony Liguori [EMAIL PROTECTED] wrote:
Hrm, it looks like it's the BIOS. Using the BIOS in qemu-0.9.0, -boot n
works with
x86_64 but the bios installed by KVM doesn't work.
Yeah, it does seem to be the case. I ran
since KVM uses that by default now.
Regards,
Anthony Liguori
On Mon, 2007-08-13 at 10:22 -0700, Chuan-kai Lin wrote:
On 8/13/07, Avi Kivity [EMAIL PROTECTED] wrote:
Anthony Liguori wrote:
Should be:
} else
[other indentation errors there too]
My apologies. Webmail is probably
guard dynticks with #ifdef? Is there any reason why you
wouldn't want to use dynticks?
Regards,
Anthony Liguori
Luca
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop
) {
The '{' should be on the next line.
The rest looks fine.
Regards,
Anthony Liguori
+if (!alarm_has_dynticks(t))
+return;
+
+t-rearm(t);
+}
+
+/* TODO: MIN_TIMER_REARM_US should be optimized */
+#define MIN_TIMER_REARM_US 250
+
static struct qemu_alarm_timer
that comes in Feisty is pretty old. Gutsy currently has
kvm-28 which is relatively recent. Most importantly, it has a new
enough version such that the ABI between kernel space and user space is
stable.
Ubuntu users won't face these incompatibility issues once Gutsy is
released.
Regards,
Anthony
!= ss. I suspect this is why the BOCHS bios
code goes out of it's way to pass everything by value (and why there are
so many functions with a huge number of arguments).
I've had this issue myself with the SCSI boot ROM.
Regards,
Anthony Liguori
void set_e820_range(ES, DI, start, end, extra_start
On Mon, 2007-08-13 at 02:34 -0300, Jorge Lucángeli Obes wrote:
On 8/11/07, Anthony Liguori [EMAIL PROTECTED] wrote:
On Sat, 2007-08-11 at 22:28 +0100, Philip Boulain wrote:
This works, so long as qemu disregards -read-args-from-image unless it's
being called as an interpreter. Otherwise
image. It's not just about storing said options in
a file.
Regards,
Anthony Liguori
I wanted an image to be self-contained as much as possible.
That's what I set to achieve.
Which tends to collect all the complexity in a single piece.
That seems to be the common problem of the option
memory boxes and let you know our results.
Regards,
Anthony Liguori
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration
us to. Seems like this logic is best suited to be in QEMU to me.
Otherwise, this page seems pretty good to me.
There's some whitespace damage in this patch to btw.
Regards,
Anthony Liguori
this is request for comment, so any idea you have please write to me.
thanks
,
Anthony Liguori
What do you guys think? I'm partial to 1 or 2. Since the beginning my
approach was that of a simple solution for a simple feature.
Cheers,
Jorge
-
This SF.net email is sponsored by: Splunk Inc.
Still
.
A managed system will want to supply arguments out of a central
database. For a management-less use case, the config file is a hassle.
As long as all options are still settable via command line (or stdio),
then it's not at all a hassle.
Regards,
Anthony Liguori
Avi Kivity wrote:
Anthony Liguori wrote:
Avi Kivity wrote:
This is a big effort but a config file is the right long term
solution.
For which use case? management-full or management-less?
Both. A config file will be useful not just for expressing the
functionality we have
.
If so, how would I do this: E.g. can I just pass the pointer, and then
do gva_to_hpa() on the host? Or do I need to prep the pointer before
sending it?
There's no need to prep provided that you know the va is mapped into
memory in the guest.
Regards,
Anthony Liguori
TIA
-Greg
Chuan-kai Lin wrote:
From: Chuan-kai Lin [EMAIL PROTECTED]
This patch is based on the one Anthony Liguori submitted to kvm-devel
on July 2nd, which fixes PXE booting with KVM enabled but breaks PXE
booting when not using KVM. I simplified Anthony's patch and
duplicated
This should go through qemu-devel BTW. Please submit there and I'll
provide comments.
Regards,
Anthony Liguori
Jorge Lucángeli Obes wrote:
This patch adds an extra 'annot' field to qcow2 snapshots, and updates
serialization functions.
Signed-off-by: Jorge Lucángeli Obes [EMAIL PROTECTED
Avi Kivity wrote:
Daniel P. Berrange wrote:
On Tue, Aug 07, 2007 at 07:10:17AM +0300, Avi Kivity wrote:
Anthony Liguori wrote:
I don't think adding annotations as snapshots is the right
approach. I think proper support should be added in the header. I
wouldn't be too concerned
for
breakage.
Regards,
Anthony Liguori
Jorge Lucángeli Obes wrote:
Hi Avi, hi all,
I've started some (very minor) groundwork for this task. My idea was
to add an extra annotation field in qcow2 snapshots. In this way, a
snapshot can hold abitrary information; for example, command line
arguments
-dev packages. If nobody is, and if there's
any interest, I can try to spend some time doing it at least for i386
packages.
If you just apt-get build-dep kvm then you should have no problem
building kvm from source.
Regards,
Anthony Liguori
--
Scott Lerman
Dimitry Golubovsky wrote:
Anthony,
On 8/1/07, Anthony Liguori [EMAIL PROTECTED] wrote:
feature request: a virtual character device (sort of a virtual serial
line) that the guest OS might use to communicate with the QEMU
monitor. That might solve many problems.
Can you provide
Dimitry Golubovsky wrote:
Anthony,
On 8/1/07, Anthony Liguori [EMAIL PROTECTED] wrote:
Why are you using a setuid wrapper instead of just changing ownership of
/dev/kvm?
Ownership of /dev/kvm is adjusted to be of group kvm (for example)
and all users allowed to use
Dimitry Golubovsky wrote:
Anthony,
On 8/1/07, Anthony Liguori [EMAIL PROTECTED] wrote:
Why are you using a setuid wrapper instead of just changing ownership of
/dev/kvm?
Ownership of /dev/kvm is adjusted to be of group kvm (for example)
and all users allowed to use
an lvalue. So I
would change this to:
struct vcpu_svm *svm = svm(vcpu);
svm-vmcb-control.event_inj = ;
I think this is much easier to grok than having svm(vcpu) calls all over
the place as psuedo-lvalues.
Regards,
Anthony Liguori
memory.
Is such a capability possible within KVM?
This library scares me tremendously but it should be possible to port it
to KVM. The monitor provides an interface to read/write physical memory
so that's probably the most natural place to interact.
Regards,
Anthony Liguori
Thanks
that it offers an API for doing it.
Regards,
Anthony Liguori
Thanks,
-Hajime Inoue
-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events
not a lot of that).
Regards,
Anthony Liguori
Thank you.
-Original Message-
From: Anthony Liguori [mailto:[EMAIL PROTECTED]
Sent: 2007年7月25日 11:20
To: Zhang, Jingke
Cc: kvm-devel@lists.sourceforge.net
Subject: Re: [kvm-devel] remoted migration KVM-guest failed
Zhang
generalizes nicely
to other things like SCSI boot.
Regards,
Anthony Liguori
bt it still needs a boot sector to hand to the bios so that it knows
where the code got loaded into ram. This patch makes a fake one just
before its needed.
I never though of the /dev/null trick. :)
Evan
On 7/25/07
the right thing to do would be to use an option ROM instead of a
fake boot sector.
Regards,
Anthony Liguori
I've tested this on a few boxes to allow a kernel/initramfs system to
boot without needing a specified block device(it automatically creates
a small one) and for installing a usable
Joshua Brindle wrote:
James Morris wrote:
On Sat, 21 Jul 2007, Anthony Liguori wrote:
Can you already write an selinux policy that changes the label of a
process when it open()s a different file?
No, and you normally want to do this over an exec anyway, to
ensure the new
David Windsor wrote:
On 7/21/07 2:21 AM, Avi Kivity [EMAIL PROTECTED] wrote:
Anthony Liguori wrote:
James Morris wrote:
On Fri, 20 Jul 2007, Daniel P. Berrange wrote:
It could be - if your put the policy at the control API layer instead of
in QEMU
of problem? Without a way to
reproduce the corruption, I think it will be very difficult to debug
the problem.
What sort of disk are you using (qcow2?)
Regards,
Anthony Liguori
Regards,
Aurelien
Aurelien Jarno wrote:
On Sat, Jul 21, 2007 at 12:46:29PM -0500, Anthony Liguori wrote:
Aurelien Jarno wrote:
Hi all,
For a long time I am seeing data corruption in guests when using KVM,
but I am convinced only since today that the problem comes from KVM.
The symptoms are a few
that uses the KVM
kernel interfaces.
Regards,
Anthony Liguori
- James
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct
David Windsor wrote:
On 7/20/07, Anthony Liguori [EMAIL PROTECTED] wrote:
David Windsor wrote:
Hi,
After a bit more discussion about integrating SELinux and KVM, it
seems that
there is little interest in adding enforcement hooks to KVM as it
stands.
Once KVM gets some type of inter
Jeff Dike wrote:
On Tue, Jul 17, 2007 at 09:15:51AM -0500, Anthony Liguori wrote:
I'm planning on breaking this interface again since the new hypercall
API only takes 4 arguments instead of 6.
Is anything written anywhere about this hypercall interface?
I've posted patches
Jeff Dike wrote:
On Wed, Jul 18, 2007 at 11:28:18AM -0500, Anthony Liguori wrote:
Within the kernel right (VMCALL is only usable in ring 1).
Yup.
Is it
terribly important to be able to pass through the syscall arguments in
registers verses packing them in a data structure
/vdisk.img -m 384
Try:
/usr/local/kvm/bin/qemu-system-x86_64 -usb -usbdevice disk:/dev/sdb
/work/kvm/win2003/vdisk.img -m 384
Regards,
Anthony Liguori
OR
/usr/local/kvm/bin/qemu-system-x86_64 -hdb /dev/sdb
/work/kvm/win2003/vdisk.img -m 384
windows started ok (it did not emit errors, as I
,
Anthony Liguori
Arnd
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http
of kvm_vcpu_{vmx,svm} and
then use the standard container_of() stuff to get at the pointer?
Regards,
Anthony Liguori
- Paul
diff --git a/drivers/kvm/kvm.h b/drivers/kvm/kvm.h
index 9fff8b7..6adbe6b 100644
--- a/drivers/kvm/kvm.h
+++ b/drivers/kvm/kvm.h
@@ -15,8 +15,6 @@ #include linux/sched.h
Arnd Bergmann wrote:
On Thursday 19 July 2007, Anthony Liguori wrote:
Interestingly, once you have the kernel driver that maps a block device,
you can do most of the useful user scenarios by means of /dev/loop
and/or device mapper.
Not quite. Using device mapper to implement
clear to the reader what's
going on. It's just another embedded structure who's conversion
function is container_of() based.
Regards,
Anthony Liguori
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C
doesn't guarantee atomicity of instructions so if you have one CPU
running in QEMU and another running on bare metal and they both were
attempting to access a spin lock things would break down pretty quickly.
Regards,
Anthony Liguori
I'm not really sure if this is plausible. Its just something I
since the new hypercall
API only takes 4 arguments instead of 6.
Regards,
Anthony Liguori
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML
?
Regards,
Anthony Liguori
I cannot provide any more information for now causes system freezes at all
and
netconsole not works with ipw3945 (netconsole: eth1 doesn't support polling,
aborting) but tomorrow i'll try with cable.
If needed you can find .config and dmesg from [1], if anything else
#1 will perform the best
#2 will give you the give you the most flexibility (you can remove the
disk and insert at run time)
#3 would allow you to support exotic disks that go beyond the standard
mass storage specification.
I'd recommend using #2.
Regards,
Anthony Liguori
depends on CONFIG_X86_PAE.
Regards,
Anthony Liguori
If I comment the guarding #ifdef (and its partner #endif) kvm builds fine and
everything seems to work OK.- the modules load and Damn Small Linux and
FreeBSD run fine.
Any advice would be much appreciated and more than happy to test
Chris Clayton wrote:
On Saturday 14 July 2007, Anthony Liguori wrote:
Chris Clayton wrote:
Hi,
I'm building kvm-29 on a system that is running linux-2.6.22.1-cfs-v19.
When the modules are built I get warnings about set_64bit:
CC [M] /home/users/chris/rpm/BUILD/kvm-29/kernel
to get all guests to actually use DMA.
Regards,
Anthony Liguori
hda: QEMU HARDDISK, ATA DISK drive
hdb: QEMU HARDDISK, ATA DISK drive
-Clocksource tsc unstable (delta = 767711774 ns)
+ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
+Clocksource tsc unstable (delta = 768021683 ns)
Time: pit
This looks like a typo. I think the intention of the if is to normalize
i[3456]86 to i386 since that's the target name for QEMU.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/configure b/configure
index d9292fe..e4d1ec6 100755
--- a/configure
+++ b/configure
@@ -74,7 +74,7 @@ fi
Gregory Haskins wrote:
This is a resend of the patch from the lapic series because Anthony/Avi were
asking about it
Thanks Gregory!
Regards,
Anthony Liguori
--
Non-performance critical code is made more awkward by having to always define
both #ifdef KVM and if (kvm_allowed
).
BTW, my little trick also works for live savevm/loadvm (kids don't try
this at home).
One of these days, I plan on implementing a checkpoint:// protocol that
always fails and does a live savevm to disk without shutting down the VM.
Regards,
Anthony Liguori
Hope that helps,
Uri
While QEMU can remap portions of physical ram to a higher address in
phys_ram_base, KVM requires that the memory be present where it would be in
physical memory. Make sure to copy the option ROMs to the right space in
physical memory when KVM is enabled.
Signed-off-by: Anthony Liguori [EMAIL
,
Anthony Liguori
/usr/local/kvm/bin/qemu -net nic,vlan=0 -net
tap,vlan=0,script=/etc/qemu-ifup2,ifname=foo kvm-stuff/etch.qcow2.img
-boot n
It doesnt work. It boots c instead. But with -no-kvm it works and also a
separate qemu works without trouble. I can file a bug, but it would be
great
that
#ifdef USE_KVM guards aren't required either.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/qemu/gdbstub.c b/qemu/gdbstub.c
index c33a66e..a3b82af 100644
--- a/qemu/gdbstub.c
+++ b/qemu/gdbstub.c
@@ -30,6 +30,7 @@
#include qemu.h
#else
#include vl.h
+#include qemu-kvm.h
Avi Kivity wrote:
Anthony Liguori wrote:
This patch adds support to gdbstub and the monitor to sync CPU state before
and after the user views/changes it.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/qemu/gdbstub.c b/qemu/gdbstub.c
index c33a66e..a3b82af 100644
is 32-bit code, so there is
pretty much no emulation to worry about.
So, if anyone gets annoyed watching bochs boot, I can put a howto on
the linuxbios wiki. It's pretty trivial to set up.
Please do, I'd like to try it out.
Regards,
Anthony Liguori
ron
This patch adds support to gdbstub and the monitor to sync CPU state before
and after the user views/changes it.
Signed-off-by: Anthony Liguori [EMAIL PROTECTED]
diff --git a/qemu/gdbstub.c b/qemu/gdbstub.c
index c33a66e..a3b82af 100644
--- a/qemu/gdbstub.c
+++ b/qemu/gdbstub.c
@@ -30,6 +30,7
.
The current patch queue uses data in the text segment but it makes sure
that it has a proper page.
Regards,
Anthony Liguori
Ingo's code:
/*
* This is the vm-syscall address - to be patched by the host to
* VMCALL (Intel) or VMMCALL (AMD), depending on the CPU model:
*/
asm
,
which is later overwritten by hypercall address from the host, isnt
it?
If so, why dont we simply put 4 NOPs there?
So if the hypervisor fails to patch it, we get a proper errno instead of
running off into random code.
Regards,
Anthony Liguori
Thanks,
Jun
.
Regards,
Anthony Liguori
On 6/26/07, Russell Harmon [EMAIL PROTECTED] wrote:
are you doing it in the kernel tree, or the userspace tree. I forgot
to mention that the offending files are in the kernel tree. The output
of git show cfc329b216bc3e54fe1107e8f714c7b3bc133224 in the kernel
tree
Avi Kivity wrote:
Anthony Liguori wrote:
Hi,
This is an update to the paravirt_ops KVM backend series. I've made
a number of changes and attempted to incorporate all the feedback
from the last review. Some highlights:
1) Clean up the paravirt time source patch to use a more Xen-like
it's own discovery mechanism (KVM and Xen are both
based on CPUID) so that seems like a much better method to use.
Regards,
Anthony Liguori
Zach
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C
Zachary Amsden wrote:
Jeremy Fitzhardinge wrote:
Anthony Liguori wrote:
I don't agree that having paravirt_ops within a normal module is all
that useful. By the time modules can be loaded, the kernel has
completely booted. There should only be a handful of paravirt_ops
implementations
after migration.
If you cannot guarantee the guest isn't executing code within the
hypercall page (or in your case, doing something with paravirt_ops),
then you cannot safely migrate.
Regards,
Anthony Liguori
In the case of KVM, the paravirt_ops implementation is orthogonal to
paravirt
Jeremy Fitzhardinge wrote:
Anthony Liguori wrote:
I've been thinking about this wrt the hypercall page in KVM. The
problem is that in a model like KVM (or presumably VMI), migration
gets really difficult if you have anything but a trivial hypercall
page since the hypercall page
Zachary Amsden wrote:
Anthony Liguori wrote:
I've been thinking about this wrt the hypercall page in KVM. The
problem is that in a model like KVM (or presumably VMI), migration
gets really difficult if you have anything but a trivial hypercall
page since the hypercall page will change
are available at
http://hg.codemonkey.ws/kvm-paravirt
Regards,
Anthony Liguori
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data
Regards,
Anthony Liguori
Subject: [PATCH] KVM paravirt_ops core infrastructure
Author: Anthony Liguori [EMAIL PROTECTED]
This patch implements paravirt_ops support for KVM and updates the current
paravirtualization support in KVM to match. Some changes to the previous
paravirtualization
This helps a lot on modern kernels where Linux is much more finicky
about using the TSC as a time source.
Regards,
Anthony Liguori
Subject: [PATCH] KVM: paravirt time source
Author: Anthony Liguori [EMAIL PROTECTED]
This patch implements a paravirtual time source based on a new field added
Regards,
Anthony Liguori
Subject: [PATCH] KVM: Implement CR read caching for KVM paravirt_ops
Author: Anthony Liguori [EMAIL PROTECTED]
With hardware virtualization, CR reads often times require a VMEXIT which is
rather expensive. Instead of reading CR and taking the VMEXIT, maintain a
copy
Regards,
Anthony Liguori
Subject: [PATCH] KVM: Add paravirt MMU write support
Author: Anthony Liguori [EMAIL PROTECTED]
On at least AMD hardware, hypercall based manipulation of page table memory
is significantly faster than taking a page fault. Additionally, using
hypercalls to manipulation
Regards,
Anthony Liguori
Subject: [PATCH] KVM: Add hypercall queue for paravirt_ops implementation
Author: Anthony Liguori [EMAIL PROTECTED]
Implemented a hypercall queue that can be used when paravirt_ops lazy mode
is enabled. This patch enables queueing of MMU write operations and CR
Anthony Liguori wrote:
As usual, the latest bits are available at
http://hg.codemonkey.ws/kvm-paravirt
I neglected to mention that the major missing piece right now is
save/restore support. Since the VMCA is set with an MSR, I think I can
just expose this MSR to userspace and add another
Avi Kivity wrote:
Anthony Liguori wrote:
It's pretty erratic. If I run if a few times at any rate, sometimes
I get 0.0 and sometimes I get a more sane result.
I expect the newer kernel is sometimes disqualifying the timestamp
counter from being used as a clocksource. Running pinned
Avi Kivity wrote:
Anthony Liguori wrote:
It's less stable then I thought.
less stable? less unstable?
It didn't fix the problem :-)
You were right btw, the guest is deciding the TSC is too unreliable.
It happens every once and while (although the taskset/no pm timer
combination
,
ANthony Liguori
J
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http
Jeremy Fitzhardinge wrote:
Anthony Liguori wrote:
I've updated this patch and switched to using a scale/shift like Xen
is doing, but I must admit, I don't understand how it helps adjtime.
I poked around a bit and it wasn't obvious.
Why is having {mult=122, shift=22} better for adjtime
of something in particular?
Regards,
Anthony Liguori
Any performance measurement?
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML
Jeremy Fitzhardinge wrote:
Anthony Liguori wrote:
Perhaps my grep'ing skills are weak, but I don't seem to see any.
Were you thinking of something in particular?
__pte(), of course. Sheesh. ;)
How could I have missed something that is so clearly named! :-)
Regards
Jeremy Fitzhardinge wrote:
Anthony Liguori wrote:
Regards,
Anthony Liguori
Subject: [PATCH] KVM: Add hypercall queue for paravirt_ops implementation
Author: Anthony Liguori [EMAIL PROTECTED]
Implemented
Avi Kivity wrote:
Anthony Liguori wrote:
-nr = vcpu-regs[VCPU_REGS_RBX] -1u;
-a0 = vcpu-regs[VCPU_REGS_RAX] -1u;
+nr = vcpu-regs[VCPU_REGS_RAX] -1u;
+a0 = vcpu-regs[VCPU_REGS_RBX] -1u;
- * Each hypercall may have 0-6 parameters.
- *
- * 64-bit
601 - 700 of 847 matches
Mail list logo