Thread (40 messages) 40 messages, 7 authors, 2021-12-09

Re: [PATCH 3/7] thermal: intel: hfi: Minimally initialize the Hardware Feedback Interface

From: Ricardo Neri <hidden>
Date: 2021-11-30 13:46:24
Also in: linux-doc, lkml

On Mon, Nov 29, 2021 at 07:55:18PM -0800, Srinivas Pandruvada wrote:
On Mon, 2021-11-29 at 19:20 -0800, Ricardo Neri wrote:
quoted
On Wed, Nov 24, 2021 at 03:09:20PM +0100, Rafael J. Wysocki wrote:
quoted
On Sat, Nov 6, 2021 at 2:34 AM Ricardo Neri
[off-list ref] wrote:
quoted
The Intel Hardware Feedback Interface provides guidance to the
operating
system about the performance and energy efficiency capabilities
of each
CPU in the system. Capabilities are numbers between 0 and 255
where a
higher number represents a higher capability. For each CPU,
energy
efficiency and performance are reported as separate capabilities.

Hardware computes these capabilities based on the operating
conditions of
the system such as power and thermal limits. These capabilities
are shared
with the operating system in a table resident in memory. Each
package in
the system has its own HFI instance. Every logical CPU in the
package is
represented in the table. More than one logical CPUs may be
represented in
a single table entry. When the hardware updates the table, it
generates a
package-level thermal interrupt.

The size and format of the HFI table depend on the supported
features and
can only be determined at runtime. To minimally initialize the
HFI, parse
its features and allocate one instance per package of a data
structure with
the necessary parameters to read and navigate individual HFI
tables.

A subsequent changeset will provide per-CPU initialization and
interrupt
handling.
[...]
quoted
quoted
quoted
+       /*
+        * If we are here we know that CPUID_HFI_LEAF exists.
Parse the
+        * supported capabilities and the size of the HFI table.
+        */
+       reg = cpuid_edx(CPUID_HFI_LEAF);
+
+       hfi_features.capabilities = reg & HFI_CAPABILITIES_MASK;
+       if (!(hfi_features.capabilities &
HFI_CAPABILITIES_PERFORMANCE)) {
+               pr_err("Performance reporting not supported! Not
using HFI\n");
This doesn't need to be pr_err().
Should it be a pr_warn() or perhaps pr_info()?
May be even pr_debug as we can always enable dynamic debug, where we
need to debug.
Fair enough. That sounds good. I will make the change.

Thanks and BR,
Ricardo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help