STRUCT PERF_ADDR_FILTERS_HEAD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct perf_addr_filters_head(9) ✨

okay so bestie, welcome to the Kernel API Manual πŸ’– this one's the struct perf_addr_filters_head page and it's literally the container for address range filters. iykyk.


🌸 NAME 🌸

struct perf_addr_filters_head β€” the container for address range filters πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct perf_addr_filters_head {
    struct list_head                list;
    raw_spinlock_t lock;
    unsigned int                    nr_file_filters;
};

πŸ‘‘ Members πŸ‘‘

  • list β€” the list of filters for this event, periodt. πŸ’…
  • lock β€” a spinlock that serializes accesses to the list and to the event's filter generations (and its children's filter generations too, not just its own, okurrr 🫢).
  • nr_file_filters β€” the number of file-based filters, that's it, that's the whole vibe 🌸

πŸ’œ Description πŸ’œ

so here's the tea β˜• β€” a child event will use its parent's list (and therefore the parent's lock too), which is exactly why they're bundled together like this. see perf_event_addr_filters for the full picture, bestie ✨


🌈 SEE ALSO 🌈

  • Kernel file ./include/linux/perf_event.h
  • struct hw_perf_event(9)
  • struct pmu(9)
  • struct perf_addr_filter(9)
  • struct perf_event(9)
  • struct perf_event_context(9)
  • struct perf_ctx_data(9)

ngl this struct is small but it's carrying the whole filter-generation situation on its back πŸ’€ respect the lock, fr fr.

okay that's the page!! mwah πŸ’‹ this came from ./include/linux, October 2026 β€” go off, bestie, you ate πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from