qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jonathan Cameron via <qemu-devel@nongnu.org>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Zhao Liu" <zhao1.liu@intel.com>,
	berrange@redhat.com, "Eduardo Habkost" <eduardo@habkost.net>,
	"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Yanan Wang" <wangyanan55@huawei.com>,
	"Michael S.Tsirkin " <mst@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Eric Blake" <eblake@redhat.com>,
	"Marcelo Tosatti" <mtosatti@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Sia Jee Heng" <jeeheng.sia@starfivetech.com>,
	qemu-devel@nongnu.org, kvm@vger.kernel.org,
	qemu-riscv@nongnu.org, qemu-arm@nongnu.org,
	"Zhenyu Wang" <zhenyu.z.wang@intel.com>,
	"Dapeng Mi" <dapeng1.mi@linux.intel.com>,
	"Yongwei Ma" <yongwei.ma@intel.com>
Subject: Re: [PATCH 2/8] qapi/qom: Introduce smp-cache object
Date: Thu, 25 Jul 2024 11:59:02 +0100	[thread overview]
Message-ID: <20240725115902.000037e4@Huawei.com> (raw)
In-Reply-To: <20240725115059.000016c5@Huawei.com>

On Thu, 25 Jul 2024 11:50:59 +0100
Jonathan Cameron <Jonathan.Cameron@Huawei.com> wrote:

Resending as this bounced due (I think) to an address typo.

