All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] hwmon: (coretemp) Document sysfs numbering and label meaning
@ 2026-10-15 17:17 Asaf Nuri Bertizlioğlu
  2026-10-15 17:22 ` sashiko-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Asaf Nuri Bertizlioğlu @ 2026-10-15 17:17 UTC (permalink / raw)
  To: linux, linux-hwmon
  Cc: corbet, skhan, rdunlap, linux-doc, linux-kernel,
	Asaf Nuri Bertizlioğlu

The documentation says that all sysfs entries are named with their
core_id, and that the "Core X" label contains the processor number.
Neither is accurate. create_core_attrs() numbers the per-core
attributes core_id + 2 and always uses temp1 for the package sensor,
and show_label() prints topology_core_id(), not the logical CPU
number.

The difference is easy to see on hybrid CPUs. On an i7-14700F, the
"Core 4" label is on temp6 and belongs to CPUs 2 and 3, and the
E-cores report core IDs 32 to 43.

Describe the actual numbering.

The mismatch was found by an LLM comparing the documentation with the
code, and verified on the i7-14700F above.

Assisted-by: LLM
Signed-off-by: Asaf Nuri Bertizlioğlu <ycistak@gmail.com>
---

Notes:
    The LLM (Claude) also drafted the documentation change and this
    changelog. Values checked on my machine: temp6_label is "Core 4",
    cpu2 and cpu3 have core_id 4, temp1_label is "Package id 0".

 Documentation/hwmon/coretemp.rst | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/Documentation/hwmon/coretemp.rst b/Documentation/hwmon/coretemp.rst
index 34930168338..95b0a578c4d 100644
--- a/Documentation/hwmon/coretemp.rst
+++ b/Documentation/hwmon/coretemp.rst
@@ -46,7 +46,8 @@ mechanism will perform actions to forcibly cool down the processor. Alarm
 may be raised, if the temperature grows enough (more than TjMax) to trigger
 the Out-Of-Spec bit. The following table summarizes the exported sysfs files:
 
-All sysfs entries are named with their core_id (represented here by 'X').
+Per-core sysfs entries are numbered core_id + 2 (represented here by 'X').
+The package entries, if available, are always temp1_*.
 
 ================= ========================================================
 tempX_input	  Core temperature (in millidegrees Celsius).
@@ -55,9 +56,12 @@ tempX_max	  Maximum recommended operating temperature (Tcontrol).
 tempX_crit	  Maximum junction temperature (in millidegrees Celsius).
 tempX_crit_alarm  Set when Out-of-spec bit is set, never clears.
 		  Correct CPU operation is no longer guaranteed.
-tempX_label	  Contains string "Core X", where X is processor
-		  number. For Package temp, this will be "Package id Y",
-		  where Y is the package number.
+tempX_label	  Contains string "Core N", where N is the core_id
+		  (X - 2), as shown in
+		  /sys/devices/system/cpu/cpu*/topology/core_id. This
+		  is not the logical CPU number, and core_id values
+		  may be sparse. For Package temp, this will be
+		  "Package id Y", where Y is the package number.
 ================= ========================================================
 
 On modern CPUs (Nehalem and newer), TjMax is read from the
-- 
2.56.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-15 17:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15 17:17 [PATCH] hwmon: (coretemp) Document sysfs numbering and label meaning Asaf Nuri Bertizlioğlu
2026-10-15 17:22 ` sashiko-bot

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.