STRUCT HFI_INSTANCE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct hfi_instance(9) β€” the Kernel API Manual glow-up 🌸

okay so first things first, bestie: this is from the Kernel API Manual, section 9 (struct hfi_instance(9)), and it's lowkey the blueprint for one single HFI instance β€” like, one table, one vibe. πŸŽ€


✨ NAME ✨

struct hfi_instance β€” the representation of an HFI instance (i.e., a table). that's it, that's the whole name. iconic brevity. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

this is the whole struct, verbatim, do not touch a single character fr fr:

struct hfi_instance {
    union {
      void *local_table;
      u64 *timestamp;
    };
    void *hdr;
    void *data;
    cpumask_var_t cpus;
    void *hw_table;
    struct delayed_work     update_work;
    raw_spinlock_t table_lock;
    raw_spinlock_t event_lock;
 };

πŸ’– Members πŸ’–

okay so here's every single field, no skips, we're doing all of them 🫢

  • {unnamed_union} β€” anonymous. that's it, no name, mysterious main character energy. πŸ™ˆ
  • local_table β€” base of the local copy of the HFI table. your own personal backup copy, slay.
  • timestamp β€” the timestamp of the last update of the local table. and the cutest part? it actually lives at the base of the local table. tucked right in there. ✨
  • hdr β€” base address of the header of the local table.
  • data β€” base address of the data of the local table.
  • cpus β€” the CPUs represented in this HFI table instance. all the CPUs that made the cut πŸ’…
  • hw_table β€” pointer to the HFI table of this instance.
  • update_work β€” delayed work to process HFI updates. it's giving "I'll get to it later" but, like, officially. 😭
  • table_lock β€” lock to protect accesses to the table of this instance. do not skip the lock bestie, I'm begging. πŸ”₯
  • event_lock β€” lock to process HFI interrupts.

🌈 Description 🌈

it's a set of parameters to parse and navigate a specific HFI table. that's the whole vibe check. one struct, one table, all the parameters you need to actually go in there and read it. simple, effective, ate. πŸ‘‘


⭐ SEE ALSO ⭐

go read these next, they're all in the kernel file ./drivers/thermal/intel/intel_hfi.c and honestly they're all besties with this one:

ngl, if you're poking at HFI stuff you're gonna want the whole little family of structs above. iykyk. 🧚

and that's the tea πŸ“ β€” this page lives at ./drivers/thermal/intel, dated October 2026, and it's literally titled struct hfi_instance(9). go forth and hydrate, bestie πŸ’œπŸ’–

πŸ“¦ where this page comes from