* [Intel-gfx] [PATCH 1/6] dma-buf: consolidate dma_fence subclass checking
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
@ 2022-02-04 10:04 ` Christian König
2022-02-04 10:36 ` Thomas Hellström
2022-02-04 10:04 ` [Intel-gfx] [PATCH 2/6] dma-buf: warn about dma_fence_array container rules v2 Christian König
` (8 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Christian König @ 2022-02-04 10:04 UTC (permalink / raw)
To: sumit.semwal, thomas.hellstrom, daniel.vetter, dri-devel,
linux-media, intel-gfx
Consolidate the wrapper functions to check for dma_fence
subclasses in the dma_fence header.
This makes it easier to document and also check the different
requirements for fence containers in the subclasses.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
include/linux/dma-fence-array.h | 15 +------------
include/linux/dma-fence-chain.h | 3 +--
include/linux/dma-fence.h | 38 +++++++++++++++++++++++++++++++++
3 files changed, 40 insertions(+), 16 deletions(-)
diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h
index 303dd712220f..fec374f69e12 100644
--- a/include/linux/dma-fence-array.h
+++ b/include/linux/dma-fence-array.h
@@ -45,19 +45,6 @@ struct dma_fence_array {
struct irq_work work;
};
-extern const struct dma_fence_ops dma_fence_array_ops;
-
-/**
- * dma_fence_is_array - check if a fence is from the array subsclass
- * @fence: fence to test
- *
- * Return true if it is a dma_fence_array and false otherwise.
- */
-static inline bool dma_fence_is_array(struct dma_fence *fence)
-{
- return fence->ops == &dma_fence_array_ops;
-}
-
/**
* to_dma_fence_array - cast a fence to a dma_fence_array
* @fence: fence to cast to a dma_fence_array
@@ -68,7 +55,7 @@ static inline bool dma_fence_is_array(struct dma_fence *fence)
static inline struct dma_fence_array *
to_dma_fence_array(struct dma_fence *fence)
{
- if (fence->ops != &dma_fence_array_ops)
+ if (!fence || !dma_fence_is_array(fence))
return NULL;
return container_of(fence, struct dma_fence_array, base);
diff --git a/include/linux/dma-fence-chain.h b/include/linux/dma-fence-chain.h
index 54fe3443fd2c..ee906b659694 100644
--- a/include/linux/dma-fence-chain.h
+++ b/include/linux/dma-fence-chain.h
@@ -49,7 +49,6 @@ struct dma_fence_chain {
spinlock_t lock;
};
-extern const struct dma_fence_ops dma_fence_chain_ops;
/**
* to_dma_fence_chain - cast a fence to a dma_fence_chain
@@ -61,7 +60,7 @@ extern const struct dma_fence_ops dma_fence_chain_ops;
static inline struct dma_fence_chain *
to_dma_fence_chain(struct dma_fence *fence)
{
- if (!fence || fence->ops != &dma_fence_chain_ops)
+ if (!fence || !dma_fence_is_chain(fence))
return NULL;
return container_of(fence, struct dma_fence_chain, base);
diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
index 1ea691753bd3..775cdc0b4f24 100644
--- a/include/linux/dma-fence.h
+++ b/include/linux/dma-fence.h
@@ -587,4 +587,42 @@ struct dma_fence *dma_fence_get_stub(void);
struct dma_fence *dma_fence_allocate_private_stub(void);
u64 dma_fence_context_alloc(unsigned num);
+extern const struct dma_fence_ops dma_fence_array_ops;
+extern const struct dma_fence_ops dma_fence_chain_ops;
+
+/**
+ * dma_fence_is_array - check if a fence is from the array subclass
+ * @fence: the fence to test
+ *
+ * Return true if it is a dma_fence_array and false otherwise.
+ */
+static inline bool dma_fence_is_array(struct dma_fence *fence)
+{
+ return fence->ops == &dma_fence_array_ops;
+}
+
+/**
+ * dma_fence_is_chain - check if a fence is from the chain subclass
+ * @fence: the fence to test
+ *
+ * Return true if it is a dma_fence_chain and false otherwise.
+ */
+static inline bool dma_fence_is_chain(struct dma_fence *fence)
+{
+ return fence->ops == &dma_fence_chain_ops;
+}
+
+/**
+ * dma_fence_is_container - check if a fence is a container for other fences
+ * @fence: the fence to test
+ *
+ * Return true if this fence is a container for other fences, false otherwise.
+ * This is important since we can't build up large fence structure or otherwise
+ * we run into recursion during operation on those fences.
+ */
+static inline bool dma_fence_is_container(struct dma_fence *fence)
+{
+ return dma_fence_is_array(fence) || dma_fence_is_chain(fence);
+}
+
#endif /* __LINUX_DMA_FENCE_H */
--
2.25.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Intel-gfx] [PATCH 1/6] dma-buf: consolidate dma_fence subclass checking
2022-02-04 10:04 ` [Intel-gfx] [PATCH 1/6] dma-buf: consolidate dma_fence subclass checking Christian König
@ 2022-02-04 10:36 ` Thomas Hellström
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Hellström @ 2022-02-04 10:36 UTC (permalink / raw)
To: Christian König, sumit.semwal, daniel.vetter, dri-devel,
linux-media, intel-gfx
On Fri, 2022-02-04 at 11:04 +0100, Christian König wrote:
> Consolidate the wrapper functions to check for dma_fence
> subclasses in the dma_fence header.
>
> This makes it easier to document and also check the different
> requirements for fence containers in the subclasses.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
I'd probably still opt for a fence ops is_container member, but won't
insist.
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
> include/linux/dma-fence-array.h | 15 +------------
> include/linux/dma-fence-chain.h | 3 +--
> include/linux/dma-fence.h | 38
> +++++++++++++++++++++++++++++++++
> 3 files changed, 40 insertions(+), 16 deletions(-)
>
> diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-
> fence-array.h
> index 303dd712220f..fec374f69e12 100644
> --- a/include/linux/dma-fence-array.h
> +++ b/include/linux/dma-fence-array.h
> @@ -45,19 +45,6 @@ struct dma_fence_array {
> struct irq_work work;
> };
>
> -extern const struct dma_fence_ops dma_fence_array_ops;
> -
> -/**
> - * dma_fence_is_array - check if a fence is from the array subsclass
> - * @fence: fence to test
> - *
> - * Return true if it is a dma_fence_array and false otherwise.
> - */
> -static inline bool dma_fence_is_array(struct dma_fence *fence)
> -{
> - return fence->ops == &dma_fence_array_ops;
> -}
> -
> /**
> * to_dma_fence_array - cast a fence to a dma_fence_array
> * @fence: fence to cast to a dma_fence_array
> @@ -68,7 +55,7 @@ static inline bool dma_fence_is_array(struct
> dma_fence *fence)
> static inline struct dma_fence_array *
> to_dma_fence_array(struct dma_fence *fence)
> {
> - if (fence->ops != &dma_fence_array_ops)
> + if (!fence || !dma_fence_is_array(fence))
> return NULL;
>
> return container_of(fence, struct dma_fence_array, base);
> diff --git a/include/linux/dma-fence-chain.h b/include/linux/dma-
> fence-chain.h
> index 54fe3443fd2c..ee906b659694 100644
> --- a/include/linux/dma-fence-chain.h
> +++ b/include/linux/dma-fence-chain.h
> @@ -49,7 +49,6 @@ struct dma_fence_chain {
> spinlock_t lock;
> };
>
> -extern const struct dma_fence_ops dma_fence_chain_ops;
>
> /**
> * to_dma_fence_chain - cast a fence to a dma_fence_chain
> @@ -61,7 +60,7 @@ extern const struct dma_fence_ops
> dma_fence_chain_ops;
> static inline struct dma_fence_chain *
> to_dma_fence_chain(struct dma_fence *fence)
> {
> - if (!fence || fence->ops != &dma_fence_chain_ops)
> + if (!fence || !dma_fence_is_chain(fence))
> return NULL;
>
> return container_of(fence, struct dma_fence_chain, base);
> diff --git a/include/linux/dma-fence.h b/include/linux/dma-fence.h
> index 1ea691753bd3..775cdc0b4f24 100644
> --- a/include/linux/dma-fence.h
> +++ b/include/linux/dma-fence.h
> @@ -587,4 +587,42 @@ struct dma_fence *dma_fence_get_stub(void);
> struct dma_fence *dma_fence_allocate_private_stub(void);
> u64 dma_fence_context_alloc(unsigned num);
>
> +extern const struct dma_fence_ops dma_fence_array_ops;
> +extern const struct dma_fence_ops dma_fence_chain_ops;
> +
> +/**
> + * dma_fence_is_array - check if a fence is from the array subclass
> + * @fence: the fence to test
> + *
> + * Return true if it is a dma_fence_array and false otherwise.
> + */
> +static inline bool dma_fence_is_array(struct dma_fence *fence)
> +{
> + return fence->ops == &dma_fence_array_ops;
> +}
> +
> +/**
> + * dma_fence_is_chain - check if a fence is from the chain subclass
> + * @fence: the fence to test
> + *
> + * Return true if it is a dma_fence_chain and false otherwise.
> + */
> +static inline bool dma_fence_is_chain(struct dma_fence *fence)
> +{
> + return fence->ops == &dma_fence_chain_ops;
> +}
> +
> +/**
> + * dma_fence_is_container - check if a fence is a container for
> other fences
> + * @fence: the fence to test
> + *
> + * Return true if this fence is a container for other fences, false
> otherwise.
> + * This is important since we can't build up large fence structure
> or otherwise
> + * we run into recursion during operation on those fences.
> + */
> +static inline bool dma_fence_is_container(struct dma_fence *fence)
> +{
> + return dma_fence_is_array(fence) ||
> dma_fence_is_chain(fence);
> +}
> +
> #endif /* __LINUX_DMA_FENCE_H */
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH 2/6] dma-buf: warn about dma_fence_array container rules v2
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
2022-02-04 10:04 ` [Intel-gfx] [PATCH 1/6] dma-buf: consolidate dma_fence subclass checking Christian König
@ 2022-02-04 10:04 ` Christian König
2022-02-04 10:04 ` [Intel-gfx] [PATCH 3/6] dma-buf: Warn about dma_fence_chain " Christian König
` (7 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Christian König @ 2022-02-04 10:04 UTC (permalink / raw)
To: sumit.semwal, thomas.hellstrom, daniel.vetter, dri-devel,
linux-media, intel-gfx
It's not allowed to nest another dma_fence container into a dma_fence_array
or otherwise we can run into recursion.
Warn about that when we create a dma_fence_array.
v2: fix comment style and typo in the warning pointed out by Thomas
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
drivers/dma-buf/dma-fence-array.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c
index 3e07f961e2f3..cb1bacb5a42b 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -176,6 +176,20 @@ struct dma_fence_array *dma_fence_array_create(int num_fences,
array->base.error = PENDING_ERROR;
+ /*
+ * dma_fence_array objects should never contain any other fence
+ * containers or otherwise we run into recursion and potential kernel
+ * stack overflow on operations on the dma_fence_array.
+ *
+ * The correct way of handling this is to flatten out the array by the
+ * caller instead.
+ *
+ * Enforce this here by checking that we don't create a dma_fence_array
+ * with any container inside.
+ */
+ while (num_fences--)
+ WARN_ON(dma_fence_is_container(fences[num_fences]));
+
return array;
}
EXPORT_SYMBOL(dma_fence_array_create);
--
2.25.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* [Intel-gfx] [PATCH 3/6] dma-buf: Warn about dma_fence_chain container rules v2
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
2022-02-04 10:04 ` [Intel-gfx] [PATCH 1/6] dma-buf: consolidate dma_fence subclass checking Christian König
2022-02-04 10:04 ` [Intel-gfx] [PATCH 2/6] dma-buf: warn about dma_fence_array container rules v2 Christian König
@ 2022-02-04 10:04 ` Christian König
2022-02-09 14:02 ` Thomas Hellström
2022-02-04 10:04 ` [Intel-gfx] [PATCH 4/6] dma-buf: warn about containers in dma_resv object Christian König
` (6 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Christian König @ 2022-02-04 10:04 UTC (permalink / raw)
To: sumit.semwal, thomas.hellstrom, daniel.vetter, dri-devel,
linux-media, intel-gfx
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.
v2: fix comment style
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
drivers/dma-buf/dma-fence-chain.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index 1b4cb3e5cec9..084c6927b735 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -254,5 +254,14 @@ 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));
}
EXPORT_SYMBOL(dma_fence_chain_init);
--
2.25.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* [Intel-gfx] [PATCH 4/6] dma-buf: warn about containers in dma_resv object
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (2 preceding siblings ...)
2022-02-04 10:04 ` [Intel-gfx] [PATCH 3/6] dma-buf: Warn about dma_fence_chain " Christian König
@ 2022-02-04 10:04 ` Christian König
2022-02-04 10:04 ` [Intel-gfx] [PATCH 5/6] dma-buf: add dma_fence_chain_contained helper Christian König
` (5 subsequent siblings)
9 siblings, 0 replies; 17+ messages in thread
From: Christian König @ 2022-02-04 10:04 UTC (permalink / raw)
To: sumit.semwal, thomas.hellstrom, daniel.vetter, dri-devel,
linux-media, intel-gfx
Drivers should not add containers as shared fences to the dma_resv
object, instead each fence should be added individually.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
drivers/dma-buf/dma-resv.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/dma-buf/dma-resv.c b/drivers/dma-buf/dma-resv.c
index ee31f15d633a..b51416405e86 100644
--- a/drivers/dma-buf/dma-resv.c
+++ b/drivers/dma-buf/dma-resv.c
@@ -256,6 +256,11 @@ void dma_resv_add_shared_fence(struct dma_resv *obj, struct dma_fence *fence)
dma_resv_assert_held(obj);
+ /* Drivers should not add containers here, instead add each fence
+ * individually.
+ */
+ WARN_ON(dma_fence_is_container(fence));
+
fobj = dma_resv_shared_list(obj);
count = fobj->shared_count;
--
2.25.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* [Intel-gfx] [PATCH 5/6] dma-buf: add dma_fence_chain_contained helper
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (3 preceding siblings ...)
2022-02-04 10:04 ` [Intel-gfx] [PATCH 4/6] dma-buf: warn about containers in dma_resv object Christian König
@ 2022-02-04 10:04 ` Christian König
2022-02-04 10:38 ` Thomas Hellström
2022-02-04 10:04 ` [Intel-gfx] [PATCH 6/6] drm/amdgpu: use dma_fence_chain_contained Christian König
` (4 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Christian König @ 2022-02-04 10:04 UTC (permalink / raw)
To: sumit.semwal, thomas.hellstrom, daniel.vetter, dri-devel,
linux-media, intel-gfx
It's a reoccurring pattern that we need to extract the fence
from a dma_fence_chain object. Add a helper for this.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/dma-buf/dma-fence-chain.c | 6 ++----
include/linux/dma-fence-chain.h | 15 +++++++++++++++
2 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-fence-chain.c
index 084c6927b735..06f8ef97c6e8 100644
--- a/drivers/dma-buf/dma-fence-chain.c
+++ b/drivers/dma-buf/dma-fence-chain.c
@@ -148,8 +148,7 @@ static bool dma_fence_chain_enable_signaling(struct dma_fence *fence)
dma_fence_get(&head->base);
dma_fence_chain_for_each(fence, &head->base) {
- struct dma_fence_chain *chain = to_dma_fence_chain(fence);
- struct dma_fence *f = chain ? chain->fence : fence;
+ struct dma_fence *f = dma_fence_chain_contained(fence);
dma_fence_get(f);
if (!dma_fence_add_callback(f, &head->cb, dma_fence_chain_cb)) {
@@ -165,8 +164,7 @@ static bool dma_fence_chain_enable_signaling(struct dma_fence *fence)
static bool dma_fence_chain_signaled(struct dma_fence *fence)
{
dma_fence_chain_for_each(fence, fence) {
- struct dma_fence_chain *chain = to_dma_fence_chain(fence);
- struct dma_fence *f = chain ? chain->fence : fence;
+ struct dma_fence *f = dma_fence_chain_contained(fence);
if (!dma_fence_is_signaled(f)) {
dma_fence_put(fence);
diff --git a/include/linux/dma-fence-chain.h b/include/linux/dma-fence-chain.h
index ee906b659694..10d51bcdf7b7 100644
--- a/include/linux/dma-fence-chain.h
+++ b/include/linux/dma-fence-chain.h
@@ -66,6 +66,21 @@ to_dma_fence_chain(struct dma_fence *fence)
return container_of(fence, struct dma_fence_chain, base);
}
+/**
+ * dma_fence_chain_contained - return the contained fence
+ * @fence: the fence to test
+ *
+ * If the fence is a dma_fence_chain the function returns the fence contained
+ * inside the chain object, otherwise it returns the fence itself.
+ */
+static inline struct dma_fence *
+dma_fence_chain_contained(struct dma_fence *fence)
+{
+ struct dma_fence_chain *chain = to_dma_fence_chain(fence);
+
+ return chain ? chain->fence : fence;
+}
+
/**
* dma_fence_chain_alloc
*
--
2.25.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Intel-gfx] [PATCH 5/6] dma-buf: add dma_fence_chain_contained helper
2022-02-04 10:04 ` [Intel-gfx] [PATCH 5/6] dma-buf: add dma_fence_chain_contained helper Christian König
@ 2022-02-04 10:38 ` Thomas Hellström
0 siblings, 0 replies; 17+ messages in thread
From: Thomas Hellström @ 2022-02-04 10:38 UTC (permalink / raw)
To: Christian König, sumit.semwal, daniel.vetter, dri-devel,
linux-media, intel-gfx
On Fri, 2022-02-04 at 11:04 +0100, Christian König wrote:
> It's a reoccurring pattern that we need to extract the fence
> from a dma_fence_chain object. Add a helper for this.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
I thought I'd reviewed this one already, but in case I didn't
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> ---
> drivers/dma-buf/dma-fence-chain.c | 6 ++----
> include/linux/dma-fence-chain.h | 15 +++++++++++++++
> 2 files changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/dma-buf/dma-fence-chain.c b/drivers/dma-buf/dma-
> fence-chain.c
> index 084c6927b735..06f8ef97c6e8 100644
> --- a/drivers/dma-buf/dma-fence-chain.c
> +++ b/drivers/dma-buf/dma-fence-chain.c
> @@ -148,8 +148,7 @@ static bool
> dma_fence_chain_enable_signaling(struct dma_fence *fence)
>
> dma_fence_get(&head->base);
> dma_fence_chain_for_each(fence, &head->base) {
> - struct dma_fence_chain *chain =
> to_dma_fence_chain(fence);
> - struct dma_fence *f = chain ? chain->fence : fence;
> + struct dma_fence *f =
> dma_fence_chain_contained(fence);
>
> dma_fence_get(f);
> if (!dma_fence_add_callback(f, &head->cb,
> dma_fence_chain_cb)) {
> @@ -165,8 +164,7 @@ static bool
> dma_fence_chain_enable_signaling(struct dma_fence *fence)
> static bool dma_fence_chain_signaled(struct dma_fence *fence)
> {
> dma_fence_chain_for_each(fence, fence) {
> - struct dma_fence_chain *chain =
> to_dma_fence_chain(fence);
> - struct dma_fence *f = chain ? chain->fence : fence;
> + struct dma_fence *f =
> dma_fence_chain_contained(fence);
>
> if (!dma_fence_is_signaled(f)) {
> dma_fence_put(fence);
> diff --git a/include/linux/dma-fence-chain.h b/include/linux/dma-
> fence-chain.h
> index ee906b659694..10d51bcdf7b7 100644
> --- a/include/linux/dma-fence-chain.h
> +++ b/include/linux/dma-fence-chain.h
> @@ -66,6 +66,21 @@ to_dma_fence_chain(struct dma_fence *fence)
> return container_of(fence, struct dma_fence_chain, base);
> }
>
> +/**
> + * dma_fence_chain_contained - return the contained fence
> + * @fence: the fence to test
> + *
> + * If the fence is a dma_fence_chain the function returns the fence
> contained
> + * inside the chain object, otherwise it returns the fence itself.
> + */
> +static inline struct dma_fence *
> +dma_fence_chain_contained(struct dma_fence *fence)
> +{
> + struct dma_fence_chain *chain = to_dma_fence_chain(fence);
> +
> + return chain ? chain->fence : fence;
> +}
> +
> /**
> * dma_fence_chain_alloc
> *
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] [PATCH 6/6] drm/amdgpu: use dma_fence_chain_contained
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (4 preceding siblings ...)
2022-02-04 10:04 ` [Intel-gfx] [PATCH 5/6] dma-buf: add dma_fence_chain_contained helper Christian König
@ 2022-02-04 10:04 ` Christian König
2022-02-04 15:43 ` Alex Deucher
2022-02-04 10:40 ` [Intel-gfx] Add warning for nesting dma_fence containers Thomas Hellström
` (3 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Christian König @ 2022-02-04 10:04 UTC (permalink / raw)
To: sumit.semwal, thomas.hellstrom, daniel.vetter, dri-devel,
linux-media, intel-gfx
Instead of manually extracting the fence.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
index f7d8487799b2..40e06745fae9 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
@@ -261,10 +261,9 @@ int amdgpu_sync_resv(struct amdgpu_device *adev, struct amdgpu_sync *sync,
dma_resv_for_each_fence(&cursor, resv, true, f) {
dma_fence_chain_for_each(f, f) {
- struct dma_fence_chain *chain = to_dma_fence_chain(f);
+ struct dma_fence *tmp = dma_fence_chain_contained(f);
- if (amdgpu_sync_test_fence(adev, mode, owner, chain ?
- chain->fence : f)) {
+ if (amdgpu_sync_test_fence(adev, mode, owner, tmp)) {
r = amdgpu_sync_fence(sync, f);
dma_fence_put(f);
if (r)
--
2.25.1
^ permalink raw reply related [flat|nested] 17+ messages in thread* Re: [Intel-gfx] [PATCH 6/6] drm/amdgpu: use dma_fence_chain_contained
2022-02-04 10:04 ` [Intel-gfx] [PATCH 6/6] drm/amdgpu: use dma_fence_chain_contained Christian König
@ 2022-02-04 15:43 ` Alex Deucher
0 siblings, 0 replies; 17+ messages in thread
From: Alex Deucher @ 2022-02-04 15:43 UTC (permalink / raw)
To: Christian König
Cc: Thomas Hellström, Daniel Vetter, Intel Graphics Development,
Maling list - DRI developers, Sumit Semwal, linux-media
On Fri, Feb 4, 2022 at 5:04 AM Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
>
> Instead of manually extracting the fence.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
> index f7d8487799b2..40e06745fae9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sync.c
> @@ -261,10 +261,9 @@ int amdgpu_sync_resv(struct amdgpu_device *adev, struct amdgpu_sync *sync,
>
> dma_resv_for_each_fence(&cursor, resv, true, f) {
> dma_fence_chain_for_each(f, f) {
> - struct dma_fence_chain *chain = to_dma_fence_chain(f);
> + struct dma_fence *tmp = dma_fence_chain_contained(f);
>
> - if (amdgpu_sync_test_fence(adev, mode, owner, chain ?
> - chain->fence : f)) {
> + if (amdgpu_sync_test_fence(adev, mode, owner, tmp)) {
> r = amdgpu_sync_fence(sync, f);
> dma_fence_put(f);
> if (r)
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Intel-gfx] Add warning for nesting dma_fence containers
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (5 preceding siblings ...)
2022-02-04 10:04 ` [Intel-gfx] [PATCH 6/6] drm/amdgpu: use dma_fence_chain_contained Christian König
@ 2022-02-04 10:40 ` Thomas Hellström
2022-02-04 13:20 ` Christian König
2022-02-04 13:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] dma-buf: consolidate dma_fence subclass checking Patchwork
` (2 subsequent siblings)
9 siblings, 1 reply; 17+ messages in thread
From: Thomas Hellström @ 2022-02-04 10:40 UTC (permalink / raw)
To: Christian König, sumit.semwal, daniel.vetter, dri-devel,
linux-media, intel-gfx
On Fri, 2022-02-04 at 11:04 +0100, Christian König wrote:
> Hi everyone,
>
> Since some operations can then lead to recursive handling nesting
> dma_fence containers into each other is only allowed under some
> restrictions.
>
> dma_fence_array containers can be attached to dma_fence_chain
> containers and dma_fence_chain containers by chaining them together.
>
> In all other cases the individual fences should be extracted with
> the appropriate iterators and added to the new containers
> individually.
>
> I've separated the i915 cleanup from this change since it is
> generally a different functionality and the build bots complained
> about some issues with those patches.
>
> Most patches are already reviewd, but especially the first one still
> needs an rb tag.
>
> Please review and comment,
I see you dropped the i915 patch (probably due to lack of reviews?),
Got distracted with other things, but I'll see if I can resurrect that
and get it reviewed and merged.
Thanks,
Thomas
> Christian.
>
>
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: [Intel-gfx] Add warning for nesting dma_fence containers
2022-02-04 10:40 ` [Intel-gfx] Add warning for nesting dma_fence containers Thomas Hellström
@ 2022-02-04 13:20 ` Christian König
0 siblings, 0 replies; 17+ messages in thread
From: Christian König @ 2022-02-04 13:20 UTC (permalink / raw)
To: Thomas Hellström, sumit.semwal, daniel.vetter, dri-devel,
linux-media, intel-gfx
Am 04.02.22 um 11:40 schrieb Thomas Hellström:
> On Fri, 2022-02-04 at 11:04 +0100, Christian König wrote:
>> Hi everyone,
>>
>> Since some operations can then lead to recursive handling nesting
>> dma_fence containers into each other is only allowed under some
>> restrictions.
>>
>> dma_fence_array containers can be attached to dma_fence_chain
>> containers and dma_fence_chain containers by chaining them together.
>>
>> In all other cases the individual fences should be extracted with
>> the appropriate iterators and added to the new containers
>> individually.
>>
>> I've separated the i915 cleanup from this change since it is
>> generally a different functionality and the build bots complained
>> about some issues with those patches.
>>
>> Most patches are already reviewd, but especially the first one still
>> needs an rb tag.
>>
>> Please review and comment,
> I see you dropped the i915 patch (probably due to lack of reviews?),
> Got distracted with other things, but I'll see if I can resurrect that
> and get it reviewed and merged.
I was about to send out the i915 patch when that one here is merged.
The CI systems yielded some strange error with that one and I wanted to
double check what's that all about.
Regards,
Christian.
>
> Thanks,
> Thomas
>
>
>> Christian.
>>
>>
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] dma-buf: consolidate dma_fence subclass checking
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (6 preceding siblings ...)
2022-02-04 10:40 ` [Intel-gfx] Add warning for nesting dma_fence containers Thomas Hellström
@ 2022-02-04 13:36 ` Patchwork
2022-02-04 13:38 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-02-04 14:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2022-02-04 13:36 UTC (permalink / raw)
To: Christian König; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/6] dma-buf: consolidate dma_fence subclass checking
URL : https://patchwork.freedesktop.org/series/99700/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
45d3d4ee83aa dma-buf: consolidate dma_fence subclass checking
-:117: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Christian König" <ckoenig.leichtzumerken@gmail.com>' != 'Signed-off-by: Christian König <christian.koenig@amd.com>'
total: 0 errors, 1 warnings, 0 checks, 84 lines checked
942f0dd6ef1f dma-buf: warn about dma_fence_array container rules v2
-:44: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Christian König" <ckoenig.leichtzumerken@gmail.com>' != 'Signed-off-by: Christian König <christian.koenig@amd.com>'
total: 0 errors, 1 warnings, 0 checks, 20 lines checked
3bb498287ec8 dma-buf: Warn about dma_fence_chain container rules v2
-:38: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Christian König" <ckoenig.leichtzumerken@gmail.com>' != 'Signed-off-by: Christian König <christian.koenig@amd.com>'
total: 0 errors, 1 warnings, 0 checks, 14 lines checked
df4941cd23d4 dma-buf: warn about containers in dma_resv object
-:31: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Christian König" <ckoenig.leichtzumerken@gmail.com>' != 'Signed-off-by: Christian König <christian.koenig@amd.com>'
total: 0 errors, 1 warnings, 0 checks, 11 lines checked
0dc0287ffbd9 dma-buf: add dma_fence_chain_contained helper
-:63: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Christian König" <ckoenig.leichtzumerken@gmail.com>' != 'Signed-off-by: Christian König <christian.koenig@amd.com>'
total: 0 errors, 1 warnings, 0 checks, 39 lines checked
ecce7db0b390 drm/amdgpu: use dma_fence_chain_contained
-:29: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Christian König" <ckoenig.leichtzumerken@gmail.com>' != 'Signed-off-by: Christian König <christian.koenig@amd.com>'
total: 0 errors, 1 warnings, 0 checks, 12 lines checked
^ permalink raw reply [flat|nested] 17+ messages in thread* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for series starting with [1/6] dma-buf: consolidate dma_fence subclass checking
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (7 preceding siblings ...)
2022-02-04 13:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/6] dma-buf: consolidate dma_fence subclass checking Patchwork
@ 2022-02-04 13:38 ` Patchwork
2022-02-04 14:16 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2022-02-04 13:38 UTC (permalink / raw)
To: Christian König; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/6] dma-buf: consolidate dma_fence subclass checking
URL : https://patchwork.freedesktop.org/series/99700/
State : warning
== Summary ==
$ dim sparse --fast origin/drm-tip
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 17+ messages in thread* [Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/6] dma-buf: consolidate dma_fence subclass checking
2022-02-04 10:04 [Intel-gfx] Add warning for nesting dma_fence containers Christian König
` (8 preceding siblings ...)
2022-02-04 13:38 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2022-02-04 14:16 ` Patchwork
9 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2022-02-04 14:16 UTC (permalink / raw)
To: Christian König; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 11175 bytes --]
== Series Details ==
Series: series starting with [1/6] dma-buf: consolidate dma_fence subclass checking
URL : https://patchwork.freedesktop.org/series/99700/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_11189 -> Patchwork_22176
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_22176 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_22176, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/index.html
Participating hosts (47 -> 44)
------------------------------
Additional (3): fi-kbl-soraka fi-icl-u2 bat-adlp-4
Missing (6): fi-bxt-dsi fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus fi-skl-6600u
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_22176:
### IGT changes ###
#### Possible regressions ####
* igt@i915_selftest@live@workarounds:
- fi-rkl-guc: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11189/fi-rkl-guc/igt@i915_selftest@live@workarounds.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-rkl-guc/igt@i915_selftest@live@workarounds.html
- bat-dg1-6: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11189/bat-dg1-6/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-dg1-6/igt@i915_selftest@live@workarounds.html
#### Warnings ####
* igt@debugfs_test@read_all_entries:
- fi-apl-guc: [DMESG-WARN][5] ([i915#1610]) -> [DMESG-WARN][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11189/fi-apl-guc/igt@debugfs_test@read_all_entries.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-apl-guc/igt@debugfs_test@read_all_entries.html
Known issues
------------
Here are the changes found in Patchwork_22176 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@amdgpu/amd_cs_nop@fork-gfx0:
- fi-icl-u2: NOTRUN -> [SKIP][7] ([fdo#109315]) +17 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@amdgpu/amd_cs_nop@fork-gfx0.html
* igt@amdgpu/amd_cs_nop@nop-compute0:
- fi-pnv-d510: NOTRUN -> [SKIP][8] ([fdo#109271]) +17 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-pnv-d510/igt@amdgpu/amd_cs_nop@nop-compute0.html
* igt@gem_exec_fence@basic-busy@bcs0:
- fi-kbl-soraka: NOTRUN -> [SKIP][9] ([fdo#109271]) +8 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-kbl-soraka/igt@gem_exec_fence@basic-busy@bcs0.html
* igt@gem_huc_copy@huc-copy:
- fi-kbl-soraka: NOTRUN -> [SKIP][10] ([fdo#109271] / [i915#2190])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html
- fi-icl-u2: NOTRUN -> [SKIP][11] ([i915#2190])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- bat-adlp-4: NOTRUN -> [SKIP][12] ([i915#4613]) +3 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@gem_lmem_swapping@basic.html
* igt@gem_lmem_swapping@parallel-random-engines:
- fi-icl-u2: NOTRUN -> [SKIP][13] ([i915#4613]) +3 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@gem_lmem_swapping@parallel-random-engines.html
- fi-kbl-soraka: NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#4613]) +3 similar issues
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-kbl-soraka/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_tiled_pread_basic:
- bat-adlp-4: NOTRUN -> [SKIP][15] ([i915#3282])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@gem_tiled_pread_basic.html
* igt@i915_selftest@live@gt_pm:
- fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][16] ([i915#1886] / [i915#2291])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html
* igt@kms_chamelium@dp-edid-read:
- fi-kbl-soraka: NOTRUN -> [SKIP][17] ([fdo#109271] / [fdo#111827]) +8 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-kbl-soraka/igt@kms_chamelium@dp-edid-read.html
* igt@kms_chamelium@hdmi-hpd-fast:
- fi-icl-u2: NOTRUN -> [SKIP][18] ([fdo#111827]) +8 similar issues
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
* igt@kms_chamelium@vga-hpd-fast:
- bat-adlp-4: NOTRUN -> [SKIP][19] ([fdo#111827]) +8 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@kms_chamelium@vga-hpd-fast.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-icl-u2: NOTRUN -> [SKIP][20] ([fdo#109278]) +2 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
- bat-adlp-4: NOTRUN -> [SKIP][21] ([i915#4103]) +1 similar issue
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
* igt@kms_force_connector_basic@force-load-detect:
- fi-icl-u2: NOTRUN -> [SKIP][22] ([fdo#109285])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html
- bat-adlp-4: NOTRUN -> [SKIP][23] ([fdo#109285])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d:
- fi-kbl-soraka: NOTRUN -> [SKIP][24] ([fdo#109271] / [i915#533])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-kbl-soraka/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-d.html
* igt@prime_vgem@basic-fence-read:
- bat-adlp-4: NOTRUN -> [SKIP][25] ([i915#3291] / [i915#3708]) +2 similar issues
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@prime_vgem@basic-fence-read.html
* igt@prime_vgem@basic-userptr:
- bat-adlp-4: NOTRUN -> [SKIP][26] ([i915#3301] / [i915#3708])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-adlp-4/igt@prime_vgem@basic-userptr.html
- fi-icl-u2: NOTRUN -> [SKIP][27] ([i915#3301])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-icl-u2/igt@prime_vgem@basic-userptr.html
* igt@runner@aborted:
- bat-dg1-6: NOTRUN -> [FAIL][28] ([i915#4312])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/bat-dg1-6/igt@runner@aborted.html
- fi-bdw-5557u: NOTRUN -> [FAIL][29] ([i915#2426] / [i915#4312])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-bdw-5557u/igt@runner@aborted.html
#### Possible fixes ####
* igt@gem_exec_suspend@basic-s3@smem:
- fi-bdw-5557u: [INCOMPLETE][30] ([i915#146]) -> [PASS][31]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11189/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3@smem.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-bdw-5557u/igt@gem_exec_suspend@basic-s3@smem.html
* igt@i915_selftest@live@requests:
- fi-pnv-d510: [DMESG-FAIL][32] ([i915#2927] / [i915#4528]) -> [PASS][33]
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11189/fi-pnv-d510/igt@i915_selftest@live@requests.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-pnv-d510/igt@i915_selftest@live@requests.html
* igt@kms_frontbuffer_tracking@basic:
- fi-cml-u2: [DMESG-WARN][34] ([i915#4269]) -> [PASS][35]
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11189/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/fi-cml-u2/igt@kms_frontbuffer_tracking@basic.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#146]: https://gitlab.freedesktop.org/drm/intel/issues/146
[i915#1610]: https://gitlab.freedesktop.org/drm/intel/issues/1610
[i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2291]: https://gitlab.freedesktop.org/drm/intel/issues/2291
[i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
[i915#2927]: https://gitlab.freedesktop.org/drm/intel/issues/2927
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4269]: https://gitlab.freedesktop.org/drm/intel/issues/4269
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4898]: https://gitlab.freedesktop.org/drm/intel/issues/4898
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
Build changes
-------------
* Linux: CI_DRM_11189 -> Patchwork_22176
CI-20190529: 20190529
CI_DRM_11189: c0fc917bc92837300b1991d53b835c6876f465a2 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6339: 9cd99d763440ae75d9981ce4e361d3deb5edb4e4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_22176: ecce7db0b3906d3ba38d90ca266840696be5da47 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
ecce7db0b390 drm/amdgpu: use dma_fence_chain_contained
0dc0287ffbd9 dma-buf: add dma_fence_chain_contained helper
df4941cd23d4 dma-buf: warn about containers in dma_resv object
3bb498287ec8 dma-buf: Warn about dma_fence_chain container rules v2
942f0dd6ef1f dma-buf: warn about dma_fence_array container rules v2
45d3d4ee83aa dma-buf: consolidate dma_fence subclass checking
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22176/index.html
[-- Attachment #2: Type: text/html, Size: 13397 bytes --]
^ permalink raw reply [flat|nested] 17+ messages in thread