Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Avi Kivity
On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: What if TARGET_PAGE_SIZE getpagesize()? Or is that impossible? We have yet to encounter such a case. It's not currently possible on power (some old embedded chips could do 1K and 2K

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Benjamin Herrenschmidt
On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: What if TARGET_PAGE_SIZE getpagesize()? Or is that impossible? We have yet to encounter such a case. It's not currently

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Avi Kivity
On 03/04/2012 01:53 PM, Benjamin Herrenschmidt wrote: On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: What if TARGET_PAGE_SIZE getpagesize()? Or is that impossible?

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Andreas Färber
Am 04.03.2012 12:53, schrieb Benjamin Herrenschmidt: On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: What if TARGET_PAGE_SIZE getpagesize()? Or is that impossible? We have yet

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Alexander Graf
On 04.03.2012, at 17:46, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 12:53, schrieb Benjamin Herrenschmidt: On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: What if

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Andreas Färber
Am 04.03.2012 19:46, schrieb Alexander Graf: On 04.03.2012, at 17:46, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 12:53, schrieb Benjamin Herrenschmidt: On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: On 02/28/2012 11:48 PM, Benjamin Herrenschmidt wrote: On Tue, 2012-02-28

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Alexander Graf
On 04.03.2012, at 21:21, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 19:46, schrieb Alexander Graf: On 04.03.2012, at 17:46, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 12:53, schrieb Benjamin Herrenschmidt: On Sun, 2012-03-04 at 12:49 +0200, Avi Kivity wrote: On

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Andreas Färber
Am 04.03.2012 21:25, schrieb Alexander Graf: On 04.03.2012, at 21:21, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 19:46, schrieb Alexander Graf: On 04.03.2012, at 17:46, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 12:53, schrieb Benjamin Herrenschmidt: On Sun,

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Alexander Graf
On 04.03.2012, at 21:31, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 21:25, schrieb Alexander Graf: On 04.03.2012, at 21:21, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 19:46, schrieb Alexander Graf: On 04.03.2012, at 17:46, Andreas Färber afaer...@suse.de wrote:

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Benjamin Herrenschmidt
On Sun, 2012-03-04 at 17:46 +0100, Andreas Färber wrote: Except for ppcemb-softmmu (1k), which is irrelevant for KVM AFAIU. Maybe just add an assert and be done with it? Well, my patch should work anyway, as long as getpagesize() returns a higher power of two. The case that wouldn't work

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Benjamin Herrenschmidt
On Sun, 2012-03-04 at 21:59 +0100, Alexander Graf wrote: g_assert(TARGET_PAGE_SIZE = getpagesize()) Just declare the above case as unsupported and abort if we encounter it. What I'm trying to tell you is that it's the default case on book3s ppc! ;) Exactly, which is why I'm

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Andreas Färber
Am 04.03.2012 21:59, schrieb Alexander Graf: On 04.03.2012, at 21:31, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 21:25, schrieb Alexander Graf: On 04.03.2012, at 21:21, Andreas Färber afaer...@suse.de wrote: Am 04.03.2012 19:46, schrieb Alexander Graf: On 04.03.2012, at

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-04 Thread Alexander Graf
On 04.03.2012, at 22:19, Benjamin Herrenschmidt b...@kernel.crashing.org wrote: On Sun, 2012-03-04 at 21:59 +0100, Alexander Graf wrote: g_assert(TARGET_PAGE_SIZE = getpagesize()) Just declare the above case as unsupported and abort if we encounter it. What I'm trying to tell you is

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-03-03 Thread Blue Swirl
On Mon, Feb 27, 2012 at 00:36, Alexander Graf ag...@suse.de wrote: On 26.02.2012, at 22:41, Blue Swirl wrote: On Fri, Feb 24, 2012 at 00:23, David Gibson da...@gibson.dropbear.id.au wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-28 Thread Avi Kivity
On 02/24/2012 02:23 AM, David Gibson wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels compiled for 64K pages, the dirty tracking doesn't work. Cc: Avi Kivity a...@redhat.com

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-28 Thread Benjamin Herrenschmidt
On Tue, 2012-02-28 at 14:32 +0200, Avi Kivity wrote: What if TARGET_PAGE_SIZE getpagesize()? Or is that impossible? We have yet to encounter such a case. It's not currently possible on power (some old embedded chips could do 1K and 2K page sizes in the TLB iirc but we never supported that in

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-28 Thread Alexander Graf
On 24.02.2012, at 01:23, David Gibson wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels compiled for 64K pages, the dirty tracking doesn't work. Cc: Avi Kivity

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-28 Thread David Gibson
On Wed, Feb 29, 2012 at 12:32:51AM +0100, Alexander Graf wrote: On 24.02.2012, at 01:23, David Gibson wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels compiled for 64K

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-26 Thread Blue Swirl
On Fri, Feb 24, 2012 at 00:23, David Gibson da...@gibson.dropbear.id.au wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels compiled for 64K pages, the dirty tracking doesn't

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-26 Thread David Gibson
On Sun, Feb 26, 2012 at 09:41:17PM +, Blue Swirl wrote: On Fri, Feb 24, 2012 at 00:23, David Gibson da...@gibson.dropbear.id.au wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-26 Thread Benjamin Herrenschmidt
On Mon, 2012-02-27 at 11:16 +1100, David Gibson wrote: If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels compiled for 64K pages, the dirty tracking doesn't work. I think a better solution would be to push this to memory API and

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-26 Thread Alexander Graf
On 26.02.2012, at 22:41, Blue Swirl wrote: On Fri, Feb 24, 2012 at 00:23, David Gibson da...@gibson.dropbear.id.au wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels

[Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-23 Thread David Gibson
From: Benjamin Herrenschmidt b...@kernel.crashing.org If the kernel page size is larger than TARGET_PAGE_SIZE, which happens for example on ppc64 with kernels compiled for 64K pages, the dirty tracking doesn't work. Cc: Avi Kivity a...@redhat.com Cc: Marcelo Tossatti mtossa...@redhat.com

Re: [Qemu-devel] [PATCH 6/6] kvm: Fix dirty tracking with large kernel page size

2012-02-23 Thread Benjamin Herrenschmidt
diff --git a/kvm-all.c b/kvm-all.c index 5e188bf..3f8cfd9 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -348,10 +348,11 @@ static int kvm_set_migration_log(int enable) static int kvm_get_dirty_pages_log_range(MemoryRegionSection *section, unsigned long