Messages in this thread | | | Subject | Re: [PATCH v8 0/6] perf record: Track sideband events for all CPUs when tracing selected CPUs | From | Yang Jihong <> | Date | Thu, 7 Sep 2023 10:40:48 +0800 |
| |
Hello,
On 2023/9/7 0:08, Arnaldo Carvalho de Melo wrote: > Em Mon, Sep 04, 2023 at 02:33:34AM +0000, Yang Jihong escreveu: >> User space tasks can migrate between CPUs, track sideband events for all >> CPUs. >> >> The specific scenarios are as follows: >> >> CPU0 CPU1 >> perf record -C 0 start >> taskA starts to be created and executed >> -> PERF_RECORD_COMM and PERF_RECORD_MMAP >> events only deliver to CPU1 >> ...... >> | >> migrate to CPU0 >> | >> Running on CPU0 <----------/ >> ... >> >> perf record -C 0 stop >> >> Now perf samples the PC of taskA. However, perf does not record the >> PERF_RECORD_COMM and PERF_RECORD_COMM events of taskA. >> Therefore, the comm and symbols of taskA cannot be parsed. >> >> The sys_perf_event_open invoked is as follows: >> >> # perf --debug verbose=3 record -e cpu-clock -C 1 true >> <SNIP> >> Opening: cpu-clock >> ------------------------------------------------------------ >> perf_event_attr: >> type 1 (PERF_TYPE_SOFTWARE) >> size 136 >> config 0 (PERF_COUNT_SW_CPU_CLOCK) >> { sample_period, sample_freq } 4000 >> sample_type IP|TID|TIME|CPU|PERIOD|IDENTIFIER >> read_format ID|LOST >> disabled 1 >> inherit 1 >> freq 1 >> sample_id_all 1 >> exclude_guest 1 >> ------------------------------------------------------------ >> sys_perf_event_open: pid -1 cpu 1 group_fd -1 flags 0x8 = 5 >> Opening: dummy:u >> ------------------------------------------------------------ >> perf_event_attr: >> type 1 (PERF_TYPE_SOFTWARE) >> size 136 >> config 0x9 (PERF_COUNT_SW_DUMMY) >> { sample_period, sample_freq } 1 >> sample_type IP|TID|TIME|CPU|IDENTIFIER >> read_format ID|LOST >> inherit 1 >> exclude_kernel 1 >> exclude_hv 1 >> mmap 1 >> comm 1 >> task 1 >> sample_id_all 1 >> exclude_guest 1 >> mmap2 1 >> comm_exec 1 >> ksymbol 1 >> bpf_event 1 >> ------------------------------------------------------------ >> sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 = 6 >> sys_perf_event_open: pid -1 cpu 1 group_fd -1 flags 0x8 = 7 >> sys_perf_event_open: pid -1 cpu 2 group_fd -1 flags 0x8 = 9 >> sys_perf_event_open: pid -1 cpu 3 group_fd -1 flags 0x8 = 10 >> sys_perf_event_open: pid -1 cpu 4 group_fd -1 flags 0x8 = 11 >> sys_perf_event_open: pid -1 cpu 5 group_fd -1 flags 0x8 = 12 >> sys_perf_event_open: pid -1 cpu 6 group_fd -1 flags 0x8 = 13 >> sys_perf_event_open: pid -1 cpu 7 group_fd -1 flags 0x8 = 14 >> <SNIP> >> >> Changes since_v7: >> - The condition for requiring system_wide sideband is changed to >> "as long as a non-dummy event exists" (patch4). >> - Modify the corresponding test case to record only dummy event (patch6). >> - Thanks to tested-by tag from Ravi, but because the solution is modified, >> the tested-by tag of Ravi is not added to this version. >> >> Changes since_v6: >> - Patch1: >> 1. No change. >> 2. Keep Acked-by tag from Adrian. >> - Patch2: >> 1. Update commit message as suggested by Ian. >> 2. Keep Acked-by tag from Adrian because code is not modified. >> - Patch3: >> 1. Update comment as suggested by Ian. >> 2. Merge original patch5 ("perf test: Update base-record & system-wide-dummy attr") as suggested by Ian. >> 3. Only merge commit, keep Acked-by tag from Adrian. >> - Patch4: >> 1. No change. Because Adrian recommends not changing the function name. >> 2. Keep Acked-by tag from Adrian. >> - Patch5: >> 1. Add cleanup on trap function as suggested by Ian. >> 2. Remove Tested-by tag from Adrian because the script is modified. >> - Patch6: >> 1. Add Reviewed-by tag from Ian. > > I'm in doubt about these Acked-by/Reviewed-by tags, do they still stand? They are > not in the latest series, can you please check?
Uh, uh. Because several reviewers have different opinions on the solution, I modified it several times. Now v8 patchset is different from the previous versions. I only keep the Acked-by/Reviewed-by tags of patches that are not modified. For patches that have modified the code, I remove the tags. Therefore, please refer to the v8 series for Acked-by/Reviewed-by tags. This version needs to be confirmed by reviewers.
Thanks, Yang
| |