On 15 June 2017 at 11:07, Mike Leach <mike.leach@linaro.org> wrote:
Hi Mathieu,

The '4X" refers to the fact that the barrier packet is an FSYNC packet
repeated 4 times. The barrier is related to the trace frame protocol
not any ETM version protocol.

Ok, so the code has been inserted at the right place - the explanation you have above should be added to the comment.  

Mathieu
 

Regards

Mike

On 15 June 2017 at 17:47, Mathieu Poirier <mathieu.poirier@linaro.org> wrote:
>
>
> On 13 June 2017 at 02:55, Mike Leach <mike.leach@linaro.org> wrote:
>> Perf drivers now insert barrier packets into trace data blocks where
>> buffer
>> has wrapped to ensure that the decode can spot when perf is concatenating
>>  blocks. This activates the logic for spotting these barriers in the
>> decoder.
>>
>> Signed-off-by: Mike Leach <mike.leach@linaro.org>
>
> Good day Mike,
>
>> ---
>>  tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> index b4cbf4c..e72d207 100644
>> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> @@ -481,6 +481,11 @@ struct cs_etm_decoder *cs_etm_decoder__new(uint32_t
>> num_cpu, struct cs_etm_decod
>>          flags |= (d_params->hsyncs ? OCSD_DFRMTR_HAS_HSYNCS : 0);
>>          flags |= (d_params->frame_aligned ? OCSD_DFRMTR_FRAME_MEM_ALIGN :
>> 0);
>>
>> +       /* Drivers may add barrier frames when used with perf,
>> +        *   set up to handle this.
>> +        */
>> +       flags |= OCSD_DFRMTR_RESET_ON_4X_FSYNC;
>> +
>
> Are barrier packets treated differently on 3x?  Any reason to have a 4x
> specific flag?  If we need two separate flags then the above snippet should
> go in the switch statement that checks the protocol.  That way we can use
> the same function to create a new decoder on 3x.
>
> Thanks,
> Mathieu
>
>>          /* Create decode tree for the data source */
>>          decoder->dcd_tree = ocsd_create_dcd_tree(format,flags);
>>
>> --
>> 2.7.4
>>
>



--
Mike Leach
Principal Engineer, ARM Ltd.
Blackburn Design Centre. UK