Hi folks, While discussing around [1], Steve had the idea [2] of creating a "proper" type for cpumask event fields so that userspace tooling doesn't have to guess whether an unsigned long [] is meant to be a cpumask or not. It takes a small amount of boiler plate to get cpumask fields on the same level as bitmask fields, which is patch 1. Patch 2 adds on top a nicer pretty-print output for cpumasks. I'm not massively fond of the homegrown cpumask iterating function, but I've done my best to pit it against corner cases. Cheers, Valentin [1]: http://lore.kernel.org/r/xhsmhilkqfi7z.mognet@xxxxxxxxxxxxxxxxxxx [2]: http://lore.kernel.org/r/20221014080456.1d32b989@xxxxxxxxxxxxxxxxxxxx Valentin Schneider (2): libtraceevent: Add boiler-plate code for cpumask types libtraceevent: Pretty-print cpumask fields as a cpulist include/traceevent/event-parse.h | 1 + src/event-parse.c | 190 +++++++++++++++++++++++++++++++ 2 files changed, 191 insertions(+) -- 2.31.1