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 compiled for 64K pages, >> the dirty tracking doesn't work. > > I think a better solution would be to push this to memory API and > underlying exec.c dirty tracking so that they use the same page size > as kernel (only in this KVM case, in general dirty tracking should > match TARGET_PAGE_SIZE granularity).
Yeah, that would allow us to make sure we only align MMIO regions where we can, but I don't think it's an easy change to make. And this way the common page size throughout QEMU is TARGET_PAGE_SIZE, which other pieces of code rely on. Also, dynamically changing TARGET_PAGE_SIZE has unknown performance implications. So for the time being, I definitely think this is the right approach. It's easy and isolated :). Alex