Skip to content

Commit

Permalink
drm/amdgpu: only move pt bos in LRU list on success
Browse files Browse the repository at this point in the history
This fixes a race condition in the error case: since the pt bos have not
necessarily been reserved in case of an error, we could move a pt bo that
is currently in the middle of being evicted/moved by another process,
which then resulted in a BUG_ON in ttm_bo_add_to_lru.

Reviewed-by: Christian König <[email protected]>
Signed-off-by: Nicolai Hähnle <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
  • Loading branch information
nhaehnle authored and alexdeucher committed Jan 28, 2016
1 parent fe6fc1f commit 28b8d66
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -478,9 +478,9 @@ static void amdgpu_cs_parser_fini(struct amdgpu_cs_parser *parser, int error, bo
struct amdgpu_fpriv *fpriv = parser->filp->driver_priv;
unsigned i;

amdgpu_vm_move_pt_bos_in_lru(parser->adev, &fpriv->vm);

if (!error) {
amdgpu_vm_move_pt_bos_in_lru(parser->adev, &fpriv->vm);

/* Sort the buffer list from the smallest to largest buffer,
* which affects the order of buffers in the LRU list.
* This assures that the smallest buffers are added first
Expand Down

0 comments on commit 28b8d66

Please sign in to comment.