From: Alexander Graf <agraf@suse.de>
To: Andrew Jones <drjones@redhat.com>,
kvmarm@lists.cs.columbia.edu, qemu-devel@nongnu.org,
ard.biesheuvel@linaro.org, christoffer.dall@linaro.org,
marc.zyngier@arm.com, peter.maydell@linaro.org,
pbonzini@redhat.com
Cc: catalin.marinas@arm.com, lersek@redhat.com
Subject: Re: the arm cache coherency cluster "v2"
Date: Sun, 03 May 2015 23:29:54 +0200 [thread overview]
Message-ID: <55469352.9000707@suse.de> (raw)
In-Reply-To: <20150318191819.GB7077@hawk.usersys.redhat.com>
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
WARNING: multiple messages have this Message-ID (diff)
From: Alexander Graf <agraf@suse.de>
To: Andrew Jones <drjones@redhat.com>,
kvmarm@lists.cs.columbia.edu, qemu-devel@nongnu.org,
ard.biesheuvel@linaro.org, christoffer.dall@linaro.org,
marc.zyngier@arm.com, peter.maydell@linaro.org,
pbonzini@redhat.com
Cc: catalin.marinas@arm.com, lersek@redhat.com, m.smarduch@samsung.com
Subject: Re: [Qemu-devel] the arm cache coherency cluster "v2"
Date: Sun, 03 May 2015 23:29:54 +0200 [thread overview]
Message-ID: <55469352.9000707@suse.de> (raw)
In-Reply-To: <20150318191819.GB7077@hawk.usersys.redhat.com>
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
next prev parent reply other threads:[~2015-05-03 21:21 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-18 19:08 the arm cache coherency cluster "v2" Andrew Jones
2015-03-18 19:08 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:10 ` [RFC PATCH 0/3] KVM: Introduce KVM_MEM_UNCACHED Andrew Jones
2015-03-18 19:10 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:10 ` [RFC PATCH 1/3] KVM: promote KVM_MEMSLOT_INCOHERENT to uapi Andrew Jones
2015-03-18 19:10 ` [Qemu-devel] " Andrew Jones
2015-04-20 15:26 ` Christoffer Dall
2015-04-20 15:26 ` [Qemu-devel] " Christoffer Dall
2015-03-18 19:10 ` [RFC PATCH 2/3] arm/arm64: KVM: decouple READONLY and UNCACHED Andrew Jones
2015-03-18 19:10 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:10 ` [RFC PATCH 3/3] arm/arm64: KVM: implement KVM_MEM_UNCACHED Andrew Jones
2015-03-18 19:10 ` [Qemu-devel] " Andrew Jones
2015-03-19 16:56 ` [RFC PATCH 0/3] KVM: Introduce KVM_MEM_UNCACHED Paolo Bonzini
2015-03-19 16:56 ` [Qemu-devel] " Paolo Bonzini
2015-03-19 17:24 ` Andrew Jones
2015-03-19 17:24 ` [Qemu-devel] " Andrew Jones
2015-04-29 9:03 ` Alexander Graf
2015-04-29 9:03 ` Alexander Graf
2015-04-29 9:19 ` Peter Maydell
2015-04-29 9:19 ` Peter Maydell
2015-04-29 11:19 ` Andrew Jones
2015-04-29 11:19 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:11 ` [RFC PATCH 0/4] support KVM_MEM_UNCACHED Andrew Jones
2015-03-18 19:11 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:11 ` [RFC PATCH 1/4] kvm-all: put kvm_mem_flags to more work Andrew Jones
2015-03-18 19:11 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:11 ` [RFC PATCH 2/4] HACK: linux header update Andrew Jones
2015-03-18 19:11 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:11 ` [RFC PATCH 3/4] memory: add uncached flag Andrew Jones
2015-03-18 19:11 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:11 ` [RFC PATCH 4/4] vga: flag vram as uncached Andrew Jones
2015-03-18 19:11 ` [Qemu-devel] " Andrew Jones
2015-03-18 19:18 ` the arm cache coherency cluster "v2" Andrew Jones
2015-03-18 19:18 ` [Qemu-devel] " Andrew Jones
2015-05-03 21:29 ` Alexander Graf [this message]
2015-05-03 21:29 ` Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55469352.9000707@suse.de \
--to=agraf@suse.de \
--cc=ard.biesheuvel@linaro.org \
--cc=catalin.marinas@arm.com \
--cc=christoffer.dall@linaro.org \
--cc=drjones@redhat.com \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=lersek@redhat.com \
--cc=marc.zyngier@arm.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.