ping... anyone can give the review? Thanks, David Zhou On 2017å¹´04æ??24æ?¥ 13:57, Chunming Zhou wrote: > The current kernel implementation, which grabs the idle VMID from pool when emitting the job may: > > The back-to-back submission from one process could use different VMID. > The submission to different queues from single process could use different VMID > > It works well in most case but cannot work for the SQ thread trace capture. > > The VMID for the submission that set the {SQTT}_BASE, which refers to the address of the trace buffer, is stored in shader engine. > > If the profiling application have to use different VMIDs to submit IBs in its life cycle: > > Some trace is not captured since it actually uses different VMID to submit jobs. > Some part of captured trace may come from different application since they are accidentally uses the ownerâ??s VMID to submit jobs. > > V2: > 1. address Christian's comments: > a. drop context flags for tag process, instead, add vm ioctl. > b. change order of patches. > c. sync waiting only when vm flush needs. > > 2. address Alex's comments; > bump module version > > Chunming Zhou (6): > drm/amdgpu: add vm ioctl > drm/amdgpu: add dedicated vmid field in vm struct > drm/amdgpu: reserve vmid by vm ioctl > drm/amdgpu: add limitation for dedicated vm number v2 > drm/amdgpu: implement grab dedicated vmid V2 > drm/amdgpu: bump module verion for reserved vmid > > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 159 ++++++++++++++++++++++++++++- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 5 + > include/uapi/drm/amdgpu_drm.h | 20 ++++ > 7 files changed, 188 insertions(+), 2 deletions(-) >