From: Christoffer Dall <cdall@linaro.org>
To: Auger Eric <eric.auger@redhat.com>
Cc: eric.auger.pro@gmail.com, linux-kernel@vger.kernel.org,
kvm@vger.kernel.org, marc.zyngier@arm.com,
peter.maydell@linaro.org, andre.przywara@arm.com,
wanghaibin.wang@huawei.com, wu.wubin@huawei.com
Subject: Re: [PATCH 7/9] KVM: arm/arm64: vgic-its: free caches when GITS_BASER Valid bit is cleared
Date: Mon, 16 Oct 2017 11:59:13 +0200 [thread overview]
Message-ID: <20171016095913.GB1845@lvm> (raw)
In-Reply-To: <96697f44-9f1d-347c-82dd-bb5b1c6cbdc2@redhat.com>
On Mon, Oct 16, 2017 at 11:44:05AM +0200, Auger Eric wrote:
> Hi Christoffer,
> On 16/10/2017 11:26, Christoffer Dall wrote:
> > Hi Eric,
> >
> > On Mon, Sep 25, 2017 at 03:34:36PM +0200, Eric Auger wrote:
> >> When the GITS_BASER<n>.Valid gets cleared, the data structures in
> >> guest RAM are not provisionned anymore. The device, collection
> >> and LPI lists stored in the in-kernel ITS represent the same
> >> information in some form of cache. So let's void the cache.
> >
> > Just a thought. What about the opposite case, if the BASERs were
> > previously not valid, and then become valid, is the ITS expected restore
> > the state from memory?
> >
> > Thanks,
> > -Christoffer
> >
> No the spec does not mandate that as far as I understand. Also the spec
> does not mandate clearing the cache when BASER moves to invalid (which
> this patch does), although this would have madee sense to me. So maybe
> we should drop that patch and only clean the cache when the IOCTL is used.
>
I thought Marc pointed out that there is at least one hardware
implementation which does clean its cache when the BASER moves to
invalid, so it's not unlikely that software could rely on this behavior,
and I therefore think we should implement it, because it's not in
violation of the spec either.
Thanks,
-Christoffer
next prev parent reply other threads:[~2017-10-16 9:59 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-25 13:34 [PATCH 0/9] vITS Migration fixes and reset Eric Auger
2017-09-25 13:34 ` [PATCH 1/9] KVM: arm/arm64: vgic-its: fix return value for restore Eric Auger
2017-09-25 13:34 ` [PATCH 2/9] KVM: arm/arm64: vgic-its: Always allow clearing GITS_CREADR/CWRITER Eric Auger
2017-09-25 13:34 ` [PATCH 3/9] KVM: arm/arm64: vgic-its: Improve error reporting on device table save Eric Auger
2017-09-25 13:34 ` [PATCH 4/9] KVM: arm/arm64: vgic-its: Check GITS_BASER Valid bit before saving tables Eric Auger
2017-09-25 13:34 ` [PATCH 5/9] KVM: arm/arm64: vgic-its: Check GITS_CBASER validity before processing commands Eric Auger
2017-09-25 13:34 ` [PATCH 6/9] KVM: arm/arm64: vgic-its: new helper functions to free the caches Eric Auger
2017-09-25 13:34 ` [PATCH 7/9] KVM: arm/arm64: vgic-its: free caches when GITS_BASER Valid bit is cleared Eric Auger
2017-10-16 9:26 ` Christoffer Dall
2017-10-16 9:44 ` Auger Eric
2017-10-16 9:59 ` Christoffer Dall [this message]
2017-10-16 9:47 ` Peter Maydell
2017-10-16 10:01 ` Christoffer Dall
2017-09-25 13:34 ` [PATCH 8/9] KVM: arm/arm64: Document KVM_DEV_ARM_ITS_CTRL_RESET Eric Auger
2017-09-25 13:34 ` [PATCH 9/9] KVM: arm/arm64: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET Eric Auger
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=20171016095913.GB1845@lvm \
--to=cdall@linaro.org \
--cc=andre.przywara@arm.com \
--cc=eric.auger.pro@gmail.com \
--cc=eric.auger@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=peter.maydell@linaro.org \
--cc=wanghaibin.wang@huawei.com \
--cc=wu.wubin@huawei.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox