[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 6/7] i386/pc: Support cache topology in -machine for PC ma
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH v3 6/7] i386/pc: Support cache topology in -machine for PC machine |
Date: |
Thu, 17 Oct 2024 16:27:24 +0100 |
User-agent: |
Mutt/2.2.12 (2023-09-09) |
On Sat, Oct 12, 2024 at 06:44:28PM +0800, Zhao Liu wrote:
> Allow user to configure l1d, l1i, l2 and l3 cache topologies for PC
> machine.
>
> Additionally, add the document of "-machine smp-cache" in
> qemu-options.hx.
>
> Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
> Tested-by: Yongwei Ma <yongwei.ma@intel.com>
> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> ---
> Changes since Patch v2:
> * Polished the document. (Jonathan)
>
> Changes since Patch v1:
> * Merged document into this patch. (Markus)
>
> Changes since RFC v2:
> * Used cache_supported array.
> ---
> hw/i386/pc.c | 4 ++++
> qemu-options.hx | 26 +++++++++++++++++++++++++-
> 2 files changed, 29 insertions(+), 1 deletion(-)
>
> -machine
> cxl-fmw.0.targets.0=cxl.0,cxl-fmw.0.targets.1=cxl.1,cxl-fmw.0.size=128G,cxl-fmw.0.interleave-granularity=512
> +
> + ``smp-cache.0.cache=cachename,smp-cache.0.topology=topologylevel``
> + Define cache properties for SMP system.
> +
> + ``cache=cachename`` specifies the cache that the properties will be
> + applied on. This field is the combination of cache level and cache
> + type. It supports ``l1d`` (L1 data cache), ``l1i`` (L1 instruction
> + cache), ``l2`` (L2 unified cache) and ``l3`` (L3 unified cache).
> +
> + ``topology=topologylevel`` sets the cache topology level. It accepts
> + CPU topology levels including ``thread``, ``core``, ``module``,
> + ``cluster``, ``die``, ``socket``, ``book``, ``drawer`` and a special
> + value ``default``. If ``default`` is set, then the cache topology
> will
> + follow the architecture's default cache topology model. If another
> + topology level is set, the cache will be shared at corresponding CPU
> + topology level. For example, ``topology=core`` makes the cache shared
> + by all threads within a core.
> +
> + Example:
> +
> + ::
> +
> + -machine
> smp-cache.0.cache=l1d,smp-cache.0.topology=core,smp-cache.1.cache=l1i,smp-cache.1.topology=core
There are 4 cache types, l1d, l1i, l2, l3.
In this example you've only set properties for l1d, l1i caches.
What does this mean for l2 / l3 caches ?
Are they reported as not existing, or are they to be reported at
some built-in default topology level. If the latter, how does the
user know what that built-in default is, and avoid nonsense like
l1d being at socket level, and l3 being at the core level ? Can
we explicitly disable a l2/l3 cache, or must it always exists ?
The QAPI has an "invalid" topology level. You've not documented
that as permitted here, but the qapi parser will happily allow
it. What semantics will that have ?
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- Re: [PATCH v3 1/7] hw/core: Make CPU topology enumeration arch-agnostic, (continued)
Re: [PATCH v3 1/7] hw/core: Make CPU topology enumeration arch-agnostic, Marcin Juszkiewicz, 2024/10/17
[PATCH v3 2/7] qapi/qom: Define cache enumeration and properties for machine, Zhao Liu, 2024/10/12
[PATCH v3 3/7] hw/core: Check smp cache topology support for machine, Zhao Liu, 2024/10/12
[PATCH v3 4/7] i386/cpu: Support thread and module level cache topology, Zhao Liu, 2024/10/12
[PATCH v3 5/7] i386/cpu: Update cache topology with machine's configuration, Zhao Liu, 2024/10/12
[PATCH v3 6/7] i386/pc: Support cache topology in -machine for PC machine, Zhao Liu, 2024/10/12
- Re: [PATCH v3 6/7] i386/pc: Support cache topology in -machine for PC machine,
Daniel P . Berrangé <=
[PATCH v3 7/7] i386/cpu: add has_caches flag to check smp_cache configuration, Zhao Liu, 2024/10/12
Re: [PATCH v3 0/7] Introduce SMP Cache Topology, Jonathan Cameron, 2024/10/17
Message not available