From: "Michael S. Tsirkin" <mst@redhat.com>
To: Hendrik Wuethrich <whendrik@google.com>
Cc: qemu-devel@nongnu.org, eduardo@habkost.net,
richard.henderson@linaro.org, marcel.apfelbaum@gmail.com,
pbonzini@redhat.com, zhao1.liu@intel.com, xiaoyao.li@intel.com,
peternewman@google.com
Subject: Re: [PATCH v5 0/8] mulate Intel RDT features needed to mount ResCtrl in Linux
Date: Thu, 20 Feb 2025 09:50:19 -0500 [thread overview]
Message-ID: <20250220094956-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20241213172645.2751696-1-whendrik@google.com>
On Fri, Dec 13, 2024 at 05:26:37PM +0000, Hendrik Wuethrich wrote:
> From: Hendrik Wüthrich <whendrik@google.com>
>
> The aim of this patch series is to emulate Intel RDT features in order
> to make testing of the linux Resctrl subsystem possible with Qemu.
>
> A branch with the patches applied can be found at:
> https://github.com/Gray-Colors/Intel_RDT_patches_applied/tree/rdt_v5
>
> The changes made introduce the following features:
There was just my minor comment, are you going to post v6?
> * Feature enumeration for Intel RDT allocation.
> * Feature enumeration for Intel RDT monitoring.
> * Intel RDT monitoring system interface.
> * Intel RDT allocation system interface.
>
> By adding these features, a barebones implementation most of the RDT
> state and MSRs is introduced, which can be enabled through qemu
> command line flags.
> The features missing for a faithful recreation of RDT are CDP and
> non-linear MBA throttle, as well as the possibility to configure
> various values through the command line, as some properties can be
> different across different machines. For increased ease of use, the
> correct features should be automatically enabled on machines that
> support RDT functionality.
> The missing features mentioned above will be implemented in the
> following order:
>
> * Expand feature set for RDT allocation to include CDP and non-linear
> MBA throttle
> * Allow for command line configuration of some values, such as the L3
> CBM length
> * Automatically enable RDT on machines that officially support it.
>
> Will NOT be implemented
> * Tests to simulate interaction with the host by the guest
>
> Command line examples assuming entire patch series is applied (This
> requires a kernel with Resctrl enabled):
>
> To emulate Intel RDT features:
>
> Currently, it is necessary to force the RDT options on in qemu, as it is
> not automatically enabled for any machines. An example would be the
> following:
> -cpu Skylake-Server,+l3-cmt,+rdt-m,+rdt-a,+mba,+l3-cat,+l2-cat
> and
> -device rdt
>
> Just enabling RDT in qemu won't really help, though. The following
> option allows resctrl in the kernel:
> - Kernel options: rdt=mbmlocal,mbmtotal,cmt,mba,l2cat,l3cat
>
> To use Resctrl in the Qemu, please refer to:
> https://docs.kernel.org/arch/x86/resctrl.html
>
> V4 -> V5
> - rebase
> - fix feature bit names to all be in hex
>
> Hendrik Wüthrich (8):
> i386: Add Intel RDT device and State to config.
> i386: Add init and realize functionality for RDT device.
> i386: Add RDT functionality
> i386: Add RDT device interface through MSRs
> i386: Add CPUID enumeration for RDT
> i386: Add RDT feature flags.
> i386/cpu: Adjust CPUID level for RDT features
> i386/cpu: Adjust level for RDT on full_cpuid_auto_level
>
> hw/i386/Kconfig | 4 +
> hw/i386/meson.build | 1 +
> hw/i386/rdt.c | 286 +++++++++++++++++++++++++++
> include/hw/i386/rdt.h | 76 +++++++
> target/i386/cpu.c | 114 ++++++++++-
> target/i386/cpu.h | 24 +++
> target/i386/tcg/sysemu/misc_helper.c | 81 ++++++++
> 7 files changed, 584 insertions(+), 2 deletions(-)
> create mode 100644 hw/i386/rdt.c
> create mode 100644 include/hw/i386/rdt.h
>
> --
> 2.47.1.613.gc27f4b7a9f-goog
next prev parent reply other threads:[~2025-02-20 14:50 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-13 17:26 [PATCH v5 0/8] mulate Intel RDT features needed to mount ResCtrl in Linux Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 1/8] i386: Add Intel RDT device and State to config Hendrik Wuethrich
2025-02-20 15:41 ` Jonathan Cameron via
2025-02-28 8:40 ` Hendrik Wüthrich
2024-12-13 17:26 ` [PATCH v5 2/8] i386: Add init and realize functionality for RDT device Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 3/8] i386: Add RDT functionality Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 4/8] i386: Add RDT device interface through MSRs Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 5/8] i386: Add CPUID enumeration for RDT Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 6/8] i386: Add RDT feature flags Hendrik Wuethrich
2025-01-08 18:39 ` Michael S. Tsirkin
2025-01-15 14:55 ` Hendrik Wüthrich
2024-12-13 17:26 ` [PATCH v5 7/8] i386/cpu: Adjust CPUID level for RDT features Hendrik Wuethrich
2024-12-13 17:26 ` [PATCH v5 8/8] i386/cpu: Adjust level for RDT on full_cpuid_auto_level Hendrik Wuethrich
2025-01-08 18:35 ` Michael S. Tsirkin
2025-02-20 14:50 ` Michael S. Tsirkin [this message]
2025-02-20 15:38 ` [PATCH v5 0/8] mulate Intel RDT features needed to mount ResCtrl in Linux Hendrik Wüthrich
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=20250220094956-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=pbonzini@redhat.com \
--cc=peternewman@google.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=whendrik@google.com \
--cc=xiaoyao.li@intel.com \
--cc=zhao1.liu@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 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.