On Wed, Nov 10, 2021 at 11:18:02AM +0100, Christian König wrote: > Am 08.11.21 um 15:59 schrieb Daniel Vetter: > > On Mon, Nov 08, 2021 at 08:44:24AM +0100, Christian König wrote: > > > Am 05.11.21 um 19:13 schrieb Daniel Vetter: > > > > On Thu, Nov 04, 2021 at 12:44:34PM -0400, Harry Wentland wrote: > > > > > +Nick > > > > > > > > > > It looks to be the old drm_plane_state->fb holds that reference. See dm_plane_helper_cleanup_fb() in amdgpu_dm.c. > > > > Yup plane state holds reference for its entire existing (well this holds > > > > in general as design principle for atomic state structs, just makes life > > > > easier). And the plane state is guaranteed to exist from when we first pin > > > > (prepare_fb plane hook) to when it's getting unpinned (cleanup_fb plane > > > > hook). > > > > > > > > Out of curiosity, what's blowing up? > > > The TTM pin count warning. What happens is that we try to free up a BO while > > > it is still being pinned. > > > > > > My best guess is that some DMA-buf client is doing something wrong, but it > > > could of course also be that the BO was pinned for scanout. > > We check in dma_buf_release whether there's anything left over, so I think > > the dma-buf scenario is rather unlikely. > > That was unfortunately only added quite recently and is currently backported > to older kernels. > > > I guess worst case we could add a cookie struct to dma_buf_pin that you > > need to pass to dma_buf_unpin, and wherein we can capture a backtrace. Or > > maybe implement that in ttm even. Otherwise I don't have good ideas. > > I was thinking about something similar for ttm_bo_pin(). > > BTW: How would I do that? I know that dump_stack() prints the current stack > trace into the system log, but how would I get this as string? stack depot, not stuff it into a string. stack depot is a lot more efficient and capturing backtraces, since it de-dupes and hashes and all you need is a pointer iirc. linux/stackdepot.h for interface, I think we recently gained a few more users of it in drm. It's _really_ nifty. -Daniel > > Thanks, > Christian. > > > -Daniel > > > > > Christian. > > > > > > > -Daniel > > > > > > > > > Harry > > > > > > > > > > On 2021-11-04 08:51, Christian König wrote: > > > > > > Hi guys, > > > > > > > > > > > > adding the usual suspects which might know that of hand: When we do a KMS page flip, who keeps the reference to the BO while it is scanned out? > > > > > > > > > > > > We are running into warning backtraces from TTM which look more than odd. > > > > > > > > > > > > Thanks, > > > > > > Christian. > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch