aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
diff options
context:
space:
mode:
authorJP Kobryn <[email protected]>2025-05-15 00:19:35 +0000
committerTejun Heo <[email protected]>2025-05-19 20:29:42 +0000
commit748922dcfabdd655d25fb6dd09a60e694a3d35e6 (patch)
treebac6da9c031fab4a6d40efa2a4feb0494cda38d6 /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
parentcgroup: use separate rstat trees for each subsystem (diff)
downloadkernel-748922dcfabdd655d25fb6dd09a60e694a3d35e6.tar.gz
kernel-748922dcfabdd655d25fb6dd09a60e694a3d35e6.zip
cgroup: use subsystem-specific rstat locks to avoid contention
It is possible to eliminate contention between subsystems when updating/flushing stats by using subsystem-specific locks. Let the existing rstat locks be dedicated to the cgroup base stats and rename them to reflect that. Add similar locks to the cgroup_subsys struct for use with individual subsystems. Lock initialization is done in the new function ss_rstat_init(ss) which replaces cgroup_rstat_boot(void). If NULL is passed to this function, the global base stat locks will be initialized. Otherwise, the subsystem locks will be initialized. Change the existing lock helper functions to accept a reference to a css. Then within these functions, conditionally select the appropriate locks based on the subsystem affiliation of the given css. Add helper functions for this selection routine to avoid repeated code. Signed-off-by: JP Kobryn <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
0 files changed, 0 insertions, 0 deletions