diff options
author | Rob Clark <robdclark@chromium.org> | 2021-04-02 14:12:26 -0700 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2021-04-07 11:05:43 -0700 |
commit | 25ed38b3ed26918b70c1392de7481809b5f5ba2d (patch) | |
tree | ec9545e5b148a3712dae1fb628e31cd1e6ac359a /drivers/gpu/drm/msm/msm_drv.h | |
parent | 528107c8e664a933b397a825f6e76c6d7dfa383b (diff) |
drm/msm: Drop mm_lock in scan loop
lock_stat + mmm_donut[1] say that this reduces contention on mm_lock
significantly (~350x lower waittime-max, and ~100x lower waittime-avg)
[1] https://chromium.googlesource.com/chromiumos/platform/microbenchmarks/+/refs/heads/main/mmm_donut.py
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20210402211226.875726-1-robdclark@gmail.com
Signed-off-by: Rob Clark <robdclark@chromium.org>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_drv.h')
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index 2536340e6223..6a42cdf4cf7e 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -184,7 +184,8 @@ struct msm_drm_private { /** * Lists of inactive GEM objects. Every bo is either in one of the * inactive lists (depending on whether or not it is shrinkable) or - * gpu->active_list (for the gpu it is active on[1]) + * gpu->active_list (for the gpu it is active on[1]), or transiently + * on a temporary list as the shrinker is running. * * These lists are protected by mm_lock (which should be acquired * before per GEM object lock). One should *not* hold mm_lock in |