From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
Andrew Cooper <andrew.cooper3@citrix.com>,
Anthony PERARD <anthony.perard@vates.tech>,
Michal Orzel <michal.orzel@amd.com>,
Jan Beulich <jbeulich@suse.com>,
Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 3/9] xen/gnttab: limit cache flush operation to guests allowed cache control
Date: Tue, 6 May 2025 12:40:34 +0200 [thread overview]
Message-ID: <aBnnIm-Zg1bEJmJF@macbook.lan> (raw)
In-Reply-To: <daf9d45e-bcbf-4554-83d8-e51e3fc0ed38@xen.org>
On Tue, May 06, 2025 at 11:15:09AM +0100, Julien Grall wrote:
> Hi Roger,
>
> On 06/05/2025 09:31, Roger Pau Monne wrote:
> > Whether a domain is allowed to issue cache-control operations is reported
> > by the cache_flush_permitted() check. Introduce such check to limit the
> > availability of GNTTABOP_cache_flush to only guests that are granted cache
> > control.
>
> Can you outline what's the problem you are trying to solve? Asking, because
> I don't see the problem of allowing any guest calling GNTTABOP_cache_flush
> on Arm from any domains.
At least on x86 cache flush operations are restricted to guests for
which cache_flush_permitted() returns true. I've assumed the same
would apply to Arm, since cache_flush_permitted() is also defined
there. If it's fine to issue cache flush operations from any guests
on ARM, I suggest cache_flush_permitted() should unconditionally
return true then.
The problem on x86 is that it's an expensive operation when done
correctly, as it involves flushing the caches of all pCPUs where the
vCPU has been scheduled. Note however the implementation of
GNTTABOP_cache_flush is incorrect on x86, and won't work as
expected.
Thanks, Roger.
next prev parent reply other threads:[~2025-05-06 10:41 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-06 8:31 [PATCH 0/8] xen: cache control improvements Roger Pau Monne
2025-05-06 8:31 ` [PATCH 1/9] x86/pv: fix MMUEXT_FLUSH_CACHE to flush all pCPU caches Roger Pau Monne
2025-05-12 14:09 ` Jan Beulich
2025-05-12 14:27 ` Roger Pau Monné
2025-05-12 14:11 ` Jan Beulich
2025-05-12 14:24 ` Roger Pau Monné
2025-05-06 8:31 ` [PATCH 2/9] x86/pv: fix emulation of wb{,no}invd " Roger Pau Monne
2025-05-12 14:20 ` Jan Beulich
2025-05-12 14:41 ` Roger Pau Monné
2025-05-06 8:31 ` [PATCH 3/9] xen/gnttab: limit cache flush operation to guests allowed cache control Roger Pau Monne
2025-05-06 10:15 ` Julien Grall
2025-05-06 10:40 ` Roger Pau Monné [this message]
2025-05-12 14:23 ` Jan Beulich
2025-05-06 8:31 ` [PATCH 4/9] x86/gnttab: do not implement GNTTABOP_cache_flush Roger Pau Monne
2025-05-12 14:27 ` Jan Beulich
2025-05-06 8:31 ` [PATCH 5/9] x86/mtrr: use memory_type_changed() in hvm_set_mem_pinned_cacheattr() Roger Pau Monne
2025-05-12 15:04 ` Jan Beulich
2025-05-15 10:22 ` Roger Pau Monné
2025-05-16 7:00 ` Jan Beulich
2025-05-16 7:57 ` Roger Pau Monné
2025-05-16 6:58 ` Jan Beulich
2025-05-16 7:48 ` Roger Pau Monné
2025-05-16 8:02 ` Jan Beulich
2025-05-16 8:45 ` Roger Pau Monné
2025-05-06 8:31 ` [PATCH 6/9] x86/p2m: limit cache flush in memory_type_changed() Roger Pau Monne
2025-05-12 15:10 ` Jan Beulich
2025-05-06 8:31 ` [PATCH 7/9] xen/x86: rename cache_flush_permitted() to has_arch_io_resources() Roger Pau Monne
2025-05-12 15:16 ` Jan Beulich
2025-05-15 10:28 ` Roger Pau Monné
2025-05-16 7:07 ` Jan Beulich
2025-05-16 8:02 ` Roger Pau Monné
2025-05-16 8:08 ` Jan Beulich
2025-05-16 8:27 ` Roger Pau Monné
2025-05-16 8:36 ` Jan Beulich
2025-05-16 8:55 ` Roger Pau Monné
2025-05-06 8:31 ` [PATCH 8/9] xen: introduce flag when a domain requires cache control Roger Pau Monne
2025-05-06 10:20 ` Julien Grall
2025-05-06 10:43 ` Roger Pau Monné
2025-05-12 15:24 ` Jan Beulich
2025-05-15 10:44 ` Roger Pau Monné
2025-05-16 7:16 ` Jan Beulich
2025-05-16 8:05 ` Roger Pau Monné
2025-05-06 8:31 ` [PATCH 9/9] xen/x86: track dirty pCPU caches for a given vCPU Roger Pau Monne
2025-05-06 11:16 ` Andrew Cooper
2025-05-06 12:55 ` Roger Pau Monné
2025-05-12 15:38 ` Jan Beulich
2025-05-15 10:52 ` Roger Pau Monné
2025-05-16 7:25 ` Jan Beulich
2025-05-12 15:33 ` Jan Beulich
2025-05-06 9:32 ` [PATCH 0/8] xen: cache control improvements Christian Lindig
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=aBnnIm-Zg1bEJmJF@macbook.lan \
--to=roger.pau@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=anthony.perard@vates.tech \
--cc=jbeulich@suse.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.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.