Re: [kvm-devel] [ANNOUNCE] kvm-60 release

2008-01-24 Thread Avi Kivity
Avi Kivity wrote: I'd hoped to release the first version of virtio guest drivers with kvm-60, but that is delayed, and enough changes have accumulated. Most notable is virtio host support and Vista x64 on AMD hosts. Changes from kvm-59: I missed: - fix unbounded latency due to a

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Izik Eidus
Chris Wright wrote: * Izik Eidus ([EMAIL PROTECTED]) wrote: Just a bunch of nitpicks. struct ksm *ksm; static yes static int page_hash_size = 0; no need to initialize to zero ok module_param(page_hash_size, int, 0); MODULE_PARM_DESC(page_hash_size, Hash

Re: [kvm-devel] [RFC][PATCH 0/5] Memory merging driver for Linux

2008-01-24 Thread Izik Eidus
Avi Kivity wrote: Chris Wright wrote: * Izik Eidus ([EMAIL PROTECTED]) wrote: this module find this identical data (pages) and merge them into one single page this new page is write protected so in any case the guest will try to write to it do_wp_page will duplicate the page

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Avi Kivity
Izik Eidus wrote: struct ksm *ksm; static yes Actually the entire contents of 'struct ksm' should be module static variables. -- Any sufficiently difficult bug is indistinguishable from a feature. -

Re: [kvm-devel] [RFC][PATCH 1/2] KVM: In-kernel PIT model

2008-01-24 Thread Avi Kivity
Yang, Sheng wrote: I updated patch using ktime_get() (Is it too heavy?). Shouldn't be. At least on modern hosts. And currently all the muldiv64() is used to divide 1e9, which can be insteaded by 30 approximately. What's your opinion? Accuracy is more important. And modern

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Izik Eidus
Avi Kivity wrote: Izik Eidus wrote: struct ksm *ksm; static yes Actually the entire contents of 'struct ksm' should be module static variables. i agree with you, i will fix this as well -- woof. -

Re: [kvm-devel] [PATCH] KVM: VMX: Enable Virtual Processor Identification (VPID)

2008-01-24 Thread Aurelien Jarno
Yang, Sheng a écrit : From 39551508c869f678f028655c062b3cb5fe4715bc Mon Sep 17 00:00:00 2001 From: Sheng Yang [EMAIL PROTECTED] Date: Thu, 17 Jan 2008 15:14:33 +0800 Subject: [PATCH] KVM: VMX: Enable Virtual Processor Identification (VPID) To allow TLB entries to be retained across VM entry

Re: [kvm-devel] [PATCH]: Make migration handle errors a little better

2008-01-24 Thread Uri Lublin
Chris Lalancette wrote: All, Attached is a fairly simple patch to the migration code to make it handle errors better. In particular, if the remote side wasn't set up properly (i.e. the memory size didn't match), the migration would fail, but the source host didn't actually react

Re: [kvm-devel] Migration problems

2008-01-24 Thread Uri Lublin
Chris Lalancette wrote: All, I've been doing some migration testing of KVM guests, and have been running into some problems. Let me describe the setup and what I've tried, and maybe somebody has some ideas about what might be going on here. When I try to do live migration this way,

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Avi Kivity
Andrea Arcangeli wrote: On Thu, Jan 24, 2008 at 07:56:43AM +0200, Avi Kivity wrote: What I need is a list of (mm, va) that map the page. kvm doesn't have access to that, export notifiers do. It seems reasonable that export notifier do that rmap walk since they are part of core mm, not

Re: [kvm-devel] [PATCH] system_powerdown via acpi power button

2008-01-24 Thread Guido Guenther
On Tue, Jan 22, 2008 at 01:12:12PM +0100, Jan Kiszka wrote: Guido Guenther wrote: On Tue, Jan 22, 2008 at 11:11:00AM +0100, Jan Kiszka wrote: #if defined(TARGET_I386) void qemu_system_powerdown(void) { +if (!pm_state) +exit(0); if(pm_state-pmen PWRBTN_EN) {

Re: [kvm-devel] [PATCH] system_powerdown via acpi power button

2008-01-24 Thread Avi Kivity
Guido Guenther wrote: If the guest can't do that, it simply can't. You can then SIGTERM the guest after a timeout. Note that even an acpi system might not be able to shut down since it hangs on a network unmount or it ignores the ACPI interrupt via kernel commandline or whatever. You can't

Re: [kvm-devel] [PATCH] system_powerdown via acpi power button

2008-01-24 Thread Avi Kivity
Gerd Hoffmann wrote: Avi Kivity wrote: Agree, but should try a quit monitor command first. Signals are racy, like anything that deals with pids (qemu dies, another process is fork()ed with the same pid, libvirt kills it). There is no race in that specific case because qemu is

