Re: [PATCH v6] kvm: make vcpu life cycle separated from kvm instance

2012-01-05 Thread Liu ping fan
On Thu, Dec 29, 2011 at 10:31 PM, Avi Kivity wrote: > On 12/29/2011 04:03 PM, Liu ping fan wrote: >> > Why do we want an independent grace period, is hotunplugging a vcpu that >> > much different from hotunplugging memory? >> > >> I thought that if less readers on the same srcu lock, then >> synch

[PATCH 2/4] kvm-s390: provide the prefix register via kvm_run

2012-01-05 Thread Christian Borntraeger
The prefix register is a read-mostly value that is necessary to emulate memory accesses on behalf of the guest cpu in an architecture compliant way. Avoid an additional ioctl by providing the prefix content in the r/o section of kvm_run. Signed-off-by: Christian Borntraeger --- arch/s390/include

[PATCH 1/4] kvm: provide synchronous registers in kvm_run

2012-01-05 Thread Christian Borntraeger
On some cpus the overhead for virtualization instructions is in the same range as a system call. Having to call multiple ioctls to get set registers will make certain userspace handled exits more expensive than necessary. Lets provide two sections in kvm_run to have a shared save area for guest reg

[PATCH 3/4] kvm-s390: provide general purpose guest registers via kvm_run

2012-01-05 Thread Christian Borntraeger
This patch adds the general purpose registers to the kvm_run structure. Signed-off-by: Christian Borntraeger --- arch/s390/include/asm/kvm.h |2 ++ arch/s390/include/asm/kvm_host.h |3 +-- arch/s390/kvm/diag.c |6 +++--- arch/s390/kvm/intercept.c|4 ++--

[PATCH 4/4] kvm-s390: provide access guest registers via kvm_run

