I'm studying the Statistical Profiling Extension(SPE) for Armv8 recently. During data sampling and reading there is little documentation and I have a question that I can hardly understand.
There is a ring buffer to record sampled data which is called a ring buffer. A ring buffer is treated as two kinds:data section and aux region. According to the manual pages of linux, 'The AUX region allows mmap-ing a separate sample buffer for high-bandwidth data streams (separate from the main perf sample buffer)'.
Q1: How to understand 'high-bandwidth data streams'? What data or events may the data streams include? Is it hardware specified that what data is streamed into AUX buffer ? Does the member sample_type
of perf_event_attr
just indicate what data to store in data section?
Q2:
If I sample with arm_spe_0/store_filter=1/
at 1024 period, (.type =65;.config = 1<<34;.sample_period =1<<10,.wakeup_events=1
), I can read and parse aux region at every interrupt. How could I read the corresponding sample in data section to the sample of aux region( both sample are collected at the same time exactly)