> Hi Markus, Zhao Liu
> 
> From the ARM server side this is something I want to see as well.
> So I can comment on why we care.
> 
> > >> This series adds a way to configure caches.
> > >> 
> > >> Structure of the configuration data: a list
> > >> 
> > >>     [{"name": N, "topo": T}, ...]
> > >> 
> > >> where N can be "l1d", "l1i", "l2", or "l3",
> > >>   and T can be "invalid", "thread", "core", "module", "cluster",
> > >>                "die", "socket", "book", "drawer", or "default".
> > >> 
> > >> What's the use case?  The commit messages don't tell.    
> > >
> > > i386 has the default cache topology model: l1 per core/l2 per core/l3
> > > per die.
> > >
> > > Cache topology affects scheduler performance, e.g., kernel's cluster
> > > scheduling.
> > >
> > > Of course I can hardcode some cache topology model in the specific cpu
> > > model that corresponds to the actual hardware, but for -cpu host/max,
> > > the default i386 cache topology model has no flexibility, and the
> > > host-cpu-cache option doesn't have enough fine-grained control over the
> > > cache topology.
> > >
> > > So I want to provide a way to allow user create more fleasible cache
> > > topology. Just like cpu topology.    
> > 
> > 
> > So the use case is exposing a configurable cache topology to the guest
> > in order to increase performance.  Performance can increase when the
> > configured virtual topology is closer to the physical topology than a
> > default topology would be.  This can be the case with CPU host or max.
> > 
> > Correct?  
> 
> That is definitely why we want it on arm64 where this info fills in
> the topology we can't get from the CPU registers.
> (we should have patches on top of this to send out shortly).
> 
> As a side note we also need this for MPAM emulation for TCG
> (any maybe eventually paravirtualized MPAM) as this is needed
> to build the right PPTT to describe the caches which we then
> query to figure out association of MPAM controls with particularly
> caches.
> 
> Size configuration is something we'll need down the line (presenting
> only part of an L3 may make sense if it's shared by multiple VMs
> or partitioned with MPAM) but that's a future question.
> 
> 
> >   
> > >> Why does that use case make no sense without SMP?    
> > >
> > > As the example I mentioned, for Intel hyrbid architecture, P cores has
> > > l2 per core and E cores has l2 per module. Then either setting the l2
> > > topology level as core nor module, can emulate the real case.
> > >
> > > Even considering the more extreme case of Intel 14th MTL CPU, where
> > > some E cores have L3 and some don't even have L3. As well as the last
> > > time you and Daniel mentioned that in the future we could consider
> > > covering more cache properties such as cache size. But the l3 size can
> > > be different in the same system, like AMD's x3D technology. So
> > > generally configuring properties for @name in a list can't take into
> > > account the differences of heterogeneous caches with the same @name.
> > >
> > > Hope my poor english explains the problem well. :-)    
> > 
> > I think I understand why you want to configure caches.  My question was
> > about the connection to SMP.
> > 
> > Say we run a guest with a single core, no SMP.  Could configuring caches
> > still be useful then?  
> 
> Probably not useful to configure topology (sizes are a separate question)
> - any sensible default should be fine.
> 
> Jonathan
> 
> 



  parent reply	other threads:[~2024-07-25 11:00 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-04  3:15 [PATCH 0/8] Introduce SMP Cache Topology Zhao Liu
2024-07-04  3:15 ` [PATCH 1/8] hw/core: Make CPU topology enumeration arch-agnostic Zhao Liu
2024-07-22 11:56   ` Markus Armbruster
2024-07-22 13:24   ` Markus Armbruster
2024-07-22 14:01     ` Zhao Liu
2024-07-23 10:14       ` Markus Armbruster
2024-07-23 14:40         ` Zhao Liu
2024-07-04  3:15 ` [PATCH 2/8] qapi/qom: Introduce smp-cache object Zhao Liu
2024-07-09 10:13   ` Zhao Liu
2024-07-22 13:33   ` Markus Armbruster
2024-07-22 14:30     ` Zhao Liu
2024-07-24 11:35       ` Markus Armbruster
2024-07-24 12:47         ` Daniel P. Berrangé
2024-07-24 14:03           ` Zhao Liu
2024-07-24 15:10             ` Zhao Liu
2024-07-24 14:55         ` Zhao Liu
2024-07-25  8:51           ` Markus Armbruster
     [not found]             ` <20240725115059.000016c5@Huawei.com>
2024-07-25 10:59               ` Jonathan Cameron via [this message]
2024-07-25 11:58                 ` Zhao Liu
2024-07-25 11:56             ` Zhao Liu
2024-07-04  3:15 ` [PATCH 3/8] hw/core: Add smp cache topology for machine Zhao Liu
2024-07-04  3:15 ` [PATCH 4/8] hw/core: Check smp cache topology support " Zhao Liu
2024-07-04  3:16 ` [PATCH 5/8] i386/cpu: Support thread and module level cache topology Zhao Liu
2024-07-04  3:16 ` [PATCH 6/8] i386/cpu: Update cache topology with machine's configuration Zhao Liu
2024-07-04  3:16 ` [PATCH 7/8] i386/pc: Support cache topology in -machine for PC machine Zhao Liu
2024-07-04  3:16 ` [PATCH 8/8] qemu-options: Add the description of smp-cache object Zhao Liu
2024-07-22 13:37   ` Markus Armbruster
2024-07-22 14:42     ` Zhao Liu
2024-07-24 12:39       ` Markus Armbruster
2024-07-24 14:21         ` Zhao Liu
2024-07-25  9:07           ` Markus Armbruster
2024-08-01  9:37             ` Zhao Liu
2024-08-01 11:28               ` Markus Armbruster
2024-08-02  7:58                 ` Zhao Liu
2024-08-07 10:00                   ` Zhao Liu
2024-08-09 12:24                   ` Markus Armbruster
2024-08-12  9:24                     ` Zhao Liu
2024-07-22  7:33 ` [PATCH 0/8] Introduce SMP Cache Topology Zhao Liu
2024-07-22  7:49   ` Michael S. Tsirkin

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=20240725115902.000037e4@Huawei.com \
    --to=qemu-devel@nongnu.org \
    --cc=Jonathan.Cameron@Huawei.com \
    --cc=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dapeng1.mi@linux.intel.com \
    --cc=eblake@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=jeeheng.sia@starfivetech.com \
    --cc=kvm@vger.kernel.org \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=wangyanan55@huawei.com \
    --cc=yongwei.ma@intel.com \
    --cc=zhao1.liu@intel.com \
    --cc=zhenyu.z.wang@intel.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;
as well as URLs for NNTP newsgroup(s).