[PATCH 0/3] Fit two IB struct amdgpu_job into a 512 byte slab

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A lot of the workloads create jobs with just one to two IBs, and if we re-order
some struct members and shrink some others we can stop those allocations
spilling into the 1k SLAB bucket.

Before:

  sizeof(struct amdgpu_job) + 2 * sizeof(struct amdgpu_ib) = 480 + 80 = 560

After:

  sizeof(struct amdgpu_job) + 2 * sizeof(struct amdgpu_ib) = 448 + 64 = 512

It is not a huge gain in the big picture but every little helps.

Tvrtko Ursulin (3):
  drm/amdgpu: Remove hole from struct amdgpu_ib
  drm/amdgpu: Reduce holes in struct amdgpu_job
  drm/amdgpu: Shrink struct amdgpu_job further

 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c      | 19 ++++++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c     |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c     |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c      |  7 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c     | 29 ++++++++++-----
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c     |  6 ++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h     | 41 ++++++++++-----------
 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h    |  4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h   |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c      | 17 +++++----
 12 files changed, 75 insertions(+), 58 deletions(-)

-- 
2.48.0




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux