STRUCT FME_PERF_PRIV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct fme_perf_priv(9) β€” Kernel API Manual, bestie edition πŸŽ€

okay so real talk, this is a page from the Kernel API Manual and it's all about struct fme_perf_priv, no cap. it's giving "small but mighty struct energy" and honestly? we're obsessed. πŸ¦‹


✨ NAME ✨

struct fme_perf_priv β€” the priv data structure for the fme perf driver. that's it, that's the whole vibe. πŸ’–


🌸 SYNOPSIS 🌸

struct fme_perf_priv {
    struct device *dev;
    void __iomem *ioaddr;
    struct pmu pmu;
    u16 id;
    u32 fab_users;
    u32 fab_port_id;
    spinlock_t fab_lock;
    unsigned int cpu;
    struct hlist_node node;
    enum cpuhp_state cpuhp_state;
 };

look at her. ten fields. literally the main character of the fme perf driver. ✨ copy this exactly, don't @ me.


🫢 Members 🫢

  • dev β€” the parent device. the mom friend of the struct, fr fr. πŸ’–
  • ioaddr β€” the mapped base address of the mmio region. that's where the memory-mapped magic lives, iykyk. ✨
  • pmu β€” the pmu data structure for fme perf counters. it's the whole reason we're here honestly. πŸ‘‘
  • id β€” the id of this fme performance report private feature. yes, an id. for this specific feature. unique-ish queen. πŸŽ€
  • fab_users β€” current user number on fabric counters. like a headcount but for counters. πŸ”₯
  • fab_port_id β€” used to indicate current working mode of fabric counters. it tells you what mode we're in, slay. 🌈
  • fab_lock β€” lock to protect fabric counters working mode. do NOT skip the lock, bestie, that's how you get chaos. πŸ’€
  • cpu β€” the active CPU to which the PMU is bound for accesses. one CPU, specially chosen, living its best life. ⭐
  • node β€” node for the CPU hotplug notifier link. it's how we stay connected when CPUs get hot-plugged. 🧚
  • cpuhp_state β€” state for CPU hotplug notification; yes it ends with a semicolon, that's just how the original rolls, no notes. πŸ™ˆ

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./drivers/fpga/dfl-fme-perf.c β€” literally the source, go read it, it ate. πŸ’…
  • struct fme_perf_event_ops(9) β€” the sibling struct, also iconic, check her out too. πŸ’œ

lowkey important reminder: every field, every type, every name above stays exactly as written. this struct does not get a rebrand. periodt. ✨

so yeah, that's the whole page, bestie β€” from ./drivers/fpga with love, dated October 2026, brought to you by the Kernel API Manual. stay slay, keep your locks held, and see you in the next struct. πŸ“πŸ’–πŸŽ€

πŸ“¦ where this page comes from