[PATCH v2 04/10] coresight: trbe: Ensure the format flag is set on truncation

Suzuki K Poulose suzuki.poulose at arm.com
Fri Jul 30 04:37:18 PDT 2021


On 30/07/2021 05:26, Anshuman Khandual wrote:
> 
> 
> On 7/23/21 6:16 PM, Suzuki K Poulose wrote:
>> When the TRBE is stopped on truncating an event, we may not
>> set the FORMAT flag, even though the size of the record is 0.
>> Let us be consistent and not confuse the user. Always set the
>> format flag for TRBE generated records.
>>
>> Cc: Anshuman Khandual <anshuman.khandual at arm.com>
>> Cc: Leo Yan <leo.yan at linaro.org>
>> Cc: Mike Leach <mike.leach at linaro.org>
>> Cc: Mathieu Poirier <mathieu.poirier at linaro.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose at arm.com>
>> ---
>>   drivers/hwtracing/coresight/coresight-trbe.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-trbe.c b/drivers/hwtracing/coresight/coresight-trbe.c
>> index 176868496879..446f080f8320 100644
>> --- a/drivers/hwtracing/coresight/coresight-trbe.c
>> +++ b/drivers/hwtracing/coresight/coresight-trbe.c
>> @@ -132,7 +132,8 @@ static void trbe_stop_and_truncate_event(struct perf_output_handle *handle)
>>   	 * the update_buffer() to return a 0 size.
>>   	 */
>>   	trbe_drain_and_disable_local();
>> -	perf_aux_output_flag(handle, PERF_AUX_FLAG_TRUNCATED);
>> +	perf_aux_output_flag(handle, PERF_AUX_FLAG_TRUNCATED |
>> +				     PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW);
>>   	*this_cpu_ptr(buf->cpudata->drvdata->handle) = NULL;
>>   }
> 
> But why should not PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW also be set on
> zero sized records as well ? Otherwise there are two instances during
> TRBE buffer management, where PERF_AUX_FLAG_TRUNCATED is marked alone
> without PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW. Those could be changed as
> well.

All records (irrespective of the size) generated by the TRBE must
contain the "RAW" flag. Did I miss another instance where we don't
do this ?

Suzuki
> 




More information about the linux-arm-kernel mailing list