Re: [Qemu-devel] the arm cache coherency cluster v2
On 18.03.15 20:18, Andrew Jones wrote: On Wed, Mar 18, 2015 at 03:08:20PM -0400, Andrew Jones wrote: In reply to this message I'll send two series' one for KVM and one for QEMU. The two series' are their respective component complements, and attempt to implement cache coherency for arm guests using emulated devices, where the emulator (qemu) uses cached memory for the device memory, but the guest uses uncached - as device memory is generally used. Right now I've just focused on VGA vram. This approach is the MADV_UNCACHED type that Paolo suggested. This type of approach could also be described as make userspace's memory access type match the expected access type of the guest, and Mario has suggested using a memory driver, which could have the same result. The coming series' is inspired by both Paolo's and Mario's suggestions, but it uses a kvm memslot flag, rather than an madvise flag, and thus for the memory driver, it's just KVM. See the thread https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg01254.html for some more background. Thanks in advance for comments. drew I forgot to mention that I've done some light testing with this. It seems to work, and without (to eye) noticeable performance degradation. Just for the record, I couldn't get it to work :). But I'm looking forward to the next version with MMU notifiers! Alex
[Qemu-devel] the arm cache coherency cluster v2
In reply to this message I'll send two series' one for KVM and one for QEMU. The two series' are their respective component complements, and attempt to implement cache coherency for arm guests using emulated devices, where the emulator (qemu) uses cached memory for the device memory, but the guest uses uncached - as device memory is generally used. Right now I've just focused on VGA vram. This approach is the MADV_UNCACHED type that Paolo suggested. This type of approach could also be described as make userspace's memory access type match the expected access type of the guest, and Mario has suggested using a memory driver, which could have the same result. The coming series' is inspired by both Paolo's and Mario's suggestions, but it uses a kvm memslot flag, rather than an madvise flag, and thus for the memory driver, it's just KVM. See the thread https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg01254.html for some more background. Thanks in advance for comments. drew
Re: [Qemu-devel] the arm cache coherency cluster v2
On Wed, Mar 18, 2015 at 03:08:20PM -0400, Andrew Jones wrote: In reply to this message I'll send two series' one for KVM and one for QEMU. The two series' are their respective component complements, and attempt to implement cache coherency for arm guests using emulated devices, where the emulator (qemu) uses cached memory for the device memory, but the guest uses uncached - as device memory is generally used. Right now I've just focused on VGA vram. This approach is the MADV_UNCACHED type that Paolo suggested. This type of approach could also be described as make userspace's memory access type match the expected access type of the guest, and Mario has suggested using a memory driver, which could have the same result. The coming series' is inspired by both Paolo's and Mario's suggestions, but it uses a kvm memslot flag, rather than an madvise flag, and thus for the memory driver, it's just KVM. See the thread https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg01254.html for some more background. Thanks in advance for comments. drew I forgot to mention that I've done some light testing with this. It seems to work, and without (to eye) noticeable performance degradation. Thanks, drew