2012-01-05 Thread Christian Borntraeger
This patch adds the access registers to the kvm_run structure. Signed-off-by: Christian Borntraeger --- arch/s390/include/asm/kvm.h |2 ++ arch/s390/include/asm/kvm_host.h |1 - arch/s390/kvm/kvm-s390.c | 15 --- 3 files changed, 10 insertions(+), 8 deletions(-

synchronous register in kvm_run

2012-01-05 Thread Christian Borntraeger
Avi, Marcelo, here is the latest update of my patch set about guest registers in kvm_run. I have added an u64 flag field to make the whole structure extensible (and shrinkable). For s390 I added the prefix register as read-only and access and general purpose as read write. -- To unsubscribe from

[PATCH v2 3/3] KVM: PPC: epapr: install ev_idle hcall for e500 guest

2012-01-05 Thread Liu Yu
If the guest hypervisor node contains "has-idle" property. Signed-off-by: Liu Yu --- v2: 1. move the idle code into assembly. 2. move the part that check "has-idle" into epapr code. arch/powerpc/include/asm/epapr_hcalls.h |1 + arch/powerpc/include/asm/machdep.h |5 + arch/powe

[PATCH 1/3] KVM: PPC: epapr: Factor out the epapr init

2012-01-05 Thread Liu Yu
from the kvm guest paravirt init code. Signed-off-by: Liu Yu --- arch/powerpc/include/asm/epapr_hcalls.h |8 + arch/powerpc/kernel/Makefile|1 + arch/powerpc/kernel/epapr_para.c| 45 +++ arch/powerpc/kernel/kvm.c |9

[PATCH v2 2/3] KVM: PPC: epapr: Add idle hcall support for host

2012-01-05 Thread Liu Yu
And add a new flag definition in kvm_ppc_pvinfo to indicate whether host support EV_IDLE hcall. Signed-off-by: Liu Yu --- v2: 1. instead of adding new field in kvm_ppc_pvinfo, use flags. 2. expose hcall definitions to userspace arch/powerpc/include/asm/kvm_para.h | 14 -- arch/pow

Re: [PATCH v2] KVM: SVM: Add support for AMD's OSVW feature in guests

2012-01-05 Thread Marcelo Tosatti
On Tue, Jan 03, 2012 at 11:38:13PM -0500, Boris Ostrovsky wrote: > From: Boris Ostrovsky > > In some cases guests should not provide workarounds for errata even when the > physical processor is affected. For example, because of erratum 400 on family > 10h processors a Linux guest will read an MSR

Re: [RFC PATCH] KVM: Fix __set_bit() race in mark_page_dirty() during dirty logging

2012-01-05 Thread Marcelo Tosatti
On Wed, Jan 04, 2012 at 03:06:43PM +0900, Takuya Yoshikawa wrote: > It is possible that the __set_bit() in mark_page_dirty() is called > simultaneously on the same region of memory, which may result in only > one bit being set, because some callers do not take mmu_lock before > mark_page_dirty(). >

Re: [patch 00/11] Ucontrol patchset respin without storage keys

2012-01-05 Thread Marcelo Tosatti
On Wed, Jan 04, 2012 at 10:25:19AM +0100, Carsten Otte wrote: > Hi Avi, > > after some more discussion about how to do storage keys proper, I could > not come up with a sane and safe way of doing SSKE without either > over or underindicating the change bit in corner cases (leads to > corrupted gue

Re: [patch 00/11] Ucontrol patchset respin without storage keys

2012-01-05 Thread Marcelo Tosatti
On Thu, Jan 05, 2012 at 11:41:30AM -0200, Marcelo Tosatti wrote: > On Wed, Jan 04, 2012 at 10:25:19AM +0100, Carsten Otte wrote: > > Hi Avi, > > > > after some more discussion about how to do storage keys proper, I could > > not come up with a sane and safe way of doing SSKE without either > > ove

Re: [RFC PATCH] KVM: Fix __set_bit() race in mark_page_dirty() during dirty logging

2012-01-05 Thread Takuya Yoshikawa
On Thu, 5 Jan 2012 09:48:37 -0200 Marcelo Tosatti wrote: > On Wed, Jan 04, 2012 at 03:06:43PM +0900, Takuya Yoshikawa wrote: > > It is possible that the __set_bit() in mark_page_dirty() is called > > simultaneously on the same region of memory, which may result in only > > one bit being set, beca

kvm_steal_time_issue

2012-01-05 Thread dubi
I am using k3.2.0-rc1 where the kvm steal time handling is included The .config file has :CONFIG_PARAVIRT_GUEST=y,CONFIG_PARAVIRT_TIME_ACCOUNTING=y. I have a host and 2 guests with that kernel and devised a scenario where one guest should have %st> 0 (Linux top utility) . Still I am always getting

Re: [patch 00/11] Ucontrol patchset respin without storage keys

2012-01-05 Thread Carsten Otte
On 05.01.2012 14:47, Marcelo Tosatti wrote: Where is the userspace part? The ucontrol patchset is intended to be used with a machine simulator called cecsim. It can emulate an entire mainframe including nested virtualisation and is used for development and test of N+1 generation firmware on N ge

kvm_steal_time_issue

2012-01-05 Thread dubi
I am using k3.2.0-rc1 where the kvm steal time handling is included . The .config file has :CONFIG_PARAVIRT_GUEST=y,CONFIG_PARAVIRT_TIME_ACCOUNTING=y. I have a host and 2 guests with that kernel and devised a scenario where one guest should have %st> 0 (Linux top utility) . Still I am always gettin

Re: [PATCH 08/50] KVM: PPC: Add support for explicit HIOR setting

2012-01-05 Thread Scott Wood
On 01/04/2012 08:36 PM, Alexander Graf wrote: > > On 04.01.2012, at 21:12, Scott Wood wrote: > >> On 01/03/2012 07:10 PM, Alexander Graf wrote: >>> diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h >>> index 25964ee..fb3fddc 100644 >>> --- a/arch/powerpc/include/asm/kvm

Re: [PATCH v2] KVM: SVM: Add support for AMD's OSVW feature in guests

2012-01-05 Thread Boris Ostrovsky
On 01/05/12 06:20, Marcelo Tosatti wrote: On Tue, Jan 03, 2012 at 11:38:13PM -0500, Boris Ostrovsky wrote: diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index e32243e..b19769d 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -110,6 +110,13 @@ struct nested_state { #define MS

Re: Device pass-through

2012-01-05 Thread Gordon Messmer
On 01/03/2012 07:44 PM, Alex Williamson wrote: Yep, that's what I would have guessed, there's a 256MB resource. I'm not sure if the seabios you're using is mapping the MMIO hole efficiently enough to handle that. Can you test on new upstream qemu-kvm? Thanks, I'm not done poking the system,

RE: [PATCH 2/2] Expose tsc deadline timer cpuid to guest

2012-01-05 Thread Liu, Jinsong
> This requires some logic change and then rewording: > > - enable TSC deadline timer support by default if in-kernel irqchip is > used > - disable it on user request via a cpu feature flag Yes, the logic has been implemented by the former patch as: +if (env->tsc_deadline_timer_enabled) {

Re: [PATCH 2/2] Expose tsc deadline timer cpuid to guest

2012-01-05 Thread Jan Kiszka
On 2012-01-05 18:07, Liu, Jinsong wrote: >> Sorry, it remains bogus to expose the tsc deadline timer feature on >> machines < pc-1.1. That's just like we introduced kvmclock only to >> pc-0.14 onward. The reason is that guest OSes so far running on >> qemu-1.0 or older without deadline timer suppor

Re: [PATCH 07/50] KVM: PPC: Add generic single register ioctls

2012-01-05 Thread Scott Wood
On 01/04/2012 10:07 PM, Alexander Graf wrote: > Ok here's another idea on how to handle this. What if we encode the > register size in the constant? That way, if the register grows later, > we can still be backwards compatible, but give user space exactly the > size it asks for. > > We could then

Re: where should I report kvm kernel bug?

2012-01-05 Thread John 'Warthog9' Hawley
On 01/03/2012 10:08 AM, Avi Kivity wrote: > On 01/03/2012 06:28 PM, Konstantin Ryabitsev wrote: >> On Tue, 2012-01-03 at 12:10 +0200, Avi Kivity wrote: >>> I'm surprised bugzilla.kernel.org isn't responding. Copying >>> ftpad...@kernel.org for ETA (though that address isn't responding, either). >>

Re: [PATCH 08/50] KVM: PPC: Add support for explicit HIOR setting

2012-01-05 Thread Alexander Graf
On 05.01.2012, at 18:16, Scott Wood wrote: > On 01/04/2012 08:36 PM, Alexander Graf wrote: >> >> On 04.01.2012, at 21:12, Scott Wood wrote: >> >>> On 01/03/2012 07:10 PM, Alexander Graf wrote: diff --git a/arch/powerpc/include/asm/kvm.h b/arch/powerpc/include/asm/kvm.h index 259

[PATCH v3] kvm tool: Change kvm->ram_size to real mapped size.

2012-01-05 Thread zanghongyong
From: Hongyong Zang If a guest's ram_size exceeds KVM_32BIT_GAP_START, the corresponding kvm tool's virtual address size should be (ram_size + KVM_32BIT_GAP_SIZE), rather than ram_size. Use macro define KVM_32BIT_MAX_MEM_SIZE instead of magic number "0x1ULL". Signed-off-by: Hongyong Za

RE: where should I report kvm kernel bug?

2012-01-05 Thread Ren, Yongjie
> -Original Message- > From: John 'Warthog9' Hawley [mailto:warth...@kernel.org] > Sent: Friday, January 06, 2012 10:34 AM > To: Avi Kivity > Cc: Konstantin Ryabitsev; Ren, Yongjie; kvm@vger.kernel.org; ftpadmin > Subject: Re: where should I report kvm kernel bug? > > On 01/03/2012 10:08 A

[PATCH 0/3] GET/SET_ONE_REG and HIOR patches v2

2012-01-05 Thread Alexander Graf
This is a revised version of the ONE_REG interface. The main difference to v1 is that we now encode the register size in the constant, making it very unambiguous what size it is. That way we can just take a pointer from user space to write it to. Thanks a lot to Scott for reviewing the previous pa

[PATCH 2/3] KVM: PPC: Add support for explicit HIOR setting

2012-01-05 Thread Alexander Graf
Until now, we always set HIOR based on the PVR, but this is just wrong. Instead, we should be setting HIOR explicitly, so user space can decide what the initial HIOR value is - just like on real hardware. We keep the old PVR based way around for backwards compatibility, but once user space uses th

[PATCH 3/3] KVM: PPC: Move kvm_vcpu_ioctl_[gs]et_one_reg down to platform-specific code

2012-01-05 Thread Alexander Graf
From: Paul Mackerras This moves the get/set_one_reg implementation down from powerpc.c into booke.c, book3s_pr.c and book3s_hv.c. This avoids #ifdefs in C code, but more importantly, it fixes a bug on Book3s HV where we were accessing beyond the end of the kvm_vcpu struct (via the to_book3s() ma

[PATCH 1/3] KVM: PPC: Add generic single register ioctls

2012-01-05 Thread Alexander Graf
Right now we transfer a static struct every time we want to get or set registers. Unfortunately, over time we realize that there are more of these than we thought of before and the extensibility and flexibility of transferring a full struct every time is limited. So this is a new approach to the p

Re: [PATCH 1/3] KVM: PPC: Add generic single register ioctls

2012-01-05 Thread Alexander Graf
On 06.01.2012, at 04:59, Alexander Graf wrote: > Right now we transfer a static struct every time we want to get or set > registers. Unfortunately, over time we realize that there are more of > these than we thought of before and the extensibility and flexibility of > transferring a full struct e

[PATCH] KVM: PPC: Add generic single register ioctls

2012-01-05 Thread Alexander Graf
Right now we transfer a static struct every time we want to get or set registers. Unfortunately, over time we realize that there are more of these than we thought of before and the extensibility and flexibility of transferring a full struct every time is limited. So this is a new approach to the p

PCI passthrough in nested kvm

2012-01-05 Thread Tian Fang
Hi, Nested kvm is supported. Wondering if a PCI device is able to be passed through into the nested kvm. Could some experts share some insides? Thx, Tian Fang -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo inf

Re: [PATCH V3 2/2] kvm tools: Create arch-specific kvm_cpu__emulate_{mm}io()

2012-01-05 Thread Matt Evans
Hey Alex, On 24/12/11 00:39, Alexander Graf wrote: > > On 23.12.2011, at 14:26, Matt Evans wrote: > >> >> On 23/12/2011, at 11:58 PM, Alexander Graf wrote: >> >>> >>> On 13.12.2011, at 07:21, Matt Evans wrote: >>> Different architectures will deal with MMIO exits differently. For exa

Re: Device pass-through

2012-01-05 Thread Gordon Messmer
On 01/05/2012 11:07 AM, Gordon Messmer wrote: I started with an update to seabios, from the bundled version 0.6.1.2-8.el6 to a rebuilt package from F16, 0.6.2-3.el6. That's enough to get the guest to boot with the pass-through video card. It doesn't work, currently, and I'm pretty sure that's bec

[PATCH 1/3]use int64 when compare two time

2012-01-05 Thread Zhang, Yang Z
use int64 when compare two time int32 only represent only 136 years when comparing two times based on second. It would be better to use int64. Signed-off-by: Yang Zhang diff --git a/qemu-common.h b/qemu-common.h index b2de015..c14f506 100644 --- a/qemu-common.h +++ b/qemu-common.h @@ -116,8 +1

[PATCH 0/3] remove the periodic RTC update timer

2012-01-05 Thread Zhang, Yang Z
Recently, I did some work for power optimization w/ KVM and I found there was a periodic timer from qemu which stop the platform from staying deep C state for a long period. After looking into the qemu code, there was a periodic RTC update timer which is the culprit. In current RTC emula

[PATCH 2/3] use gettimeofday() instead of time()

2012-01-05 Thread Zhang, Yang Z
use gettimeofday() instead of time(). Please refer the patch zero for the description. Signed-off-by: Yang Zhang diff --git a/vl.c b/vl.c index 01c5a9d..9a51047 100644 --- a/vl.c +++ b/vl.c @@ -438,8 +438,11 @@ void qemu_get_timedate(struct tm *tm, int64_t offset) { time_t ti; struct

[PATCH 3/3] stop the periodic RTC update timer

2012-01-05 Thread Zhang, Yang Z
change the RTC update logic to use host time with offset to calculate RTC clock. There have no need to use two periodic timers to maintain an internal timer for RTC clock update and alarm check. Instead, we calculate the real RTC time by the host time with an offset. For alarm and updated

Re: [PATCH 2/3] use gettimeofday() instead of time()

2012-01-05 Thread Sasha Levin
On Fri, 2012-01-06 at 07:37 +, Zhang, Yang Z wrote: > Please refer the patch zero for the description. Each patch should have description about what it does in the changelog, otherwise you're going to lose important information about the change. Furthermore, cover letters don't get merged at