[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240203040515.23947-1-ricardo.neri-calderon@linux.intel.com>
Date: Fri, 2 Feb 2024 20:05:06 -0800
From: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
To: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
Cc: Len Brown <len.brown@...el.com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Stanislaw Gruszka <stanislaw.gruszka@...ux.intel.com>,
Zhao Liu <zhao1.liu@...el.com>,
Zhuocheng Ding <zhuocheng.ding@...el.com>,
x86@...nel.org,
linux-pm@...r.kernel.org,
linux-kernel@...r.kernel.org,
Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
Subject: [PATCH 0/9] thermal: intel: hfi: Prework for the virtualization of HFI
Zhao Liu will soon post a patchset to virtualize the Hardware Feedback
Interface (HFI) and Intel Thread Director (ITD) for the benefit of virtual
machines that make use of ITD for scheduling. His experiments show up to
14% improvement in performance in some workloads and configurations. This
series lays the foundation for his patchset. I will share Zhao's patchset
when available.
Patches 1-3 reorganize portions of the HFI driver to facilitate the
implementation of virtual HFI tables. In my opinion, this reorganization is
valuable on its own.
Patches 4-6 introduce the concept of ITD classes and enable ITD.
Patches 7-9 add support to reset the ITD classification history of the
current task to be used during context switch.
Several patches of the series were cherry-picked from my last submission
to support IPC classes of tasks for scheduling [1], but this series does
not touch the scheduler. I have kept the Reviewed-by and Acked-by tags of
the cherry-picked patches.
In this iteration, the virtualization of HFI requires that HFI and ITD are
unconditionally enabled in the bare-metal system. This conflicts with a
recent patchset from Stanislaw [2] that only enables HFI if there are
user space entities listening to thermal netlink events. I am not sure
how to resolve this conflict. Please see patch 6 for a discussion.
Patches apply cleanly on Rafael's master and testing branches at the time
of posting.
Thanks and BR,
Ricardo
[1] https://lore.kernel.org/all/20230613042422.5344-1-ricardo.neri-calderon@linux.intel.com/
[2] https://lore.kernel.org/all/20240131120535.933424-1-stanislaw.gruszka@linux.intel.com/
Ricardo Neri (6):
thermal: intel: hfi: Introduce Intel Thread Director classes
x86/cpufeatures: Add the Intel Thread Director feature definitions
thermal: intel: hfi: Enable Intel Thread Director
x86/cpufeatures: Add feature bit for HRESET
x86/hreset: Configure history reset
x86/cpu: Introduce interface to reset hardware history
Zhao Liu (2):
thermal: intel: hfi: Relocate bit definitions of HFI registers
thermal: intel: hfi: Introduce the hfi_table structure
Zhuocheng Ding (1):
thermal: intel: hfi: Move selected data structures to a header file
MAINTAINERS | 1 +
arch/x86/include/asm/cpufeatures.h | 2 +
arch/x86/include/asm/hfi.h | 85 +++++++++++++++
arch/x86/include/asm/hreset.h | 30 ++++++
arch/x86/include/asm/msr-index.h | 13 +++
arch/x86/kernel/cpu/common.c | 31 +++++-
arch/x86/kernel/cpu/cpuid-deps.c | 1 +
drivers/thermal/intel/intel_hfi.c | 165 +++++++++++++++--------------
8 files changed, 245 insertions(+), 83 deletions(-)
create mode 100644 arch/x86/include/asm/hfi.h
create mode 100644 arch/x86/include/asm/hreset.h
--
2.25.1
Powered by blists - more mailing lists