Messages in this thread | | | Subject | Re: [PATCH 2/2] perf record: Replace 'overwrite' by 'flightrecorder' for better naming | From | "Wangnan (F)" <> | Date | Wed, 1 Nov 2017 22:44:18 +0800 |
| |
On 2017/11/1 22:22, Liang, Kan wrote: >> On 2017/11/1 21:26, Liang, Kan wrote: >>>> The meaning of perf record's "overwrite" option and many "overwrite" >>>> in source code are not clear. In perf's code, the 'overwrite' has 2 meanings: >>>> 1. Make ringbuffer readonly (perf_evlist__mmap_ex's argument). >>>> 2. Set evsel's "backward" attribute (in apply_config_terms). >>>> >>>> perf record doesn't use meaning 1 at all, but have a overwrite >>>> option, its real meaning is setting backward. >>>> >>> I don't understand here. >>> 'overwrite' has 2 meanings. perf record only support 1. >>> It should be a bug, and need to be fixed. >> Not a bug, but ambiguous. >> >> Perf record doesn't need overwrite main channel (we have two channels: >> evlist->mmap is main channel and evlist->backward_mmap is backward >> evlist->channel), >> but some testcases require it, and your new patchset may require it. >> 'perf record --overwrite' doesn't set main channel overwrite. What it does is >> moving all evsels to backward channel, and we can move some evsels back to >> the main channel by /no-overwrite/ setting. This behavior is hard to >> understand. >> > As my understanding, the 'main channel' should depends on what user sets. > If --overwrite is applied, then evlist->backward_mmap should be the > 'main channel'. evlist->overwrite should be set to true as well.
Then it introduces a main channel switching mechanism, and we need checking evlist->overwrite and another factor to determine which one is the main channel. Make things more complex.
> /no-overwrite/ setting is per-event setting. > Only when we finish the global setting, then the per-event setting will be > considered. You may refer to apply_config_terms.
Yes.
> Thanks, > Kan > > > >
| |