All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: "Christian König" <ckoenig.leichtzumerken@gmail.com>
Cc: gustavo@padovan.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, daniel.vetter@ffwll.ch,
	linux-media@vger.kernel.org
Subject: Re: [PATCH 3/4] dma-buf: Warn about dma_fence_chain container rules
Date: Wed, 19 Jan 2022 18:18:57 +0100	[thread overview]
Message-ID: <YehIAaPI53wNes+1@phenom.ffwll.local> (raw)
In-Reply-To: <20220119134339.3102-3-christian.koenig@amd.com>

On Wed, Jan 19, 2022 at 02:43:38PM +0100, Christian König wrote:
> Chaining of dma_fence_chain objects is only allowed through the prev
> fence and not through the contained fence.
> 
> Warn about that when we create a dma_fence_chain.
> 
> Signed-off-by: Christian König <christian.koenig@amd.com>
> ---
>  drivers/dma-buf/dma-fence-chain.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
> index 1b4cb3e5cec9..fa33f6b7f77b 100644
> --- a/drivers/dma-buf/dma-fence-chain.c
> +++ b/drivers/dma-buf/dma-fence-chain.c
> @@ -254,5 +254,13 @@ void dma_fence_chain_init(struct dma_fence_chain *chain,
>  
>  	dma_fence_init(&chain->base, &dma_fence_chain_ops,
>  		       &chain->lock, context, seqno);
> +
> +	/* Chaining dma_fence_chain container together is only allowed through
> +	 * the prev fence and not through the contained fence.
> +	 *
> +	 * The correct way of handling this is to flatten out the fence
> +	 * structure into a dma_fence_array by the caller instead.
> +	 */
> +	WARN_ON(dma_fence_is_chain(fence));

At first I was worried that you'd leave a chain fence in the array fence
as an option, but we exclude that with the previous patch.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

>  }
>  EXPORT_SYMBOL(dma_fence_chain_init);
> -- 
> 2.25.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: "Christian König" <ckoenig.leichtzumerken@gmail.com>
Cc: sumit.semwal@linaro.org, gustavo@padovan.org,
	daniel.vetter@ffwll.ch, linux-media@vger.kernel.org,
	dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org
Subject: Re: [PATCH 3/4] dma-buf: Warn about dma_fence_chain container rules
Date: Wed, 19 Jan 2022 18:18:57 +0100	[thread overview]
Message-ID: <YehIAaPI53wNes+1@phenom.ffwll.local> (raw)
In-Reply-To: <20220119134339.3102-3-christian.koenig@amd.com>

On Wed, Jan 19, 2022 at 02:43:38PM +0100, Christian König wrote:
> Chaining of dma_fence_chain objects is only allowed through the prev
> fence and not through the contained fence.
> 
> Warn about that when we create a dma_fence_chain.
> 
> Signed-off-by: Christian König <christian.koenig@amd.com>
> ---
>  drivers/dma-buf/dma-fence-chain.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
> index 1b4cb3e5cec9..fa33f6b7f77b 100644
> --- a/drivers/dma-buf/dma-fence-chain.c
> +++ b/drivers/dma-buf/dma-fence-chain.c
> @@ -254,5 +254,13 @@ void dma_fence_chain_init(struct dma_fence_chain *chain,
>  
>  	dma_fence_init(&chain->base, &dma_fence_chain_ops,
>  		       &chain->lock, context, seqno);
> +
> +	/* Chaining dma_fence_chain container together is only allowed through
> +	 * the prev fence and not through the contained fence.
> +	 *
> +	 * The correct way of handling this is to flatten out the fence
> +	 * structure into a dma_fence_array by the caller instead.
> +	 */
> +	WARN_ON(dma_fence_is_chain(fence));

At first I was worried that you'd leave a chain fence in the array fence
as an option, but we exclude that with the previous patch.

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

>  }
>  EXPORT_SYMBOL(dma_fence_chain_init);
> -- 
> 2.25.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

  reply	other threads:[~2022-01-19 17:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19 13:43 [PATCH 1/4] dma-buf: consolidate dma_fence subclass checking Christian König
2022-01-19 13:43 ` Christian König
2022-01-19 13:43 ` [PATCH 2/4] dma-buf: warn about dma_fence_array container rules Christian König
2022-01-19 13:43   ` Christian König
2022-01-19 17:18   ` Daniel Vetter
2022-01-19 17:18     ` Daniel Vetter
2022-01-19 13:43 ` [PATCH 3/4] dma-buf: Warn about dma_fence_chain " Christian König
2022-01-19 13:43   ` Christian König
2022-01-19 17:18   ` Daniel Vetter [this message]
2022-01-19 17:18     ` Daniel Vetter
2022-01-19 13:43 ` [PATCH 4/4] dma-buf: warn about containers in dma_resv object Christian König
2022-01-19 13:43   ` Christian König
2022-01-19 17:19   ` Daniel Vetter
2022-01-19 17:19     ` Daniel Vetter
2022-01-19 17:16 ` [PATCH 1/4] dma-buf: consolidate dma_fence subclass checking Daniel Vetter
2022-01-19 17:16   ` Daniel Vetter
2022-01-20  8:50   ` Christian König
2022-01-20  8:50     ` Christian König
2022-01-20 11:28     ` Daniel Vetter
2022-01-20 11:28       ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YehIAaPI53wNes+1@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=ckoenig.leichtzumerken@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gustavo@padovan.org \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.