[PATCH] drm/amdgpu: adjust the pid in the grab_id trace point

Christian König ckoenig.leichtzumerken at gmail.com
Wed Aug 12 14:36:36 UTC 2020


Am 12.08.20 um 16:17 schrieb Steven Rostedt:
> On Fri, Aug 07, 2020 at 03:36:58PM +0200, Christian König wrote:
>> Trace something useful instead of the pid of a kernel thread here.
>>
>> Signed-off-by: Christian König <christian.koenig at amd.com>
>> ---
>>   drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
>> index 5da20fc166d9..07f99ef69d91 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
>> @@ -228,6 +228,7 @@ TRACE_EVENT(amdgpu_vm_grab_id,
>>   			     ),
>>   
>>   	    TP_fast_assign(
>> +			   __entry->ent.pid = vm->task_info.pid;
> If the ent.pid is not the pid you are interested in for this trace event, just
> add a "pid" field to the trace event and place it there. Do not modify the
> generic pid that is recorded, as we would like that to be consistent for all
> trace events.

The problem my userspace guys have is that this doesn't work with 
"trace-cmd -P $pid".

But I think I can teach them how filters work :)

> The "ent.pid" turns into "common_pid" in the field, leaving "pid" free to use.
> Other trace events (like sched_waking) record a pid field that is not the same
> as the pid of the executing task.

Yes, we thought about this alternative as well.

> The "ent.pid" should always be the pid of the task that executed the event.

Why? For the case here we just execute a work item in the background for 
an userspace process.

Tracing the pid of the worker pool which executes it doesn't seem to 
make to much sense.

Thanks for the quick reply,
Christian.

>
> -- Steve
>
>
>>   			   __entry->pasid = vm->pasid;
>>   			   __assign_str(ring, ring->name)
>>   			   __entry->vmid = job->vmid;
>> -- 
>> 2.17.1



More information about the dri-devel mailing list