Re: [kvm-devel] [PATCH 1 of 2] Define and use CONFIG_KVM_HAS_PIO so that we don't need pio_data in kvm_arch_vcpu

2008-01-24 Thread Carsten Otte
Avi Kivity wrote: Too much Kconfig for this. Since I want to do some Kconfig changes anyway, I'll do this another way. I think you overlooked something here. Actually this should change too if we don't have pio: -...case KVM_GET_VCPU_MMAP_SIZE: -...-...r = -EINVAL;

Re: [kvm-devel] [PATCH 1 of 2] Define and use CONFIG_KVM_HAS_PIO so that we don't need pio_data in kvm_arch_vcpu

2008-01-24 Thread Avi Kivity
Carsten Otte wrote: Avi Kivity wrote: Too much Kconfig for this. Since I want to do some Kconfig changes anyway, I'll do this another way. I think you overlooked something here. Actually this should change too if we don't have pio: -...case KVM_GET_VCPU_MMAP_SIZE: -...-...r =

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Andrea Arcangeli
On Wed, Jan 23, 2008 at 12:18:45PM -0800, Christoph Lameter wrote: On Wed, 23 Jan 2008, Andrea Arcangeli wrote: [..] The linux instance with the secondary mmu must call back to the exporting machine in order to reinstantiate the page. PageExported is cleared in invalidate_page() so

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Andrea Arcangeli
On Thu, Jan 24, 2008 at 03:34:54PM +0100, Andrea Arcangeli wrote: set_page_dirty can be called inside -invalidate_page if needed. But I'm not against artificially setting the dirty bit of the pteval returned by set_page_dirty, perhaps that's more efficient as it will

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Avi Kivity
Andrea Arcangeli wrote: The remote page fault As we have two names for this ('shadow' and 'remote/export') I'd like to suggest a neutral nomenclature. How about 'secondary mmu' (and secondary ptes (sptes), etc.)? I think this fits xpmem, kvm, rdma, and dri. -- Any sufficiently

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Avi Kivity
Avi Kivity wrote: Andrea Arcangeli wrote: The remote page fault As we have two names for this ('shadow' and 'remote/export') I'd like to suggest a neutral nomenclature. How about 'secondary mmu' (and secondary ptes (sptes), etc.)? I think this fits xpmem, kvm, rdma, and

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Andrea Arcangeli
On Wed, Jan 23, 2008 at 12:27:47PM -0800, Christoph Lameter wrote: There are still dirty bit issues. Yes, but no big issues given -invalidate_page is fully capable of running set_page_dirty if needed. The window that you must close with that bitflag is the request coming from the remote

[kvm-devel] [PATCH] kvm: testsuite: silence warnings on x86_64

2008-01-24 Thread Bernhard Kaindl
Hi, please find the following trivial warning fix patch for kvm-60/user/test/x86/* below. Feel free to merge to upstream kvm. It's diffed against kvm-60. The patch does not change things, just shuts up the warnings. The deal here is that we check for warnings and are

Re: [kvm-devel] [PATCH] kvm: testsuite: silence warnings on x86_64

2008-01-24 Thread Avi Kivity
Bernhard Kaindl wrote: I did not test this patch as I did not find documentation on how to run the test cases and I could not find a make target to run them from make. make -C user test_cases user/kvmctl user/test/x86/bootstrap user/test/x86/access.flat (we should rename user - test)

[kvm-devel] ia64 kernel patches?

2008-01-24 Thread Jes Sorensen
Hi, Trying to browse the list archives, but both gmane and sourcefrog's interfaces are really painful to deal with. So, any chance someone could point me at the current ia64 KVM kernel patches? I notice they are not yet in Avi's tree. Cheers, Jes

Re: [kvm-devel] [PATCH] kvm: testsuite: silence warnings on x86_64

2008-01-24 Thread Bernhard Kaindl
On Thu, 24 Jan 2008, Avi Kivity wrote: make -C user test_cases user/kvmctl user/test/x86/bootstrap user/test/x86/access.flat Ah, thanks! -smp_init(ac_test_run); +smp_init((void (*)(void))ac_test_run); Better to add a wrapper that conforms to the expected signature, and makes

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Chris Wright
* Izik Eidus ([EMAIL PROTECTED]) wrote: Chris Wright wrote: list_add_tail(slot-link, ksm-slots); slots_lock? good catch, i forgat to put it here list_add_tail(slot-sma_link, ksm_sma-sma_slots); theoretical, but if threaded, registering program could do this concurrently

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Chris Wright
* Avi Kivity ([EMAIL PROTECTED]) wrote: Actually the entire contents of 'struct ksm' should be module static variables. Yeah, I agree. - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R)

Re: [kvm-devel] ia64 kernel patches?

2008-01-24 Thread Chris Wright
* Jes Sorensen ([EMAIL PROTECTED]) wrote: Trying to browse the list archives, but both gmane and sourcefrog's interfaces are really painful to deal with. So, any chance someone could point me at the current ia64 KVM kernel patches? I notice they are not yet in Avi's tree. The last full

Re: [kvm-devel] [PATCH]: Make migration handle errors a little better

2008-01-24 Thread Chris Lalancette
Uri Lublin wrote: Chris Lalancette wrote: All, Attached is a fairly simple patch to the migration code to make it handle errors better. In particular, if the remote side wasn't set up properly (i.e. the memory size didn't match), the migration would fail, but the source host

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Avi Kivity
Chris Wright wrote: struct ksm_memory_region { __u32 npages; /* number of pages to share */ __u64 addr; /* the begining of the virtual address */ }; why isnt it compat safe? 32-bit has more relaxed alignment requirement for __u64 (4 bytes) than 64-bit (8 bytes).

