drm/ttm: Make sure BOs being swapped out are cacheable
Subsystems (3)
PATCH 1/1 drm/ttm: Make sure BOs being swapped out are cacheable
From: Michel Dänzer <[email protected]>
The current caching state may not be tt_cached, even though the placement contains TTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up the
BUG_ON(ttm->caching_state != tt_cached);
in ttm_tt_swapout.
--- drivers/gpu/drm/ttm/ttm_bo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/gpu/drm/ttm/ttm_bo.c +2 -2
@@ -1670,7 +1670,6 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)struct ttm_buffer_object *bo;int ret = -EBUSY ;int put_count; -uint32_t swap_placement = (TTM_PL_FLAG_CACHED |TTM_PL_FLAG_SYSTEM );spin_lock (&glob->lru_lock);list_for_each_entry (bo, &glob->swap_lru, swap) {
@@ -1701,7 +1700,8 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)* Move to system cached */ -if ((bo->mem.placement & swap_placement) != swap_placement) { +if (bo->mem.mem_type !=TTM_PL_SYSTEM || + bo->ttm->caching_state != tt_cached) {struct ttm_mem_reg evict_mem; evict_mem = bo->mem;
Signature · 1 line
2.11.0
Quoted 6 lines · Michel Dänzer
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up the
Quoted 6 lines
BUG_ON(ttm->caching_state != tt_cached);in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>
Quoted 26 lines
--- drivers/gpu/drm/ttm/ttm_bo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/gpu/drm/ttm/ttm_bo.c +2
-2@@ -1670,7 +1670,6 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)struct ttm_buffer_object *bo;int ret = -EBUSY ;int put_count; -uint32_t swap_placement = (TTM_PL_FLAG_CACHED |TTM_PL_FLAG_SYSTEM );spin_lock (&glob->lru_lock);list_for_each_entry (bo, &glob->swap_lru, swap) {@@ -1701,7 +1700,8 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)* Move to system cached */ -if ((bo->mem.placement & swap_placement) != swap_placement) { +if (bo->mem.mem_type !=TTM_PL_SYSTEM || + bo->ttm->caching_state != tt_cached) {struct ttm_mem_reg evict_mem; evict_mem = bo->mem;
Christian König
Reviewed-byAm 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 7 lines · Michel Dänzer
Quoted 6 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up the
Quoted 7 lines
Quoted 6 lines
BUG_ON(ttm->caching_state != tt_cached);in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>
Quoted 21 lines
Quoted 21 lines
--- drivers/gpu/drm/ttm/ttm_bo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/gpu/drm/ttm/ttm_bo.c +0
-1@@ -1670,7 +1670,6 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)struct ttm_buffer_object *bo;int ret = -EBUSY ;int put_count; -uint32_t swap_placement = (TTM_PL_FLAG_CACHED |TTM_PL_FLAG_SYSTEM );spin_lock (&glob->lru_lock);list_for_each_entry (bo, &glob->swap_lru, swap) {@@ -1701,7 +1700,8 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)* Move to system cached */
Quoted 7 lines
drivers/gpu/drm/ttm/ttm_bo.c static int ttm_bo_swapout(struct ttm_mem_shrink *shrink) · line 1707
Quoted 6 lines
drivers/gpu/drm/ttm/ttm_bo.c +2
-1-if ((bo->mem.placement & swap_placement) != swap_placement) { +if (bo->mem.mem_type !=TTM_PL_SYSTEM || + bo->ttm->caching_state != tt_cached) {struct ttm_mem_reg evict_mem; evict_mem = bo->mem;
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Sinclair Yeh
Reviewed-byQuoted 10 lines · Christian König
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 9 lines · Michel Dänzer
Quoted 8 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);
Quoted 7 lines
Quoted 5 lines
Quoted 4 lines
in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.
Quoted 18 lines
Quoted 18 lines
Quoted 18 lines
--- drivers/gpu/drm/ttm/ttm_bo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/gpu/drm/ttm/ttm_bo.c +0
-1@@ -1670,7 +1670,6 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)struct ttm_buffer_object *bo;int ret = -EBUSY ;int put_count; -uint32_t swap_placement = (TTM_PL_FLAG_CACHED |TTM_PL_FLAG_SYSTEM );spin_lock (&glob->lru_lock);list_for_each_entry (bo, &glob->swap_lru, swap) {@@ -1701,7 +1700,8 @@ static int ttm_bo_swapout(struct ttm_mem_shrink *shrink)
Quoted 9 lines
Quoted 8 lines
drivers/gpu/drm/ttm/ttm_bo.c static int ttm_bo_swapout(struct ttm_mem_shrink *shrink) · line 1707
Quoted 7 lines
drivers/gpu/drm/ttm/ttm_bo.c +2
-1* Move to system cached */ -if ((bo->mem.placement & swap_placement) != swap_placement) { +if (bo->mem.mem_type !=TTM_PL_SYSTEM || + bo->ttm->caching_state != tt_cached) {struct ttm_mem_reg evict_mem; evict_mem = bo->mem;
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 13 lines · Sinclair Yeh
Quoted 12 lines · Christian König
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 11 lines · Michel Dänzer
Quoted 10 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);in
ttm_tt_swapout.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
Quoted 2 lines
Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>
Thanks for the reviews! Via which tree should we merge this?
Signature · 6 lines
Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 12 lines · Michel Dänzer
Quoted 11 lines · Sinclair Yeh
Quoted 10 lines · Christian König
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 9 lines · Michel Dänzer
Quoted 8 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);
Quoted 10 lines
Quoted 7 lines
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines
in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>Thanks for the reviews! Via which tree should we merge this?
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
/Thomas
Quoted 17 lines · Thomas Hellstrom
Quoted 16 lines · Michel Dänzer
Quoted 15 lines · Sinclair Yeh
Quoted 14 lines · Christian König
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 13 lines · Michel Dänzer
Quoted 12 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Quoted 2 lines
Quoted 1 line
Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>Thanks for the reviews! Via which tree should we merge this?
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
I'm trying very hard not to get volunteered for ttm maintainer :-) Nominally Alex&Christian have drm-misc commit rights, but they haven't used them yet. But I think merging through drm-misc would make sense, there's regular pull request trains for both -next and -fixes. Or merge through the amd tree with Dave's ack, but I'd really like to get amd folks into the drm-misc group ...
-Daniel
Signature · 7 lines
Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Am 27.01.2017 um 08:30 schrieb Daniel Vetter:
Quoted 19 lines · Thomas Hellstrom
Quoted 18 lines · Michel Dänzer
Quoted 17 lines · Sinclair Yeh
Quoted 16 lines · Christian König
Quoted 15 lines
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 14 lines · Michel Dänzer
Quoted 6 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theQuoted 6 lines
BUG_ON(ttm->caching_state != tt_cached);in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>
Quoted 8 lines
Quoted 7 lines
Quoted 5 lines
Quoted 2 lines
Quoted 1 line
Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>Thanks for the reviews! Via which tree should we merge this?
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
I'm trying very hard not to get volunteered for ttm maintainer :-)
Yeah, ok I volunteer. Wanted to take that over for a while anyway.
Quoted 3 lines
Nominally Alex&Christian have drm-misc commit rights, but they haven't used them yet. But I think merging through drm-misc would make sense, there's regular pull request trains for both -next and -fixes.
Completely agree on merging it through drm-misc. Going to give my push rights a try today.
Quoted 2 lines
Or merge through the amd tree with Dave's ack, but I'd really like to get amd folks into the drm-misc group ...
I've got a few more already reviewed TTM changes which are currently waiting to be pushed upstream where amdgpu has dependencies on.
Going to sync with Alex so he sends his pull requests with those changes to Dave after the merge of the depending changes.
If you want to object that just merging through the AMD tree would be simpler, I agree but I actually want to do this exercise at least once :)
Regards,
Christian.
Quoted 1 line
-Daniel
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 22 lines · Christian König
Am 27.01.2017 um 08:30 schrieb Daniel Vetter:
Quoted 21 lines · Thomas Hellstrom
Quoted 20 lines · Michel Dänzer
Quoted 19 lines · Sinclair Yeh
Quoted 18 lines · Christian König
Quoted 8 lines
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 7 lines · Michel Dänzer
Quoted 6 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theQuoted 8 lines
Quoted 7 lines
Quoted 6 lines
BUG_ON(ttm->caching_state != tt_cached);in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>
Quoted 8 lines
Quoted 6 lines
Quoted 5 lines
Quoted 3 lines
Thanks for the reviews! Via which tree should we merge this?
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
I'm trying very hard not to get volunteered for ttm maintainer :-)
Yeah, ok I volunteer. Wanted to take that over for a while anyway.
I guess you didn't use the dim magic to push it? The test integration tree isn't rebuild ... Quickstart for the tooling:
https://01.org/linuxgraphics/gfx-docs/maintainer-tools/dim.html
-Daniel
Signature · 7 lines
Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Am 27.01.2017 um 15:12 schrieb Daniel Vetter:
Quoted 26 lines · Christian König
Quoted 25 lines
Am 27.01.2017 um 08:30 schrieb Daniel Vetter:
Quoted 24 lines · Thomas Hellstrom
Quoted 23 lines · Michel Dänzer
Quoted 22 lines · Sinclair Yeh
Quoted 11 lines · Christian König
Quoted 10 lines
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 9 lines · Michel Dänzer
Quoted 8 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);Quoted 7 lines
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines
in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>Thanks for the reviews! Via which tree should we merge this?
Quoted 6 lines
Quoted 4 lines
Quoted 3 lines
Quoted 2 lines
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
I'm trying very hard not to get volunteered for ttm maintainer :-)
Yeah, ok I volunteer. Wanted to take that over for a while anyway.
I guess you didn't use the dim magic to push it? The test integration tree isn't rebuild ... Quickstart for the tooling:
Autsch! Do I have to use that or can I just go with my usual tool set?
Would probably be a pain to set this up everywhere here.
Christian.
Quoted 4 lines
https://01.org/linuxgraphics/gfx-docs/maintainer-tools/dim.html
-Daniel
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 29 lines · Christian König
Am 27.01.2017 um 15:12 schrieb Daniel Vetter:
Quoted 28 lines · Christian König
Quoted 27 lines
Am 27.01.2017 um 08:30 schrieb Daniel Vetter:
Quoted 26 lines · Thomas Hellstrom
Quoted 25 lines · Michel Dänzer
Quoted 12 lines · Sinclair Yeh
Quoted 11 lines · Christian König
Quoted 10 lines
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 9 lines · Michel Dänzer
Quoted 8 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);Quoted 10 lines
Quoted 7 lines
Quoted 6 lines
Quoted 5 lines
Quoted 4 lines
in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>Thanks for the reviews! Via which tree should we merge this?
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
Quoted 8 lines
Quoted 4 lines
Quoted 2 lines
Quoted 1 line
I'm trying very hard not to get volunteered for ttm maintainer :-)
Yeah, ok I volunteer. Wanted to take that over for a while anyway.
I guess you didn't use the dim magic to push it? The test integration tree isn't rebuild ... Quickstart for the tooling:
Autsch! Do I have to use that or can I just go with my usual tool set?
Would probably be a pain to set this up everywhere here.
We use it both for convience (e.g. it auto-adds the sob if need, and the patchwork link by default), and to catch mistakes (e.g. it checks that you're not pushing patches outside of the scope of drm-misc or i915 to the wrong tree). For drm-misc specifically there's also the 3 defconfigs you're supposed to build test before pushing (unfornately not scripted since distros can't even agree on what cross-compiler prefixes work for a given platform). And since 1 month ago we have an arm-soc ttm-based driver, so doing that for ttm patches is kinda a good idea too :-)
But right now the main thing is this integration tree magic to regenerate drm-tip, and that's also what intel CI and kernelci from collabora beat on. Long term I'd love to push all this onto the server-side (github makes scipting a lot of this dead easy). But we're still stuck with patches scribbled on stones with emailed patches and all that, so client-side scripts are kinda needed.
-Daniel
Signature · 7 lines
Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 58 lines · Christian König
Am 27.01.2017 um 08:30 schrieb Daniel Vetter:
Quoted 33 lines · Thomas Hellstrom
Quoted 31 lines · Michel Dänzer
Quoted 29 lines · Sinclair Yeh
Quoted 26 lines · Christian König
Quoted 14 lines
Am 25.01.2017 um 10:25 schrieb Thomas Hellstrom:
Quoted 12 lines · Michel Dänzer
Quoted 10 lines
From: Michel Dänzer <[email protected]>
The current caching state may not be
tt_cached, even though the placement containsTTM_PL_FLAG_CACHED, because placement can contain multiple caching flags. Trying to swap out such a BO would trip up theBUG_ON(ttm->caching_state != tt_cached);Quoted 8 lines
Quoted 6 lines
Quoted 4 lines
in
ttm_tt_swapout.Signed-off-by Michel Dänzer <[email protected]>Reviewed-by Thomas Hellstrom <[email protected]>Reviewed-by Christian König <[email protected]>.Reviewed-by Sinclair Yeh <[email protected]>Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
Thanks for the reviews! Via which tree should we merge this?
I don't maintain a TTM tree any longer. Let's check with Daniel if he can merge it through drm-misc.
I'm trying very hard not to get volunteered for ttm maintainer :-)
Yeah, ok I volunteer. Wanted to take that over for a while anyway.
Quoted 3 lines
Nominally Alex&Christian have drm-misc commit rights, but they haven't used them yet. But I think merging through drm-misc would make sense, there's regular pull request trains for both -next and -fixes.
Completely agree on merging it through drm-misc. Going to give my push rights a try today.
Quoted 3 lines
Or merge through the amd tree with Dave's ack, but I'd really like to get amd folks
into the drm-misc group ...
Quoted 8 lines
I've got a few more already reviewed TTM changes which are currently waiting to be pushed upstream where amdgpu has dependencies on.
Going to sync with Alex so he sends his pull requests with those changes to Dave after the merge of the depending changes.
If you want to object that just merging through the AMD tree would be simpler, I agree but I actually want to do this exercise at least once :)
I was thinking of including this in my -fixes pull next week, but I don't have a strong preference either way. The other ttm changes are pretty intertwined with amdgpu changes so I think it would be easier to take them in via the amdgpu tree. In the future we can adjust that.
Alex
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel