• Home
  • Raw
  • Download

Lines Matching full:aux

25     3. The mechanism of AUX ring buffer
26 3.1 The relationship between AUX and regular ring buffers
27 3.2 AUX events
36 kind of ring buffer which is so called auxiliary (AUX) ring buffer also
49 second part discusses the AUX ring buffer mechanism.
587 3. The mechanism of AUX ring buffer
590 In this chapter, we will explain the implementation of the AUX ring
592 AUX ring buffer and the regular ring buffer, then the second part will
593 examine how the AUX ring buffer co-works with the regular ring buffer,
594 as well as the additional features introduced by the AUX ring buffer for
597 3.1 The relationship between AUX and regular ring buffers
600 Generally, the AUX ring buffer is an auxiliary for the regular ring
603 union ``perf_event``; the AUX ring buffer is for recording the hardware
606 The general use and advantage of the AUX ring buffer is that it is
611 mechanism. Having an AUX buffer allows for a region of memory more
614 The AUX ring buffer reuses the same algorithm with the regular ring
617 for the head and tail pointers of the AUX ring buffer.
621 ``auxtrace_mmap__mmap()`` function for the mmap of the AUX buffer with
627 AUX events and AUX trace data are two different things. Let's see an
633 and another is the AUX event *cs_etm* from Arm CoreSight, both are saved
634 into the regular ring buffer while the CoreSight's AUX trace data is
635 stored in the AUX ring buffer.
637 As a result, we can see the regular ring buffer and the AUX ring buffer
639 ring buffer and the AUX ring buffer per CPU-wise, which is the same as
643 regular ring buffer and one AUX ring buffer for the whole session. For
648 mode; if there are any activities on one CPU, the AUX event samples and
666 | AUX Ring buffer 0 |
681 | AUX Ring buffer 1 |
696 | AUX Ring buffer 2 |
711 | AUX Ring buffer 3 |
717 Figure 8. AUX ring buffer for system wide mode
719 3.2 AUX events
724 serve for the AUX ring buffer for processing the hardware trace data.
726 Once the hardware trace data is stored into the AUX ring buffer, the PMU
728 Similar to the regular ring buffer, the AUX ring buffer needs to apply
730 :ref:`memory_synchronization`. Since the AUX ring buffer is managed by the
740 chunk of hardware trace data has been stored into the AUX ring buffer;
742 - Since the hardware trace driver has stored new trace data into the AUX
751 The event ``PERF_RECORD_AUX`` presents an AUX event which is handled in the
752 kernel, but it lacks the information for saving the AUX trace data in
753 the perf file. When the perf tool copies the trace data from AUX ring
756 which portion of data in the AUX ring buffer is saved. Afterwards, the perf
757 tool reads out the AUX trace data from the perf file based on the
764 Perf supports snapshot mode for AUX ring buffer, in this mode, users
765 only record AUX trace data at a specific time point which users are
778 - Before a snapshot is taken, the AUX ring buffer acts in free run mode.
779 During free run mode the perf doesn't record any of the AUX events and
784 tracing. The kernel driver then populates the AUX ring buffer with the
789 reads out the hardware trace data from the AUX ring buffer and saves it
793 restarts the PMU event for AUX tracing.
797 because the AUX ring buffer can overflow in free run mode, the tail
800 of whether the AUX ring buffer has been wrapped around or not, at the
801 end it fixes up the AUX buffer's head which are used to calculate the
815 | AUX Ring buffer 0 | <- aux_head
819 | AUX Ring buffer 1 | <- aux_head
823 | AUX Ring buffer 2 | <- aux_head
827 | AUX Ring buffer 3 | <- aux_head