Re: [kvm-devel] [PATCH]: Make migration handle errors a little better

2008-01-24 Thread Chris Lalancette
Uri Lublin wrote: Patch looks good. Why did you define MIG_STAT_DIRTY_TRACK_FAIL and not MIG_STAT_KVM_SET_DIRTY_TRACKING_FAILED ? Oops, I slightly misunderstood this bit in my last e-mail. You were saying that there is already a MIG_STAT_KVM_SET_DIRTY_TRACKING_FAILED error flag. In the new

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Christoph Lameter
On Thu, 24 Jan 2008, Andrea Arcangeli wrote: SetPageExported is set when a remote instance of linux establishes a reference to the page (a kind of remote page fault). In the KVM scenario that would occur when memory is made available. The remote page fault is exactly the thing that has

[kvm-devel] [PATCH] Update virtio to latest ABI

2008-01-24 Thread Anthony Liguori
This patch updates KVM's virtio implementation to the latest virtio ABI. This includes a change in the network header and support for reset. With this patch, the block and network driver from Rusty's latest queue are functioning. Module unload and reload work and I no longer see an error when

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Christoph Lameter
On Thu, 24 Jan 2008, Andrea Arcangeli wrote: I think you should consider if you can also build a rmap per-MM like KVM does and index it by the virtual address like KVM does. Yes we have that. If we have that then we do not need the mmu_notifier. We could call it with a page parameter and

Re: [kvm-devel] [RFC][PATCH 3/5] ksm source code

2008-01-24 Thread Chris Wright
* Avi Kivity ([EMAIL PROTECTED]) wrote: Chris Wright wrote: struct ksm_memory_region { __u32 npages; /* number of pages to share */ __u64 addr; /* the begining of the virtual address */ }; why isnt it compat safe? 32-bit has more relaxed alignment requirement for __u64 (4

Re: [kvm-devel] [PATCH 2/2] virtio reset support

2008-01-24 Thread Rusty Russell
On Friday 25 January 2008 00:09:07 Dor Laor wrote: The patches really fix/simplify things :) Yes, that's why I like reset, it solves multiple problems. Did you test device open-close-open? It was broken in my last test, Well, it's not really fair, since I moved the buffer allocation and

Re: [kvm-devel] ia64 kernel patches?

2008-01-24 Thread Zhang, Xiantao
Hi, Jes Yes, Anthony and I are working with kernel-ia64 and kvm community to push the patches. Since kernel should export some interface for kvm use, we have to wait the response from kernel-ia64. But anyway, It should be picked up in near future. :) Compared with last push, we added smp

Re: [kvm-devel] [PATCH] KVM: VMX: Enable Virtu al Processor Identification (VPID)

2008-01-24 Thread Yang, Sheng
On Thursday 24 January 2008 19:15:57 Aurelien Jarno wrote: Yang, Sheng a écrit : From 39551508c869f678f028655c062b3cb5fe4715bc Mon Sep 17 00:00:00 2001 From: Sheng Yang [EMAIL PROTECTED] Date: Thu, 17 Jan 2008 15:14:33 +0800 Subject: [PATCH] KVM: VMX: Enable Virtual Processor

Re: [kvm-devel] [PATCH] KVM: VMX: Enable Virtu al Processor Identification (VPID)

2008-01-24 Thread Yang, Sheng
On Thursday 24 January 2008 19:50:20 Avi Kivity wrote: Yang, Sheng wrote: To allow TLB entries to be retained across VM entry and VM exit, the VMM can now identify distinct address spaces through a new virtual-processor ID (VPID) field of the VMCS. +#define VPID_BITMAP_SIZE

