STRUCT CMB_DATASET(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct cmb_dataset(9) πŸ’–

okay so real talk β€” this is a page straight out of the Kernel API Manual, and it's lowkey just here to tell you what shape struct cmb_dataset has. no flowery intro, no lore, we're going straight to the vibes. 🫢


✨ NAME ✨

struct cmb_dataset β€” and bestie, the description field is literally empty on the original page. not me ghosting you, that's just how it's printed. πŸ’€ a mystery, an icon, a blank space.


🌸 SYNOPSIS 🌸

here's the whole struct, copied exactly, no cap, not one character changed:

struct cmb_dataset {
    u32 trace_mode;
    u32 patt_val[TPDM_CMB_MAX_PATT];
    u32 patt_mask[TPDM_CMB_MAX_PATT];
    u32 trig_patt[TPDM_CMB_MAX_PATT];
    u32 trig_patt_mask[TPDM_CMB_MAX_PATT];
    u32 msr[TPDM_CMB_MAX_MSR];
    bool patt_ts;
    bool trig_ts;
    bool ts_all;
    struct {
      u8 trig_lane;
      u8 lane_select;
    } mcmb;
 };

like… she's got arrays, she's got bools, she's got a nested anonymous struct. main character energy fr fr. πŸ‘‘


πŸ¦‹ MEMBERS πŸ¦‹

every single one, in order, no skipping β€” that's the rule:

  • trace_mode β€” the dataset collection mode. the whole mood of the dataset, basically. ✨
  • patt_val β€” saves the value for the pattern.
  • patt_mask β€” saves the value for the pattern mask.
  • trig_patt β€” saves the value for the trigger pattern.
  • trig_patt_mask β€” saves the value for the trigger pattern mask.
  • msr β€” saves the value for the MSR. (in the original this one is squished right up against the line before it, iykyk πŸ™ˆ)
  • patt_ts β€” tells you if the pattern match for timestamp is enabled.
  • trig_ts β€” tells you if the CTI trigger for timestamp is enabled.
  • ts_all β€” tells you if the timestamp is enabled for all packets. πŸŽ€
  • mcmb β€” a nested struct with trig_lane and lane_select inside it. and then the original page just kind of… trails off with struct mcmb_dataset sitting there. iconic, honestly. that's the whole note. πŸ’…
ngl, none of these have defaults listed and there's no "returns" section β€” this is a pure "here's the fields, go read the header" kind of situation. no invented lore from me, bestie. 🧚

πŸ”₯ SEE ALSO πŸ”₯

go touch grass in the kernel source, these are your next stops:

  • the kernel file ./drivers/hwtracing/coresight/coresight-tpdm.h
  • struct dsb_dataset(9)
  • struct tpdm_drvdata(9)
  • struct tpdm_dataset_attribute(9)

and that's the page!! 🌈 it lives down in ./drivers/hwtracing/coresight, dated October 2026, and it's filed under struct cmb_dataset(9) β€” slay, go read the header, mwah πŸ’œπŸ“

πŸ“¦ where this page comes from