Stefan Hajnoczi | 10 Feb 11:30
Picon
Gravatar

QEMU applying for Google Summer of Code 2012

This year's Google Summer of Code has been announced:

http://www.google-melange.com/gsoc/events/google/gsoc2012

For those who haven't heard of GSoC before, it funds university
students to work on open source projects during the summer.
Organizations, such as QEMU, can participate to attract students who
will tackle projects for 12 weeks this summer.  The GSoC program has
been very successful because it gives students real open source
experience and organizations can grow their development community.

QEMU has participated for several years and I would like to organize
our participation this year.  Luiz was QEMU organization administrator
last year and contacted me because he will not have time this year.  I
will prepare the application form for QEMU so that we will be
considered for 2012.

Umbrella organization
---------------------
Like last year, we can provide a home for KVM kernel module and
libvirt projects too if those organizations prefer not to apply to
GSoC themselves.  Please let us know so we can work together!

Ideas list
----------
The starting point for student candidates is our "Ideas List".  I have
created a new page for this year - please add project ideas that you'd
like students to work on:

http://wiki.qemu.org/Google_Summer_of_Code_2012
(Continue reading)

Liu Yu | 10 Feb 11:02
Favicon

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

from the kvm guest paravirt init code.

Signed-off-by: Liu Yu <yu.liu <at> freescale.com>
---
v3:
apply the epapr init for all ppc platform

 arch/powerpc/Kconfig                    |    4 +++
 arch/powerpc/include/asm/epapr_hcalls.h |    8 +++++
 arch/powerpc/kernel/Makefile            |    1 +
 arch/powerpc/kernel/epapr_para.c        |   46 +++++++++++++++++++++++++++++++
 arch/powerpc/kernel/kvm.c               |   13 +++------
 arch/powerpc/kvm/Kconfig                |    1 +
 6 files changed, 64 insertions(+), 9 deletions(-)
 create mode 100644 arch/powerpc/kernel/epapr_para.c

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 47682b6..00bd508 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -196,6 +196,10 @@ config EPAPR_BOOT
 	  Used to allow a board to specify it wants an ePAPR compliant wrapper.
 	default n

+config EPAPR_PARA
+	bool
+	default n
+
 config DEFAULT_UIMAGE
 	bool
(Continue reading)

Yang Bai | 10 Feb 10:55
Picon
Gravatar

[PATCH 1/4] kvm tool: Stop init if check_extensions failed

If kvm__check_extensions found that some of the required
KVM extention is not supported by OS, we should stop the
init and free all allocated resources.

Signed-off-by: Yang Bai <hamo.by <at> gmail.com>
---
 tools/kvm/kvm.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/kvm/kvm.c b/tools/kvm/kvm.c
