[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