Re: the arm cache coherency cluster "v2"

Alexander Graf
2015-05-03T21:21:20Z

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