index 9a0bd67..8e749ad 100644
--- a/tools/kvm/kvm.c
+++ b/tools/kvm/kvm.c
@@ -384,6 +384,7 @@ struct kvm *kvm__init(const char *kvm_dev, const char *hugetlbfs_path, u64 ram_s
 	if (kvm__check_extensions(kvm)) {
 		pr_err("A required KVM extention is not supported by OS");
 		ret = -ENOSYS;
+		goto err;
 	}

 	kvm__arch_init(kvm, hugetlbfs_path, ram_size);
--

-- 
1.7.8.3

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

bugzilla-daemon | 10 Feb 09:03

[Bug 42755] New: KVM is being extremely slow on AMD Athlon64 4000+ Dual Core 2.1GHz Brisbane

https://bugzilla.kernel.org/show_bug.cgi?id=42755

           Summary: KVM is being extremely slow on AMD Athlon64 4000+ Dual
                    Core 2.1GHz Brisbane
           Product: Virtualization
           Version: unspecified
    Kernel Version: 3.2.2
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: kvm
        AssignedTo: virtualization_kvm <at> kernel-bugs.osdl.org
        ReportedBy: sandikata <at> yandex.ru
        Regression: No

Hello.

Kvm seems to be broken on AMD Athlon64 4000+ Dual Core 2.1GHz Brisbane. A
kernel build takes over
2 hours, compared to 15 minutes on the host. I'm running with virtio
for storage, and this does not seem to be related to IO. A simple test
with dd also demonstrates that the problem is cpu-ralated:

Host test:
dd if=/dev/zero of=/dev/null bs=1k count=8M
8388608+0 записей считано (read)
8388608+0 записей написано (write)
(Continue reading)

Amos Kong | 10 Feb 07:26
Picon
Favicon
Gravatar

[PATCH 0/4] support to migrate with IPv6 address

Those four patches make migration of IPv6 address work.
Use getaddrinfo() to socket addresses infomation.

---

Amos Kong (4):
      Use getaddrinfo for migration
      net/socket: allow ipv6 for net_socket_listen_init and socket_connect_init
      net: split hostname and service by last colon
      net: support to include ipv6 address by brackets

 migration-tcp.c |   60 ++++++++--------------------
 net.c           |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 net/socket.c    |   60 +++++-----------------------
 qemu_socket.h   |    3 +
 4 files changed, 145 insertions(+), 94 deletions(-)

--

-- 
Amos Kong
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Takuya Yoshikawa | 10 Feb 07:28
Picon

[PATCH 1/2] KVM: mmu_notifier: Flush TLBs before releasing mmu_lock

Other threads may process the same page in that small window and skip
TLB flush and then return before these functions do flush.

Signed-off-by: Takuya Yoshikawa <yoshikawa.takuya <at> oss.ntt.co.jp>
---
 virt/kvm/kvm_main.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 470e305..2b4bc77 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -289,15 +289,15 @@ static void kvm_mmu_notifier_invalidate_page(struct mmu_notifier *mn,
 	 */
 	idx = srcu_read_lock(&kvm->srcu);
 	spin_lock(&kvm->mmu_lock);
+
 	kvm->mmu_notifier_seq++;
 	need_tlb_flush = kvm_unmap_hva(kvm, address) | kvm->tlbs_dirty;
-	spin_unlock(&kvm->mmu_lock);
-	srcu_read_unlock(&kvm->srcu, idx);
-
 	/* we've to flush the tlb before the pages can be freed */
 	if (need_tlb_flush)
 		kvm_flush_remote_tlbs(kvm);

+	spin_unlock(&kvm->mmu_lock);
+	srcu_read_unlock(&kvm->srcu, idx);
 }

(Continue reading)

Christoffer Dall | 10 Feb 02:40
Favicon

[PATCH v4] KVM: Factor out kvm_vcpu_kick to arch-generic code

The kvm_vcpu_kick function performs roughly the same funcitonality on
most all architectures, so we shouldn't have separate copies.

PowerPC keeps a pointer to interchanging waitqueues on the vcpu_arch
structure and to accomodate this special need a
__KVM_HAVE_ARCH_VCPU_GET_WQ define and accompanying function
kvm_arch_vcpu_wq have been defined. For all other architectures this
is a generic inline that just returns &vcpu->wq;

This patch applies to d1c28f7568a74faacec896ee4f84afbffd20e5ab on
git://git.kernel.org/pub/scm/virt/kvm/kvm.git.

Changes since v3:
 - Doesn't try to generalize vcpu->mode across all architectures and
   instead calls kvm_arch_vcpu_should_kick, which is properly defined
   on x86 and ia64, but other architectures simply return 1 as to maintain
   status quo.

Changes since v2:
 - Restore arch-specific vcpu->cpu assignment to arch-specific code

Changes since v1:
 - Abstact CPU mode check into arch-specific function
 - Remove redundant vcpu->cpu assignment

Signed-off-by: Christoffer Dall <c.dall <at> virtualopensystems.com>
---
 arch/ia64/include/asm/kvm_host.h    |    1 +
 arch/ia64/kvm/kvm-ia64.c            |   20 +++++---------------
 arch/powerpc/include/asm/kvm_host.h |    6 ++++++
(Continue reading)

Marc Zyngier | 10 Feb 02:13
Favicon

[PATCH RFC 1/2] KVM: Guard mmu_notifier specific code with CONFIG_MMU_NOTIFIER

In order to avoid compilation failure when KVM is not compiled in,
guard the mmu_notifier specific sections with both CONFIG_MMU_NOTIFIER
and KVM_ARCH_WANT_MMU_NOTIFIER, like it is being done in the rest of
the KVM code.

Signed-off-by: Marc Zyngier <marc.zyngier <at> arm.com>
---
 include/linux/kvm_host.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 900c763..a596b47 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -287,7 +287,7 @@ struct kvm {
 	struct hlist_head irq_ack_notifier_list;
 #endif

-#ifdef KVM_ARCH_WANT_MMU_NOTIFIER
+#if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER)
 	struct mmu_notifier mmu_notifier;
 	unsigned long mmu_notifier_seq;
 	long mmu_notifier_count;
@@ -695,7 +695,7 @@ struct kvm_stats_debugfs_item {
 extern struct kvm_stats_debugfs_item debugfs_entries[];
 extern struct dentry *kvm_debugfs_dir;

-#ifdef KVM_ARCH_WANT_MMU_NOTIFIER
+#if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER)
 static inline int mmu_notifier_retry(struct kvm_vcpu *vcpu, unsigned long mmu_seq)
(Continue reading)

Alexander Graf | 10 Feb 00:13
Picon
Favicon

Re: [Android-virt] [PATCH] Fix Cross-compiling with KVM support for ARM


On 10.02.2012, at 00:11, Christoffer Dall wrote:

> sorry about missing reply-all before
> 
> On Thu, Feb 9, 2012 at 3:07 PM, Alexander Graf <agraf <at> suse.de> wrote:
>> On 10.02.2012, at 00:04, Christoffer Dall wrote:
>> 
>>> becuase KVM_CAP_IRQ_ROUTING is only defined when __KVM_HAVE_IOAPIC.
>>> kvm/arm does not have this defined.
>> 
>> Then it's not a cross compiling issue, but a header definition issue.
>> 
>>> 
>>> any better way to fix this - I'm completely open to that.
>> 
>> Yes, get rid of conditional CAP definitions. Just always define them :). The number space is linear
anyways, so it doesn't make any sense to hide specific constants.
>> 
> 
> this is a Linux imported header file. I'm not sure about the whole
> flow here, so consider this patch a hint to the qemu to please help me
> fix it then...

The flow to fix it is pretty straight forward:

1) make the cap definition unconditional in upstream kvm.git
2) run ./scripts/update-linux-headers.sh

