PMC.DMC-620(3)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’– PMC.DMC-620(3) πŸ’–

hey bestie!! so like, this is a page from the Library Functions Manual and it's literally all about measuring the Arm DMC-620 Dynamic Memory Controller performance counter events. no cap, it's giving hardware nerd realness and i'm obsessed πŸ’…βœ¨


🌸 LIBRARY 🌸

Performance Counters Library (libpmc, -lpmc) β€” it's right there in the name, bestie! 🫢


✨ SYNOPSIS ✨

#include <pmc.h>

that's literally it, super clean, we love to see it πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so DMC-620 PMU counters can be configured to count any one of a defined set of hardware events. like, you pick your event, you count it, slay.

the Arm CoreLink DMC-620 Dynamic Memory Controller performance counters are documented in "Revision: r0p0", ARM CoreLink DMC-620 Dynamic Memory Controller Technical Reference Manual, ARM Limited, 2017. so if you wanna be a nerd about it, that's where the lore lives πŸ“šβœ¨


πŸ’œ PMC Capabilities πŸ’œ

DMC-620 PMU counters support the following capabilities β€” here's the vibe check:

  • PMC_CAP_CASCADE β€” No πŸ™…β€β™€οΈ
  • PMC_CAP_EDGE β€” No
  • PMC_CAP_INTERRUPT β€” Yes πŸ’–
  • PMC_CAP_INVERT β€” Yes ✨
  • PMC_CAP_READ β€” Yes πŸŽ€
  • PMC_CAP_PRECISE β€” No
  • PMC_CAP_SYSTEM β€” Yes πŸ¦‹
  • PMC_CAP_TAGGING β€” No
  • PMC_CAP_THRESHOLD β€” Yes 🌸
  • PMC_CAP_USER β€” No
  • PMC_CAP_WRITE β€” Yes πŸ’…

so like, interrupt? yes. system? yes. write? yes. user? absolutely not, we don't do that here 😀


🌈 Event Qualifiers 🌈

event specifiers for these PMCs support the following common qualifiers β€” periodt:

  • inc=value β€” a two-bit value that controls the direction of count for the PMC. the behavior depends on the selected event, so don't @ me if you get it wrong bestie 😭
  • inv β€” invert the sense of comparison. it's giving "flip it and reverse it" πŸ”„
  • match=value β€” count only events matched by value. like a filter for your counting, we stan a selective queen πŸ‘‘
  • mask=qualifier β€” allows you to apply a qualifier mask to the compared value. fancy! πŸ’…

🧚 Class Name Prefix 🧚

these PMCs use a class name prefix of "DMC620_CD2_" or "DMC620_C_". remember that, it's important iykyk πŸ’–


⭐ Event Specifiers ⭐

the following PMC events are available β€” here's the full list, no skips, no cuts, all love:

clkdiv2_cycle_count
clkdiv2_allocate
clkdiv2_queue_depth
clkdiv2_waiting_for_wr_data
clkdiv2_read_backlog
clkdiv2_waiting_for_mi
clkdiv2_hazard_resolution
clkdiv2_enqueue
clkdiv2_arbitrate
clkdiv2_lrank_turnaround_activate
clkdiv2_prank_turnaround_activate
clkdiv2_read_depth
clkdiv2_write_depth
clkdiv2_highhigh_qos_depth
clkdiv2_high_qos_depth
clkdiv2_medium_qos_depth
clkdiv2_low_qos_depth
clkdiv2_activate
clkdiv2_rdwr
clkdiv2_refresh
clkdiv2_training_request
clkdiv2_t_mac_tracker
clkdiv2_bk_fsm_tracker
clkdiv2_bk_open_tracker
clkdiv2_ranks_in_pwr_down
clkdiv2_ranks_in_sref
clk_cycle_count
clk_request
clk_upload_stall

that's a LOT of events, but we're not skipping any of them because every single one matters πŸ’―βœ¨


πŸŽ€ SEE ALSO πŸŽ€

like, go read them if you want more context bestie, they're all connected 🫢


πŸ‘‘ HISTORY πŸ‘‘

so the pmc library first appeared in FreeBSD 6.0. iconic behavior honestly.

and the pmc.dmc-620 driver was added in FreeBSD 14.0. newer but already making moves πŸ’…


🌟 AUTHORS 🌟

the Performance Counters Library (libpmc, -lpmc) library was written by:

  • Joseph Koshy <jkoshy@FreeBSD.org>
  • Oleksandr Rybalko <ray@FreeBSD.org>

the DMC-620 PMU driver was sponsored by Ampere Computing LLC. shoutout to them for funding the vibes πŸ’–

and this manual page was written by Oleksandr Rybalko <ray@FreeBSD.org>. thank you for your service king 🫑✨


and that's literally the whole page bestie! now go count some events and slay πŸ’…πŸ’–βœ¨

Debian Β· Jul 22, 2022 β€” mwah, hope this helped, love u bye!! πŸ’œπŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms