Message ID | 20230705195701.30141-1-rajneesh.bhardwaj@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/ttm: Use init_on_free to early release TTM BOs | expand |
Am 05.07.23 um 21:57 schrieb Rajneesh Bhardwaj: > Early release TTM BOs when the kernel default setting is init_on_free to > wipe out and reinitialize system memory chunks. "Delay release the TTM BO when the kernels init_on_free setting is used." > This could potentially > optimize performance when an application does a lot of malloc/free style > allocations with unified system memory. "This offloads the overhead of clearing the system memory to the work item and potentially a different CPU. And is very beneficial when the application does a lot of malloc/free style allocations of system memory." With those changes to the commit message the patch is Reviewed-by: Christian König <christian.koenig@amd.com>. I'm going to push that to drm-misc-next when you send it out once more. Thanks, Christian. > > Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com> > --- > drivers/gpu/drm/ttm/ttm_bo.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c > index 326a3d13a829..bd2e7e4f497a 100644 > --- a/drivers/gpu/drm/ttm/ttm_bo.c > +++ b/drivers/gpu/drm/ttm/ttm_bo.c > @@ -347,6 +347,7 @@ static void ttm_bo_release(struct kref *kref) > > if (!dma_resv_test_signaled(bo->base.resv, > DMA_RESV_USAGE_BOOKKEEP) || > + (want_init_on_free() && (bo->ttm != NULL)) || > !dma_resv_trylock(bo->base.resv)) { > /* The BO is not idle, resurrect it for delayed destroy */ > ttm_bo_flush_all_fences(bo);
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 326a3d13a829..bd2e7e4f497a 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -347,6 +347,7 @@ static void ttm_bo_release(struct kref *kref) if (!dma_resv_test_signaled(bo->base.resv, DMA_RESV_USAGE_BOOKKEEP) || + (want_init_on_free() && (bo->ttm != NULL)) || !dma_resv_trylock(bo->base.resv)) { /* The BO is not idle, resurrect it for delayed destroy */ ttm_bo_flush_all_fences(bo);
Early release TTM BOs when the kernel default setting is init_on_free to wipe out and reinitialize system memory chunks. This could potentially optimize performance when an application does a lot of malloc/free style allocations with unified system memory. Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj@amd.com> --- drivers/gpu/drm/ttm/ttm_bo.c | 1 + 1 file changed, 1 insertion(+)