All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 5/9] x86/mtrr: use memory_type_changed() in hvm_set_mem_pinned_cacheattr()
Date: Fri, 16 May 2025 10:45:51 +0200	[thread overview]
Message-ID: <aCb7P2PWI9vBdKBF@macbook.lan> (raw)
In-Reply-To: <a5f496d4-53b7-4aa6-a63b-0baa1b5c24a2@suse.com>

On Fri, May 16, 2025 at 10:02:22AM +0200, Jan Beulich wrote:
> On 16.05.2025 09:48, Roger Pau Monné wrote:
> > Overall, I have the impression hvm_set_mem_pinned_cacheattr() should
> > only be used while building a domain, and hence the flush can likely
> > be skipped unconditionally, regardless of the type changes.
> 
> See my patch submission, which had this remark:
> 
> "Is it really sensible to add/remove ranges once the guest is already
>  running? (If it is, limiting the scope of the flush would be nice, but
>  would require knowing dirtyness for the domain wrt the caches, which
>  currently we don't track.)"

Well, I had an extra patch to attempt to do track vCPU dirtyness wrt
to the caches.

> 
> As apparently we both agree, why don't we reject requests post-creation
> then, and drop the flush? The one thing I'm uncertain about is whether
> the DM would actually have carried out the operation strictly ahead of
> the domain being first un-paused.

I've looked at QEMU, and I cannot convince myself the operation
couldn't be used against live domains, it's part of a memory listener
hook.

What is also concerning is that this seems to be completely ignored
when using AMD NPT, I can only find references to
hvm_get_mem_pinned_cacheattr() in EPT and shadow code.

Thanks, Roger.


  reply	other threads:[~2025-05-16  8:46 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é
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é [this message]
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=aCb7P2PWI9vBdKBF@macbook.lan \
    --to=roger.pau@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=jbeulich@suse.com \
    --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.