hubbub60_pe...er_bandwidth(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ hubbub60_pe...er_bandwidth(9) ✨

okay so this is from the Kernel API Manual (yes, the actual kernel manual, we're fancy now πŸ’…) and today's main character is hubbub60_perfmon_arm_measuring_out_of_order_bandwidth β€” bestie, the name is a whole paragraph, I know, breathe 🫢


🌸 NAME 🌸

hubbub60_perfmon_arm_measuring_out_of_order_bandwidth β€” literally just configures the out-of-order BW counter. that's it, that's the whole job. periodt ✨


πŸŽ€ SYNOPSIS πŸŽ€

void hubbub60_perfmon_arm_measuring_out_of_order_bandwidth (struct hubbub *hubbub );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • hubbub β€” pointer to the hubbub hardware instance. that's your hardware bestie, hand it over and we cook πŸ”₯

πŸ’– DESCRIPTION πŸ’–

So the vibe here is: we're setting up the performance monitoring counters to measure out-of-order (peak prefetch) bandwidth using hardware counters 0, 1, and 4. Three counters, three little jobs, one iconic trio πŸ‘‘

  • Counter 0: the count-off counter β€” it counts response-valid events and gates the measurement window once it reaches its target value. lowkey the bouncer of the group, decides when the party starts πŸšͺ
  • Counter 1: the data counter β€” tracks total data received during the measurement period, and generates an interrupt when measurement completes. the main character, fr fr, it's the one that actually tells you stuff 😭
  • Counter 4: the duration timer β€” measures elapsed time in refclk cycles. our lil stopwatch ⏱️

UTM_FILTER_SEL is set to 0 so that isolation comes from OTG-vblank gating rather than the silicon-broken HW filter. yes bestie, silicon-broken β€” we are not trusting that hardware filter, it's giving broken and we're moving around it πŸ™ˆ

The first 200 prefetch requests are skipped (that's the ramp-up, warm-up era, we don't count those), and the subsequent 200 are the measurement window. 200 warm-up + 200 real ones. math is mathing ✨

⚠️ important caveat, do not skip: this function configures counters only. it does not turn them on. call hubbub60_perfmon_start_measuring_out_of_order_bandwidth to actually enable them. no cap, if you forget this step literally nothing happens and you'll be staring at zeros wondering why πŸ’€

🌈 SEE ALSO 🌈


and that's the whole page, bestie πŸŽ€ this edition came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β€” mark your calendars, she's timeless πŸ’œ slay, go measure some bandwidth πŸ¦‹

πŸ“¦ where this page comes from