On 07/04/2018 10:17 AM, Christian König wrote: > Am 04.07.2018 um 16:10 schrieb Andrey Grodzovsky: >> Add process and thread names and pids and a function to extract >> this info from relevant amdgpu_vm. >> >> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com> >> --- >>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 14 ++++++++++++++ >>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 14 ++++++++++++++ >>  2 files changed, 28 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> index 8370660..8ec459e 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c >> @@ -2942,3 +2942,17 @@ int amdgpu_vm_ioctl(struct drm_device *dev, >> void *data, struct drm_file *filp) >>       return 0; >>  } >> + > > Please add some sphinx documentation here. > >> +void amdgpu_vm_task_info(struct amdgpu_device *adev, >> +         unsigned int pasid, struct amdgpu_task_info *task_info) > > What editor/settings do you use? > > When I trow those lines into vim's auto-formater it comes up with the > following: > > void amdgpu_vm_task_info(struct amdgpu_device *adev, unsigned int pasid, >                         struct amdgpu_task_info *task_info) I am using eclipse with CDT, I am not very into configuring the editor settings so not sure. How can I use vim to vim autoformat to fix these indentation issues ? Do i need to install some extra plug-in and configure it for kernel style indentation ? Andrey > > Not an issue at all, but I would like to know where that comes from > cause it is a repeating pattern from multiple people. > > Apart from that whole set looks like a nice addition to me, > Christian. > >> +{ >> +   struct amdgpu_vm *vm; >> + >> +   spin_lock(&adev->vm_manager.pasid_lock); >> + >> +   vm = idr_find(&adev->vm_manager.pasid_idr, pasid); >> +   if (vm) >> +       *task_info = vm->task_info; >> + >> +   spin_unlock(&adev->vm_manager.pasid_lock); >> +} >> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h >> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h >> index 061b99a..88a1d18 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h >> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h >> @@ -164,6 +164,14 @@ struct amdgpu_vm_pt { >>  #define AMDGPU_VM_FAULT_PASID(fault) ((u64)(fault) >> 48) >>  #define AMDGPU_VM_FAULT_ADDR(fault) ((u64)(fault) & >> 0xfffffffff000ULL) >>  + >> +struct amdgpu_task_info { >> +   char   process_name[TASK_COMM_LEN]; >> +   char   task_name[TASK_COMM_LEN]; >> +   pid_t   pid; >> +   pid_t   tgid; >> +}; >> + >>  struct amdgpu_vm { >>      /* tree of virtual addresses mapped */ >>      struct rb_root_cached   va; >> @@ -215,6 +223,9 @@ struct amdgpu_vm { >>       /* Valid while the PD is reserved or fenced */ >>      uint64_t       pd_phys_addr; >> + >> +   /* Some basic info about the task */ >> +   struct amdgpu_task_info task_info; >>  }; >>   struct amdgpu_vm_manager { >> @@ -317,4 +328,7 @@ bool amdgpu_vm_need_pipeline_sync(struct >> amdgpu_ring *ring, >>                    struct amdgpu_job *job); >>  void amdgpu_vm_check_compute_bug(struct amdgpu_device *adev); >>  +void amdgpu_vm_task_info(struct amdgpu_device *adev, >> +         unsigned int pasid, struct amdgpu_task_info *task_info); >> + >>  #endif >