and suddenly everything becomes a lot easier :).
(Continue reading)

Christoffer Dall | 9 Feb 21:57
Favicon

[PATCH] KVM: Cleanup the kvm_print functions and introduce pr_XX wrappers

From: Christoffer Dall <c.dall <at> virtualopensystems.com>

Introduces a couple of print functions, which are essentially wrappers
around standard printk functions, with a KVM: prefix.

Functions introduced or modified are:
 - kvm_err(fmt, ...)
 - kvm_info(fmt, ...)
 - kvm_debug(fmt, ...)
 - kvm_pr_unimpl(fmt, ...)
 - pr_unimpl(vcpu, fmt, ...) -> vcpu_pr_unimpl(vcpu, fmt, ...)

 Signed-off-by: Christoffer Dall <c.dall <at> virtualopensystems.com>
---
 arch/x86/kvm/svm.c       |    4 ++--
 arch/x86/kvm/vmx.c       |    2 +-
 arch/x86/kvm/x86.c       |   41 +++++++++++++++++++++--------------------
 include/linux/kvm_host.h |   14 ++++++++------
 4 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 5fa553b..46b50ac 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -3084,7 +3084,7 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data)
 		break;
 	case MSR_IA32_DEBUGCTLMSR:
 		if (!boot_cpu_has(X86_FEATURE_LBRV)) {
-			pr_unimpl(vcpu, "%s: MSR_IA32_DEBUGCTL 0x%llx, nop\n",
+			vcpu_pr_unimpl(vcpu, "%s: MSR_IA32_DEBUGCTL 0x%llx, nop\n",
(Continue reading)

Peter Lieven | 9 Feb 19:12

qemu-kvm-1.0 regression with usb tablet after live migration

Hi,

i recently started updating our VMs to qemu-kvm 1.0. Since that I see 
that the usb tablet device (used for as pointer device for accurate
mouse positioning) becomes unavailable after live migrating.
If I migrate a few times a Windows 7 VM reliable stops using
the USB tablet and fails back to PS/2 mouse.
If I do the same with qemu-kvm-0.12.5 with the very same VM its working 
fine.

Can anyone imagine what introduced this flaw?

Thanks,
Peter

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gmane