[PATCH 0/9] thermal: intel: hfi: Prework for the virtualization of HFI

Ricardo Neri posted 9 patches 2 years ago
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
[PATCH 0/9] thermal: intel: hfi: Prework for the virtualization of HFI
Posted by Ricardo Neri 2 years ago
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
Re: [PATCH 0/9] thermal: intel: hfi: Prework for the virtualization of HFI
Posted by Ricardo Neri 2 years ago
On Fri, Feb 02, 2024 at 08:05:06PM -0800, Ricardo Neri wrote:
> 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.

Here are Zhao and Zhuocheng's patches:

https://lore.kernel.org/lkml/20240203091214.411862-1-zhao1.liu@linux.intel.com/