diff options
author | Christian König <christian.koenig@amd.com> | 2022-11-23 10:14:56 +0100 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2022-12-06 10:53:20 +0100 |
commit | 9bff18d13473a9fdf81d5158248472a9d8ecf2bd (patch) | |
tree | cf5f20f51436fa8368357dfde8608982d17b9e06 /include/drm/ttm/ttm_device.h | |
parent | cd3a8a596214e6a338a22104936c40e62bdea2b6 (diff) |
drm/ttm: use per BO cleanup workers
Instead of a single worker going over the list of delete BOs in regular
intervals use a per BO worker which blocks for the resv object and
locking of the BO.
This not only simplifies the handling massively, but also results in
much better response time when cleaning up buffers.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221125102137.1801-3-christian.koenig@amd.com
Diffstat (limited to 'include/drm/ttm/ttm_device.h')
-rw-r--r-- | include/drm/ttm/ttm_device.h | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h index 95b3c04b1ab9..4f3e81eac6f3 100644 --- a/include/drm/ttm/ttm_device.h +++ b/include/drm/ttm/ttm_device.h @@ -252,11 +252,6 @@ struct ttm_device { spinlock_t lru_lock; /** - * @ddestroy: Destroyed but not yet cleaned up buffer objects. - */ - struct list_head ddestroy; - - /** * @pinned: Buffer objects which are pinned and so not on any LRU list. */ struct list_head pinned; @@ -270,7 +265,7 @@ struct ttm_device { /** * @wq: Work queue structure for the delayed delete workqueue. */ - struct delayed_work wq; + struct workqueue_struct *wq; }; int ttm_global_swapout(struct ttm_operation_ctx *ctx, gfp_t gfp_flags); |