STRUCT HISI_PTT(9)
π struct hisi_ptt(9) β like, the whole vibe
okay so bestie, this is straight out of the Kernel API Manual, section 9, and it's the page for struct hisi_ptt β the per-PTT-device data struct π. Yes, "per PTT device data" is literally the NAME. We love a self-explanatory icon.
β¨ NAME β¨
struct hisi_ptt β Per PTT device data π
π¦ SYNOPSIS π¦
struct hisi_ptt {
struct hisi_ptt_trace_ctrl trace_ctrl;
struct notifier_block hisi_ptt_nb;
struct hlist_node hotplug_node;
struct pmu hisi_ptt_pmu;
void __iomem *iobase;
struct pci_dev *pdev;
struct mutex tune_lock;
spinlock_t pmu_lock;
int trace_irq;
u32 upper_bdf;
u32 lower_bdf;
struct list_head port_filters;
struct list_head req_filters;
struct mutex filter_lock;
bool sysfs_inited;
u16 port_mask;
struct delayed_work work;
spinlock_t filter_update_lock;
struct hisi_ptt_filter_update_info *filter_update_kfifo;
};
like, that's the whole struct, no cap. every field is doing its little job and honestly? main character energy from all of them π
πΈ Members πΈ
okay now the cast list, member by member, and I am not skipping a single one:
trace_ctrlβ the control information of PTT trace πhisi_ptt_nbβ dynamic filter update notifier π£hotplug_nodeβ node for register cpu hotplug event πhisi_ptt_pmuβ thepumdevice of trace (that's literally what it says, I'm just the messenger π)iobaseβ base IO address of the device πpdevβpci_devof this PTT devicetune_lockβ lock to serialize the tune process πpmu_lockβ lock to serialize the perf process πtrace_irqβ interrupt number used by trace β‘upper_bdfβ the upper BDF range of the PCI devices managed by this PTT devicelower_bdfβ the lower BDF range of the PCI devices managed by this PTT deviceport_filtersβ the filter list of root ports πͺreq_filtersβ the filter list of requester ID πfilter_lockβ lock to protect the filters πsysfs_initedβ whether the filters' sysfs entries has been initialized βport_maskβ port mask of the managed root ports πworkβ delayed work for filter updating β³filter_update_lockβ spinlock to protect the filter update fifo π
ngl bestie, notice how many locks are in here βtune_lock,pmu_lock,filter_lock,filter_update_lock. the concurrency is concurrencing. that's not a warning, that's just me being obsessed with the drama of it all π
π«Ά SEE ALSO π«Ά
- Kernel file
./drivers/hwtracing/ptt/hisi_ptt.hstruct struct hisi_ptt_tune_desc(9)struct hisi_ptt_dma_buffer(9)struct hisi_ptt_trace_ctrl(9)struct hisi_ptt_filter_desc(9)struct hisi_ptt_filter_update_info(9)struct hisi_ptt_pmu_buf(9)
go read those next, iykyk πβ¨
and that's the page!! π sourced from ./drivers/hwtracing/ptt, dated October 2026 β mwah, slay, periodt, go forth and trace your PTT devices responsibly π§π
π¦ 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