[kvm-devel] KVM-59-r1 on Gentoo

2008-01-24 Thread John Serink
Hi Guys: My System: Linux jerinkturion 2.6.20-gentoo-r7 #20 SMP PREEMPT Thu Jan 24 14:34:23 SGT 2008 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-60 AuthenticAMD GNU/Linux Acer Ferarri 5000 Laptop. I was previously runng qemu 0.9.0 with kqemu to run Windows XP-SP2. I installed KVM-59-r1

[kvm-devel] [patch 1/4] mmu_notifier: Core code

2008-01-24 Thread Christoph Lameter
Core code for mmu notifiers. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] Signed-off-by: Andrea Arcangeli [EMAIL PROTECTED] --- include/linux/mm_types.h |8 ++ include/linux/mmu_notifier.h | 152 +++ include/linux/page-flags.h |9 ++

[kvm-devel] [patch 2/4] mmu_notifier: Callbacks to invalidate address ranges

2008-01-24 Thread Christoph Lameter
The invalidation of address ranges in a mm_struct needs to be performed when pages are removed or permissions etc change. invalidate_range() is generally called with mmap_sem held but no spinlocks are active. Exceptions: We hold i_mmap_lock in __unmap_hugepage_range and sometimes in

[kvm-devel] [patch 4/4] MMU notifier: invalidate_page callbacks using Linux rmaps

2008-01-24 Thread Christoph Lameter
These notifiers here use the Linux rmaps to perform the callbacks. In order to walk the rmaps locks must be held. Callbacks can therefore only operate in an atomic context. Signed-off-by: Christoph Lameter [EMAIL PROTECTED] --- mm/filemap_xip.c |1 + mm/fremap.c |1 + mm/memory.c

[kvm-devel] [patch 3/4] mmu_notifier: invalidate_page callbacks for subsystems with rmap

2008-01-24 Thread Christoph Lameter
Callbacks to remove individual pages if the subsystem has an rmap capability. The pagelock is held but no spinlocks are held. The refcount of the page is elevated so that dropping the refcount in the subsystem will not directly free the page. The callbacks occur after the Linux rmaps have been

[kvm-devel] [patch 0/4] [RFC] MMU Notifiers V1

2008-01-24 Thread Christoph Lameter
This is a patchset implementing MMU notifier callbacks based on Andrea's earlier work. These are needed if Linux pages are referenced from something else than tracked by the rmaps of the kernel. To do: - Make locking requirements for the callbacks consistent and document them accurately. -

Re: [kvm-devel] [PATCH] export notifier #1

2008-01-24 Thread Avi Kivity
Christoph Lameter wrote: On Thu, 24 Jan 2008, Andrea Arcangeli wrote: I think you should consider if you can also build a rmap per-MM like KVM does and index it by the virtual address like KVM does. Yes we have that. If we have that then we do not need the mmu_notifier. We

[kvm-devel] Physician List in the US

2008-01-24 Thread polysaccharide
Current Physicians in the USA 788,008 in total 17,377 emails Physicians in many different specialties Sort by over a dozen different fields Now offered at the lower rate: $393 === You get these for F-Ree with every order this week === US Pharmaceutical Company Executives

Re: [kvm-devel] [PATCH] KVM: VMX: Enable Virtual Processor Identification (VPID)

2008-01-24 Thread Avi Kivity
Yang, Sheng wrote: Here is the updated patch: Applied, thanks. @@ -1714,6 +1788,8 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu) vmx_fpu_activate(vmx-vcpu); update_exception_bitmap(vmx-vcpu); + vpid_sync_all(); + return 0; This causes the new

Re: [kvm-devel] [PATCH] KVM: VMX: Enable Virtual Processor Identification (VPID)

2008-01-24 Thread Yang, Sheng
On Friday 25 January 2008 14:52:47 Avi Kivity wrote: Yang, Sheng wrote: Here is the updated patch: Applied, thanks. @@ -1714,6 +1788,8 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu) vmx_fpu_activate(vmx-vcpu); update_exception_bitmap(vmx-vcpu); + vpid_sync_all(); +

Re: [kvm-devel] [PATCH] KVM: VMX: Enable Virtual Processor Identification (VPID)

2008-01-24 Thread Avi Kivity
Yang, Sheng wrote: I think it's OK for there is a judgment in __invvpid() to see if machine has the ability(also if it is allowed to using VPID). :) Oh right, I missed that. We can remove it now since it will only be called if vpid != 0, and that happens only on vpid enabled machines,