STRUCT FME_PERF_PRIV(9)
π 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms