Re: [PATCH v2 0/2] MTE support for KVM guest

From: Andrew Jones
Date: Thu Sep 10 2020 - 01:45:10 EST


On Wed, Sep 09, 2020 at 06:45:33PM -0700, Richard Henderson wrote:
> On 9/9/20 8:25 AM, Andrew Jones wrote:
> >> * Provide a KVM-specific method to extract the tags from guest memory.
> >> This might also have benefits in terms of providing an easy way to
> >> read bulk tag data from guest memory (since the LDGM instruction
> >> isn't available at EL0).
> >
> > Maybe we need a new version of KVM_GET_DIRTY_LOG that also provides
> > the tags for all addresses of each dirty page.
>
> KVM_GET_DIRTY_LOG just provides one bit per dirty page, no? Then VMM copies
> the data out from its local address to guest memory.
>
> There'd be no difference with or without tags, afaik. It's just about how VMM
> copies the data, with or without tags.

Right, as long as it's fast enough to do

for_each_dirty_page(page, dirty_log)
for (i = 0; i < host-page-size/16; i += 16)
append_tag(LDG(page + i))

to get all the tags for each dirty page. I understood it would be faster
to use LDGM, but we'd need a new ioctl for that. So I was proposing we
just piggyback on a new dirty-log ioctl instead.

Thanks,
drew