* [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
@ 2025-10-21 21:39 ` Matthew Brost
2025-10-21 21:56 ` Tejun Heo
2025-10-28 9:32 ` Christian König
2025-10-21 21:39 ` [RFC PATCH 2/3] drm/sched: Taint workqueues " Matthew Brost
` (6 subsequent siblings)
7 siblings, 2 replies; 29+ messages in thread
From: Matthew Brost @ 2025-10-21 21:39 UTC (permalink / raw)
To: intel-xe, dri-devel, linux-kernel
Cc: jiangshanlai, tj, simona.vetter, christian.koenig, pstanner, dakr
Drivers often use workqueues that are in the reclaim path (e.g., DRM
scheduler workqueues). It is useful to teach lockdep that memory cannot
be allocated on these workqueues. Add an interface to taint workqueue
lockdep with reclaim.
Cc: Tejun Heo <tj@kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
include/linux/workqueue.h | 19 +++++++++++++++++++
kernel/workqueue.c | 9 +++++++++
2 files changed, 28 insertions(+)
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
index dabc351cc127..954c7eb7e225 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
@@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
1, lockdep_map, ##args))
#endif
+
+#ifdef CONFIG_LOCKDEP
+/**
+ * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
+ * @wq: workqueue to taint with reclaim
+ * gfp: gfp taint
+ *
+ * Drivers often use workqueues that are in the reclaim path (e.g., DRM
+ * scheduler workqueues). It is useful to teach lockdep that memory cannot be
+ * allocated on these workqueues.
+ */
+extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
+#else
+static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
+ gfp_t gfp)
+{
+}
+#endif
+
/**
* alloc_ordered_workqueue - allocate an ordered workqueue
* @fmt: printf format for the name of the workqueue
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 45320e27a16c..fea410c20b71 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5846,6 +5846,15 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags,
return wq;
}
EXPORT_SYMBOL_GPL(alloc_workqueue_lockdep_map);
+
+void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp)
+{
+ fs_reclaim_acquire(gfp);
+ lock_map_acquire(wq->lockdep_map);
+ lock_map_release(wq->lockdep_map);
+ fs_reclaim_release(gfp);
+}
+EXPORT_SYMBOL_GPL(taint_reclaim_workqueue);
#endif
static bool pwq_busy(struct pool_workqueue *pwq)
--
2.34.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 21:39 ` [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim Matthew Brost
@ 2025-10-21 21:56 ` Tejun Heo
2025-10-21 22:04 ` Matthew Brost
2025-10-28 9:32 ` Christian König
1 sibling, 1 reply; 29+ messages in thread
From: Tejun Heo @ 2025-10-21 21:56 UTC (permalink / raw)
To: Matthew Brost
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
Hello,
On Tue, Oct 21, 2025 at 02:39:50PM -0700, Matthew Brost wrote:
> Drivers often use workqueues that are in the reclaim path (e.g., DRM
> scheduler workqueues). It is useful to teach lockdep that memory cannot
> be allocated on these workqueues. Add an interface to taint workqueue
> lockdep with reclaim.
Given that it's about reclaim, "memory cannot be allocated" may be a bit
misleading. Can you make the description more accurate? Also, it'd be great
if you can include an example lockdep splat for reference.
> Cc: Tejun Heo <tj@kernel.org>
> Cc: Lai Jiangshan <jiangshanlai@gmail.com>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
> include/linux/workqueue.h | 19 +++++++++++++++++++
> kernel/workqueue.c | 9 +++++++++
> 2 files changed, 28 insertions(+)
>
> diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
> index dabc351cc127..954c7eb7e225 100644
> --- a/include/linux/workqueue.h
> +++ b/include/linux/workqueue.h
> @@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
> 1, lockdep_map, ##args))
> #endif
>
> +
> +#ifdef CONFIG_LOCKDEP
> +/**
> + * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
> + * @wq: workqueue to taint with reclaim
> + * gfp: gfp taint
^@
> + *
> + * Drivers often use workqueues that are in the reclaim path (e.g., DRM
> + * scheduler workqueues). It is useful to teach lockdep that memory cannot be
> + * allocated on these workqueues.
> + */
> +extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
> +#else
> +static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
> + gfp_t gfp)
Would a more direct name work better, maybe something like
workqueue_warn_on_reclaim()?
Hmm... would it make sense to tie this to WQ_MEM_RECLAIM - ie. enable it
implicitly on workqueues w/ the flag set?
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 21:56 ` Tejun Heo
@ 2025-10-21 22:04 ` Matthew Brost
2025-10-21 22:06 ` Matthew Brost
2025-10-21 23:28 ` Tejun Heo
0 siblings, 2 replies; 29+ messages in thread
From: Matthew Brost @ 2025-10-21 22:04 UTC (permalink / raw)
To: Tejun Heo
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
On Tue, Oct 21, 2025 at 11:56:30AM -1000, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 21, 2025 at 02:39:50PM -0700, Matthew Brost wrote:
> > Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > scheduler workqueues). It is useful to teach lockdep that memory cannot
> > be allocated on these workqueues. Add an interface to taint workqueue
> > lockdep with reclaim.
>
> Given that it's about reclaim, "memory cannot be allocated" may be a bit
> misleading. Can you make the description more accurate? Also, it'd be great
> if you can include an example lockdep splat for reference.
>
> > Cc: Tejun Heo <tj@kernel.org>
> > Cc: Lai Jiangshan <jiangshanlai@gmail.com>
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> > include/linux/workqueue.h | 19 +++++++++++++++++++
> > kernel/workqueue.c | 9 +++++++++
> > 2 files changed, 28 insertions(+)
> >
> > diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
> > index dabc351cc127..954c7eb7e225 100644
> > --- a/include/linux/workqueue.h
> > +++ b/include/linux/workqueue.h
> > @@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
> > 1, lockdep_map, ##args))
> > #endif
> >
> > +
> > +#ifdef CONFIG_LOCKDEP
> > +/**
> > + * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
> > + * @wq: workqueue to taint with reclaim
> > + * gfp: gfp taint
> ^@
>
> > + *
> > + * Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > + * scheduler workqueues). It is useful to teach lockdep that memory cannot be
> > + * allocated on these workqueues.
> > + */
> > +extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
> > +#else
> > +static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
> > + gfp_t gfp)
>
> Would a more direct name work better, maybe something like
> workqueue_warn_on_reclaim()?
>
Can rename, but perhaps not needed depending on what we land on below.
> Hmm... would it make sense to tie this to WQ_MEM_RECLAIM - ie. enable it
> implicitly on workqueues w/ the flag set?
>
I had considered this, and for a while I thought WQ_MEM_RECLAIM already
did what I'm suggesting—especially since I’ve spotted bugs in drivers
where I would have expected lockdep to catch them.
In my opinion, this approach is better, but it has a broader kernel-wide
scope and could potentially break some things. My subsequent patches
will likely break one or two DRM drivers, so it might not be a concern
to fix everything that breaks across the kernel. It's up to you which
route we want to take here.
Matt
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 22:04 ` Matthew Brost
@ 2025-10-21 22:06 ` Matthew Brost
2025-10-21 23:25 ` Tejun Heo
2025-10-21 23:28 ` Tejun Heo
1 sibling, 1 reply; 29+ messages in thread
From: Matthew Brost @ 2025-10-21 22:06 UTC (permalink / raw)
To: Tejun Heo
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
On Tue, Oct 21, 2025 at 03:04:14PM -0700, Matthew Brost wrote:
> On Tue, Oct 21, 2025 at 11:56:30AM -1000, Tejun Heo wrote:
> > Hello,
Missed a comment.
> >
> > On Tue, Oct 21, 2025 at 02:39:50PM -0700, Matthew Brost wrote:
> > > Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > > scheduler workqueues). It is useful to teach lockdep that memory cannot
> > > be allocated on these workqueues. Add an interface to taint workqueue
> > > lockdep with reclaim.
> >
> > Given that it's about reclaim, "memory cannot be allocated" may be a bit
> > misleading. Can you make the description more accurate? Also, it'd be great
Can fix the comment. The rule is memory cannot be allocated in the
context of reclaim (e.g., GFP_KERNEL).
> > if you can include an example lockdep splat for reference.
My driver (Xe) doesn't break anything but can hack to trigger a lockdep
warning and include it.
Matt
> >
> > > Cc: Tejun Heo <tj@kernel.org>
> > > Cc: Lai Jiangshan <jiangshanlai@gmail.com>
> > > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > > ---
> > > include/linux/workqueue.h | 19 +++++++++++++++++++
> > > kernel/workqueue.c | 9 +++++++++
> > > 2 files changed, 28 insertions(+)
> > >
> > > diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
> > > index dabc351cc127..954c7eb7e225 100644
> > > --- a/include/linux/workqueue.h
> > > +++ b/include/linux/workqueue.h
> > > @@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
> > > 1, lockdep_map, ##args))
> > > #endif
> > >
> > > +
> > > +#ifdef CONFIG_LOCKDEP
> > > +/**
> > > + * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
> > > + * @wq: workqueue to taint with reclaim
> > > + * gfp: gfp taint
> > ^@
> >
> > > + *
> > > + * Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > > + * scheduler workqueues). It is useful to teach lockdep that memory cannot be
> > > + * allocated on these workqueues.
> > > + */
> > > +extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
> > > +#else
> > > +static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
> > > + gfp_t gfp)
> >
> > Would a more direct name work better, maybe something like
> > workqueue_warn_on_reclaim()?
> >
>
> Can rename, but perhaps not needed depending on what we land on below.
>
> > Hmm... would it make sense to tie this to WQ_MEM_RECLAIM - ie. enable it
> > implicitly on workqueues w/ the flag set?
> >
>
> I had considered this, and for a while I thought WQ_MEM_RECLAIM already
> did what I'm suggesting—especially since I’ve spotted bugs in drivers
> where I would have expected lockdep to catch them.
>
> In my opinion, this approach is better, but it has a broader kernel-wide
> scope and could potentially break some things. My subsequent patches
> will likely break one or two DRM drivers, so it might not be a concern
> to fix everything that breaks across the kernel. It's up to you which
> route we want to take here.
>
> Matt
>
> > Thanks.
> >
> > --
> > tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 22:06 ` Matthew Brost
@ 2025-10-21 23:25 ` Tejun Heo
2025-10-22 1:16 ` Matthew Brost
0 siblings, 1 reply; 29+ messages in thread
From: Tejun Heo @ 2025-10-21 23:25 UTC (permalink / raw)
To: Matthew Brost
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
Hello,
On Tue, Oct 21, 2025 at 03:06:55PM -0700, Matthew Brost wrote:
> > > Given that it's about reclaim, "memory cannot be allocated" may be a bit
> > > misleading. Can you make the description more accurate? Also, it'd be great
>
> Can fix the comment. The rule is memory cannot be allocated in the
> context of reclaim (e.g., GFP_KERNEL).
Oh, I meant that e.g. GPF_ATOMIC or GFP_NOFS reclaims should be fine. It's
just that we can't recurse into reclaim from WQ_RECLAIM workqueue, right?
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 23:25 ` Tejun Heo
@ 2025-10-22 1:16 ` Matthew Brost
0 siblings, 0 replies; 29+ messages in thread
From: Matthew Brost @ 2025-10-22 1:16 UTC (permalink / raw)
To: Tejun Heo
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
On Tue, Oct 21, 2025 at 01:25:52PM -1000, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 21, 2025 at 03:06:55PM -0700, Matthew Brost wrote:
> > > > Given that it's about reclaim, "memory cannot be allocated" may be a bit
> > > > misleading. Can you make the description more accurate? Also, it'd be great
> >
> > Can fix the comment. The rule is memory cannot be allocated in the
> > context of reclaim (e.g., GFP_KERNEL).
>
> Oh, I meant that e.g. GPF_ATOMIC or GFP_NOFS reclaims should be fine. It's
> just that we can't recurse into reclaim from WQ_RECLAIM workqueue, right?
>
Yes, exactly. Will adjust.
Matt
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 22:04 ` Matthew Brost
2025-10-21 22:06 ` Matthew Brost
@ 2025-10-21 23:28 ` Tejun Heo
2025-10-22 1:22 ` Matthew Brost
1 sibling, 1 reply; 29+ messages in thread
From: Tejun Heo @ 2025-10-21 23:28 UTC (permalink / raw)
To: Matthew Brost
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
Hello,
On Tue, Oct 21, 2025 at 03:04:14PM -0700, Matthew Brost wrote:
> > Hmm... would it make sense to tie this to WQ_MEM_RECLAIM - ie. enable it
> > implicitly on workqueues w/ the flag set?
>
> I had considered this, and for a while I thought WQ_MEM_RECLAIM already
> did what I'm suggesting—especially since I’ve spotted bugs in drivers
> where I would have expected lockdep to catch them.
>
> In my opinion, this approach is better, but it has a broader kernel-wide
> scope and could potentially break some things. My subsequent patches
> will likely break one or two DRM drivers, so it might not be a concern
> to fix everything that breaks across the kernel. It's up to you which
> route we want to take here.
Yeah, it is bothersome that WQ_MEM_RECLAIM doesn't currently have a way to
ensure compliance. I just didn't know about the lockdep mechanism. Can you
please update the patch so that WQ_MEM_RECLAIM implicitly enables the
checking?
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 23:28 ` Tejun Heo
@ 2025-10-22 1:22 ` Matthew Brost
2025-10-22 1:51 ` Tejun Heo
0 siblings, 1 reply; 29+ messages in thread
From: Matthew Brost @ 2025-10-22 1:22 UTC (permalink / raw)
To: Tejun Heo
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
On Tue, Oct 21, 2025 at 01:28:31PM -1000, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 21, 2025 at 03:04:14PM -0700, Matthew Brost wrote:
> > > Hmm... would it make sense to tie this to WQ_MEM_RECLAIM - ie. enable it
> > > implicitly on workqueues w/ the flag set?
> >
> > I had considered this, and for a while I thought WQ_MEM_RECLAIM already
> > did what I'm suggesting—especially since I’ve spotted bugs in drivers
> > where I would have expected lockdep to catch them.
> >
> > In my opinion, this approach is better, but it has a broader kernel-wide
> > scope and could potentially break some things. My subsequent patches
> > will likely break one or two DRM drivers, so it might not be a concern
> > to fix everything that breaks across the kernel. It's up to you which
> > route we want to take here.
>
> Yeah, it is bothersome that WQ_MEM_RECLAIM doesn't currently have a way to
> ensure compliance. I just didn't know about the lockdep mechanism. Can you
I agree this is the best route to ensure compliance.
> please update the patch so that WQ_MEM_RECLAIM implicitly enables the
> checking?
>
Sure, but a bunch of things immediately break—including a convoluted
case in my driver. I can fix the kernel to the extent that my CI catches
issues, and fix any obvious cases through manual inspection. However,
I suspect that if we merge this, we'll be dealing with fallout
throughout a kernel RC cycle.
Matt
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-22 1:22 ` Matthew Brost
@ 2025-10-22 1:51 ` Tejun Heo
2025-10-27 21:58 ` Matthew Brost
0 siblings, 1 reply; 29+ messages in thread
From: Tejun Heo @ 2025-10-22 1:51 UTC (permalink / raw)
To: Matthew Brost
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
On Tue, Oct 21, 2025 at 06:22:19PM -0700, Matthew Brost wrote:
> > please update the patch so that WQ_MEM_RECLAIM implicitly enables the
> > checking?
>
> Sure, but a bunch of things immediately break—including a convoluted
> case in my driver. I can fix the kernel to the extent that my CI catches
> issues, and fix any obvious cases through manual inspection. However,
> I suspect that if we merge this, we'll be dealing with fallout
> throughout a kernel RC cycle.
Sure, we're still early in this cycle and can try to resolve as much as
possible and if there's just too much, we can make it optional and so on.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-22 1:51 ` Tejun Heo
@ 2025-10-27 21:58 ` Matthew Brost
0 siblings, 0 replies; 29+ messages in thread
From: Matthew Brost @ 2025-10-27 21:58 UTC (permalink / raw)
To: Tejun Heo
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, simona.vetter,
christian.koenig, pstanner, dakr
On Tue, Oct 21, 2025 at 03:51:08PM -1000, Tejun Heo wrote:
> On Tue, Oct 21, 2025 at 06:22:19PM -0700, Matthew Brost wrote:
> > > please update the patch so that WQ_MEM_RECLAIM implicitly enables the
> > > checking?
> >
> > Sure, but a bunch of things immediately break—including a convoluted
> > case in my driver. I can fix the kernel to the extent that my CI catches
> > issues, and fix any obvious cases through manual inspection. However,
> > I suspect that if we merge this, we'll be dealing with fallout
> > throughout a kernel RC cycle.
>
> Sure, we're still early in this cycle and can try to resolve as much as
> possible and if there's just too much, we can make it optional and so on.
>
I’ve come to the conclusion that the entire kernel is going to explode
if all WQ_MEM_RECLAIM workqueues are annotated with lockdep. I made this
change and tried booting Linux, but quickly ran into five issues before
giving up. It seems that many parts of the kernel allocate memory with
GFP_KERNEL or take locks that allocate memory in workqueues marked with
WQ_MEM_RECLAIM.
There are literally hundreds of workqueues created with WQ_MEM_RECLAIM,
both directly [1] and via the create*workqueue helpers, which also set
this flag.
So, what’s your advice here? Personally, I don’t have the bandwidth to
drive fixing the entire kernel. Maybe we could add the annotation
helpers introduced in this series, so drivers that really want to
enforce this rule—like the DRM driver—can opt in? And perhaps we could
add a export Kconfig option that enables this for all WQ_MEM_RECLAIM
workqueues, and let the community gradually enable it and start fixing
their code?
Matt
[1] https://elixir.bootlin.com/linux/v6.17.5/C/ident/WQ_MEM_RECLAIM
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-21 21:39 ` [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim Matthew Brost
2025-10-21 21:56 ` Tejun Heo
@ 2025-10-28 9:32 ` Christian König
2025-10-28 20:16 ` Matthew Brost
1 sibling, 1 reply; 29+ messages in thread
From: Christian König @ 2025-10-28 9:32 UTC (permalink / raw)
To: Matthew Brost, intel-xe, dri-devel, linux-kernel
Cc: jiangshanlai, tj, simona.vetter, pstanner, dakr
On 10/21/25 23:39, Matthew Brost wrote:
> Drivers often use workqueues that are in the reclaim path (e.g., DRM
> scheduler workqueues). It is useful to teach lockdep that memory cannot
> be allocated on these workqueues. Add an interface to taint workqueue
> lockdep with reclaim.
Oh that is so wonderfully evil. I'm absolutely in favor of doing this.
But can't we check for the existing WQ_MEM_RECLAIM flag in the workqueue handling instead?
Additional to that we should also make sure that the same wq is used for timeout and free and that this wq is single threaded *and* has the WQ_MEM_RECLAIM flag set.
Otherwise we run into the same lifetime issue with the job and memory reclaim during device reset as well.
Regards,
Christian.
>
> Cc: Tejun Heo <tj@kernel.org>
> Cc: Lai Jiangshan <jiangshanlai@gmail.com>
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
> include/linux/workqueue.h | 19 +++++++++++++++++++
> kernel/workqueue.c | 9 +++++++++
> 2 files changed, 28 insertions(+)
>
> diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
> index dabc351cc127..954c7eb7e225 100644
> --- a/include/linux/workqueue.h
> +++ b/include/linux/workqueue.h
> @@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
> 1, lockdep_map, ##args))
> #endif
>
> +
> +#ifdef CONFIG_LOCKDEP
> +/**
> + * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
> + * @wq: workqueue to taint with reclaim
> + * gfp: gfp taint
> + *
> + * Drivers often use workqueues that are in the reclaim path (e.g., DRM
> + * scheduler workqueues). It is useful to teach lockdep that memory cannot be
> + * allocated on these workqueues.
> + */
> +extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
> +#else
> +static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
> + gfp_t gfp)
> +{
> +}
> +#endif
> +
> /**
> * alloc_ordered_workqueue - allocate an ordered workqueue
> * @fmt: printf format for the name of the workqueue
> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> index 45320e27a16c..fea410c20b71 100644
> --- a/kernel/workqueue.c
> +++ b/kernel/workqueue.c
> @@ -5846,6 +5846,15 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags,
> return wq;
> }
> EXPORT_SYMBOL_GPL(alloc_workqueue_lockdep_map);
> +
> +void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp)
> +{
> + fs_reclaim_acquire(gfp);
> + lock_map_acquire(wq->lockdep_map);
> + lock_map_release(wq->lockdep_map);
> + fs_reclaim_release(gfp);
> +}
> +EXPORT_SYMBOL_GPL(taint_reclaim_workqueue);
> #endif
>
> static bool pwq_busy(struct pool_workqueue *pwq)
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-28 9:32 ` Christian König
@ 2025-10-28 20:16 ` Matthew Brost
2025-10-29 9:48 ` Christian König
2025-10-29 15:06 ` Tejun Heo
0 siblings, 2 replies; 29+ messages in thread
From: Matthew Brost @ 2025-10-28 20:16 UTC (permalink / raw)
To: Christian König
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, tj,
simona.vetter, pstanner, dakr
On Tue, Oct 28, 2025 at 10:32:54AM +0100, Christian König wrote:
> On 10/21/25 23:39, Matthew Brost wrote:
> > Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > scheduler workqueues). It is useful to teach lockdep that memory cannot
> > be allocated on these workqueues. Add an interface to taint workqueue
> > lockdep with reclaim.
>
> Oh that is so wonderfully evil. I'm absolutely in favor of doing this.
>
> But can't we check for the existing WQ_MEM_RECLAIM flag in the workqueue handling instead?
>
Tejun suggested tying the lockdep annotation to WQ_MEM_RECLAIM, but the
entire kernel explodes because many workqueues throughout Linux don’t
adhere to this rule. Here's a link to my latest reply to Tejun [1].
[1] https://patchwork.freedesktop.org/patch/682494/?series=156284&rev=1#comment_1255380
> Additional to that we should also make sure that the same wq is used for timeout and free and that this wq is single threaded *and* has the WQ_MEM_RECLAIM flag set.
>
Currently, free runs on the same work queue as run_job. We could look
into moving it to a separate queue, but that’s a separate issue.
IIRC the workqueue_struct is private and so we can't fish that out in
the DRM scheduler without adding helpers to workqueue layer. Ofc we
could do that too if you think this would be helpful.
> Otherwise we run into the same lifetime issue with the job and memory reclaim during device reset as well.
>
My patches in this series taint the submit_wq and timeout_wq in the DRM
scheduler [2]. I have a solid understanding of reclaim rules, and this
change helped uncover some convoluted cases in Xe—specifically in our
device reset code involving power management and reclaim [3]. So I can
confirm this has been quite helpful.
Matt
[2] https://patchwork.freedesktop.org/patch/682496/?series=156284&rev=1
[3] https://patchwork.freedesktop.org/series/156292/
> Regards,
> Christian.
>
> >
> > Cc: Tejun Heo <tj@kernel.org>
> > Cc: Lai Jiangshan <jiangshanlai@gmail.com>
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> > include/linux/workqueue.h | 19 +++++++++++++++++++
> > kernel/workqueue.c | 9 +++++++++
> > 2 files changed, 28 insertions(+)
> >
> > diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
> > index dabc351cc127..954c7eb7e225 100644
> > --- a/include/linux/workqueue.h
> > +++ b/include/linux/workqueue.h
> > @@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
> > 1, lockdep_map, ##args))
> > #endif
> >
> > +
> > +#ifdef CONFIG_LOCKDEP
> > +/**
> > + * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
> > + * @wq: workqueue to taint with reclaim
> > + * gfp: gfp taint
> > + *
> > + * Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > + * scheduler workqueues). It is useful to teach lockdep that memory cannot be
> > + * allocated on these workqueues.
> > + */
> > +extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
> > +#else
> > +static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
> > + gfp_t gfp)
> > +{
> > +}
> > +#endif
> > +
> > /**
> > * alloc_ordered_workqueue - allocate an ordered workqueue
> > * @fmt: printf format for the name of the workqueue
> > diff --git a/kernel/workqueue.c b/kernel/workqueue.c
> > index 45320e27a16c..fea410c20b71 100644
> > --- a/kernel/workqueue.c
> > +++ b/kernel/workqueue.c
> > @@ -5846,6 +5846,15 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags,
> > return wq;
> > }
> > EXPORT_SYMBOL_GPL(alloc_workqueue_lockdep_map);
> > +
> > +void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp)
> > +{
> > + fs_reclaim_acquire(gfp);
> > + lock_map_acquire(wq->lockdep_map);
> > + lock_map_release(wq->lockdep_map);
> > + fs_reclaim_release(gfp);
> > +}
> > +EXPORT_SYMBOL_GPL(taint_reclaim_workqueue);
> > #endif
> >
> > static bool pwq_busy(struct pool_workqueue *pwq)
>
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-28 20:16 ` Matthew Brost
@ 2025-10-29 9:48 ` Christian König
2025-10-29 15:06 ` Tejun Heo
1 sibling, 0 replies; 29+ messages in thread
From: Christian König @ 2025-10-29 9:48 UTC (permalink / raw)
To: Matthew Brost
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, tj,
simona.vetter, pstanner, dakr
On 10/28/25 21:16, Matthew Brost wrote:
> On Tue, Oct 28, 2025 at 10:32:54AM +0100, Christian König wrote:
>> On 10/21/25 23:39, Matthew Brost wrote:
>>> Drivers often use workqueues that are in the reclaim path (e.g., DRM
>>> scheduler workqueues). It is useful to teach lockdep that memory cannot
>>> be allocated on these workqueues. Add an interface to taint workqueue
>>> lockdep with reclaim.
>>
>> Oh that is so wonderfully evil. I'm absolutely in favor of doing this.
>>
>> But can't we check for the existing WQ_MEM_RECLAIM flag in the workqueue handling instead?
>>
>
> Tejun suggested tying the lockdep annotation to WQ_MEM_RECLAIM, but the
> entire kernel explodes because many workqueues throughout Linux don’t
> adhere to this rule. Here's a link to my latest reply to Tejun [1].
>
> [1] https://patchwork.freedesktop.org/patch/682494/?series=156284&rev=1#comment_1255380
Sorry my fault, I hadn't read up to the latest discussion when I wrote the mail.
My educated guess is that a lot of wq just set WQ_MEM_RECLAIM to be guaranteed to to start even under memory pressure.
So yeah probably best to keep your approach here for now and somebody from core MM should take a look at cleaning it up later on.
>> Additional to that we should also make sure that the same wq is used for timeout and free and that this wq is single threaded *and* has the WQ_MEM_RECLAIM flag set.
>>
>
> Currently, free runs on the same work queue as run_job. We could look
> into moving it to a separate queue, but that’s a separate issue.
We really need to make sure the free and timeout wq are the same and single threaded.
The hack the scheduler currently does with removing and re-inserting the job on a timeout is something we should really try to fix.
> IIRC the workqueue_struct is private and so we can't fish that out in
> the DRM scheduler without adding helpers to workqueue layer. Ofc we
> could do that too if you think this would be helpful.
I might be wrong, but IIRC there was a helper to get the flags from the wq.
That should be enough to test if it is single threaded or not.
>
>> Otherwise we run into the same lifetime issue with the job and memory reclaim during device reset as well.
>>
>
> My patches in this series taint the submit_wq and timeout_wq in the DRM
> scheduler [2]. I have a solid understanding of reclaim rules, and this
> change helped uncover some convoluted cases in Xe—specifically in our
> device reset code involving power management and reclaim [3]. So I can
> confirm this has been quite helpful.
Yeah, completely agree. We most likely have quite a bunch of issues in our reset code path as well.
Regards,
Christian.
>
> Matt
>
> [2] https://patchwork.freedesktop.org/patch/682496/?series=156284&rev=1
> [3] https://patchwork.freedesktop.org/series/156292/
>
>> Regards,
>> Christian.
>>
>>>
>>> Cc: Tejun Heo <tj@kernel.org>
>>> Cc: Lai Jiangshan <jiangshanlai@gmail.com>
>>> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
>>> ---
>>> include/linux/workqueue.h | 19 +++++++++++++++++++
>>> kernel/workqueue.c | 9 +++++++++
>>> 2 files changed, 28 insertions(+)
>>>
>>> diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
>>> index dabc351cc127..954c7eb7e225 100644
>>> --- a/include/linux/workqueue.h
>>> +++ b/include/linux/workqueue.h
>>> @@ -553,6 +553,25 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags, int max_active,
>>> 1, lockdep_map, ##args))
>>> #endif
>>>
>>> +
>>> +#ifdef CONFIG_LOCKDEP
>>> +/**
>>> + * taint_reclaim_workqueue - taint workqueue lockdep map with reclaim
>>> + * @wq: workqueue to taint with reclaim
>>> + * gfp: gfp taint
>>> + *
>>> + * Drivers often use workqueues that are in the reclaim path (e.g., DRM
>>> + * scheduler workqueues). It is useful to teach lockdep that memory cannot be
>>> + * allocated on these workqueues.
>>> + */
>>> +extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
>>> +#else
>>> +static inline void taint_reclaim_workqueue(struct workqueue_struct *wq,
>>> + gfp_t gfp)
>>> +{
>>> +}
>>> +#endif
>>> +
>>> /**
>>> * alloc_ordered_workqueue - allocate an ordered workqueue
>>> * @fmt: printf format for the name of the workqueue
>>> diff --git a/kernel/workqueue.c b/kernel/workqueue.c
>>> index 45320e27a16c..fea410c20b71 100644
>>> --- a/kernel/workqueue.c
>>> +++ b/kernel/workqueue.c
>>> @@ -5846,6 +5846,15 @@ alloc_workqueue_lockdep_map(const char *fmt, unsigned int flags,
>>> return wq;
>>> }
>>> EXPORT_SYMBOL_GPL(alloc_workqueue_lockdep_map);
>>> +
>>> +void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp)
>>> +{
>>> + fs_reclaim_acquire(gfp);
>>> + lock_map_acquire(wq->lockdep_map);
>>> + lock_map_release(wq->lockdep_map);
>>> + fs_reclaim_release(gfp);
>>> +}
>>> +EXPORT_SYMBOL_GPL(taint_reclaim_workqueue);
>>> #endif
>>>
>>> static bool pwq_busy(struct pool_workqueue *pwq)
>>
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-28 20:16 ` Matthew Brost
2025-10-29 9:48 ` Christian König
@ 2025-10-29 15:06 ` Tejun Heo
2025-10-29 16:46 ` Matthew Brost
1 sibling, 1 reply; 29+ messages in thread
From: Tejun Heo @ 2025-10-29 15:06 UTC (permalink / raw)
To: Matthew Brost
Cc: Christian König, intel-xe, dri-devel, linux-kernel,
jiangshanlai, simona.vetter, pstanner, dakr
Hello,
On Tue, Oct 28, 2025 at 01:16:43PM -0700, Matthew Brost wrote:
> On Tue, Oct 28, 2025 at 10:32:54AM +0100, Christian König wrote:
> > On 10/21/25 23:39, Matthew Brost wrote:
> > > Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > > scheduler workqueues). It is useful to teach lockdep that memory cannot
> > > be allocated on these workqueues. Add an interface to taint workqueue
> > > lockdep with reclaim.
> >
> > Oh that is so wonderfully evil. I'm absolutely in favor of doing this.
> >
> > But can't we check for the existing WQ_MEM_RECLAIM flag in the workqueue handling instead?
> >
>
> Tejun suggested tying the lockdep annotation to WQ_MEM_RECLAIM, but the
> entire kernel explodes because many workqueues throughout Linux don’t
> adhere to this rule. Here's a link to my latest reply to Tejun [1].
How about making it a WQ flag?
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-29 15:06 ` Tejun Heo
@ 2025-10-29 16:46 ` Matthew Brost
2025-10-29 18:16 ` Tejun Heo
0 siblings, 1 reply; 29+ messages in thread
From: Matthew Brost @ 2025-10-29 16:46 UTC (permalink / raw)
To: Tejun Heo
Cc: Christian König, intel-xe, dri-devel, linux-kernel,
jiangshanlai, simona.vetter, pstanner, dakr
On Wed, Oct 29, 2025 at 05:06:46AM -1000, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 28, 2025 at 01:16:43PM -0700, Matthew Brost wrote:
> > On Tue, Oct 28, 2025 at 10:32:54AM +0100, Christian König wrote:
> > > On 10/21/25 23:39, Matthew Brost wrote:
> > > > Drivers often use workqueues that are in the reclaim path (e.g., DRM
> > > > scheduler workqueues). It is useful to teach lockdep that memory cannot
> > > > be allocated on these workqueues. Add an interface to taint workqueue
> > > > lockdep with reclaim.
> > >
> > > Oh that is so wonderfully evil. I'm absolutely in favor of doing this.
> > >
> > > But can't we check for the existing WQ_MEM_RECLAIM flag in the workqueue handling instead?
> > >
> >
> > Tejun suggested tying the lockdep annotation to WQ_MEM_RECLAIM, but the
> > entire kernel explodes because many workqueues throughout Linux don’t
> > adhere to this rule. Here's a link to my latest reply to Tejun [1].
>
> How about making it a WQ flag?
>
That could work too. We want to enforce rules of drivers actually set
these flags setting passing workqueues to the DRM scheduler. Any
objection to adding helpers to the workqueue layer to fish the
information we'd like to enforce?
Matt
> Thanks.
>
> --
> tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim
2025-10-29 16:46 ` Matthew Brost
@ 2025-10-29 18:16 ` Tejun Heo
0 siblings, 0 replies; 29+ messages in thread
From: Tejun Heo @ 2025-10-29 18:16 UTC (permalink / raw)
To: Matthew Brost
Cc: Christian König, intel-xe, dri-devel, linux-kernel,
jiangshanlai, simona.vetter, pstanner, dakr
On Wed, Oct 29, 2025 at 09:46:15AM -0700, Matthew Brost wrote:
> On Wed, Oct 29, 2025 at 05:06:46AM -1000, Tejun Heo wrote:
> > How about making it a WQ flag?
>
> That could work too. We want to enforce rules of drivers actually set
> these flags setting passing workqueues to the DRM scheduler. Any
> objection to adding helpers to the workqueue layer to fish the
> information we'd like to enforce?
Difficult to tell definitively without looking at the helpers but no
objections to the general idea.
Thanks.
--
tejun
^ permalink raw reply [flat|nested] 29+ messages in thread
* [RFC PATCH 2/3] drm/sched: Taint workqueues with reclaim
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
2025-10-21 21:39 ` [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim Matthew Brost
@ 2025-10-21 21:39 ` Matthew Brost
2025-10-27 11:03 ` Philipp Stanner
2025-10-21 21:39 ` [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job Matthew Brost
` (5 subsequent siblings)
7 siblings, 1 reply; 29+ messages in thread
From: Matthew Brost @ 2025-10-21 21:39 UTC (permalink / raw)
To: intel-xe, dri-devel, linux-kernel
Cc: jiangshanlai, tj, simona.vetter, christian.koenig, pstanner, dakr
Multiple drivers seemingly do not understand the role of DMA fences in
the reclaim path. As a result, DRM scheduler workqueues, which are part
of the fence signaling path, must not allocate memory. This patch
teaches lockdep to recognize these rules in order to catch driver-side
bugs.
Cc: Christian König <christian.koenig@amd.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Philipp Stanner <phasta@kernel.org>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/scheduler/sched_main.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
index c39f0245e3a9..676484dd3ea3 100644
--- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/drivers/gpu/drm/scheduler/sched_main.c
@@ -1368,6 +1368,9 @@ int drm_sched_init(struct drm_gpu_scheduler *sched, const struct drm_sched_init_
atomic64_set(&sched->job_id_count, 0);
sched->pause_submit = false;
+ taint_reclaim_workqueue(sched->submit_wq, GFP_KERNEL);
+ taint_reclaim_workqueue(sched->timeout_wq, GFP_KERNEL);
+
sched->ready = true;
return 0;
Out_unroll:
--
2.34.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [RFC PATCH 2/3] drm/sched: Taint workqueues with reclaim
2025-10-21 21:39 ` [RFC PATCH 2/3] drm/sched: Taint workqueues " Matthew Brost
@ 2025-10-27 11:03 ` Philipp Stanner
2025-10-27 17:00 ` Matthew Brost
0 siblings, 1 reply; 29+ messages in thread
From: Philipp Stanner @ 2025-10-27 11:03 UTC (permalink / raw)
To: Matthew Brost, intel-xe, dri-devel, linux-kernel
Cc: jiangshanlai, tj, simona.vetter, christian.koenig, dakr
On Tue, 2025-10-21 at 14:39 -0700, Matthew Brost wrote:
> Multiple drivers seemingly do not understand the role of DMA fences in
> the reclaim path. As a result,
>
result of what? The "role of DMA fences"?
> DRM scheduler workqueues, which are part
> of the fence signaling path, must not allocate memory.
>
Should be phrased differently. The actual rule here is "The GPU
scheduler's workqueues can be used for memory reclaim. Because of that,
work items on these queues must not allocate memory."
--
In general, I often read in commits or discussions about this or that
"rule", especially "DMA fence rules", but they're often not detailed
very much.
P.
> This patch
> teaches lockdep to recognize these rules in order to catch driver-side
> bugs.
>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Danilo Krummrich <dakr@kernel.org>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: Philipp Stanner <phasta@kernel.org>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
> drivers/gpu/drm/scheduler/sched_main.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
> index c39f0245e3a9..676484dd3ea3 100644
> --- a/drivers/gpu/drm/scheduler/sched_main.c
> +++ b/drivers/gpu/drm/scheduler/sched_main.c
> @@ -1368,6 +1368,9 @@ int drm_sched_init(struct drm_gpu_scheduler *sched, const struct drm_sched_init_
> atomic64_set(&sched->job_id_count, 0);
> sched->pause_submit = false;
>
> + taint_reclaim_workqueue(sched->submit_wq, GFP_KERNEL);
> + taint_reclaim_workqueue(sched->timeout_wq, GFP_KERNEL);
> +
> sched->ready = true;
> return 0;
> Out_unroll:
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 2/3] drm/sched: Taint workqueues with reclaim
2025-10-27 11:03 ` Philipp Stanner
@ 2025-10-27 17:00 ` Matthew Brost
0 siblings, 0 replies; 29+ messages in thread
From: Matthew Brost @ 2025-10-27 17:00 UTC (permalink / raw)
To: Philipp Stanner
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, tj,
simona.vetter, christian.koenig, dakr
On Mon, Oct 27, 2025 at 12:03:33PM +0100, Philipp Stanner wrote:
> On Tue, 2025-10-21 at 14:39 -0700, Matthew Brost wrote:
> > Multiple drivers seemingly do not understand the role of DMA fences in
> > the reclaim path. As a result,
> >
>
> result of what? The "role of DMA fences"?
>
> > DRM scheduler workqueues, which are part
> > of the fence signaling path, must not allocate memory.
> >
>
> Should be phrased differently. The actual rule here is "The GPU
> scheduler's workqueues can be used for memory reclaim. Because of that,
> work items on these queues must not allocate memory."
>
Sure, will reword.
> --
>
> In general, I often read in commits or discussions about this or that
> "rule", especially "DMA fence rules", but they're often not detailed
> very much.
>
Yes, I kinda assume the audience reviewing any dma-buf or drm-sched
really understand the "DMA fence rules" compare to driver devs which
often do not really get this concept. Taining the work queues here will
help driver devs avoid mistakes and hopefully along the way get them to
point where they understand "DMA fence rules" - it took me a few years
to really get this rules.
Matt
>
> P.
>
> > This patch
> > teaches lockdep to recognize these rules in order to catch driver-side
> > bugs.
> >
> > Cc: Christian König <christian.koenig@amd.com>
> > Cc: Danilo Krummrich <dakr@kernel.org>
> > Cc: Matthew Brost <matthew.brost@intel.com>
> > Cc: Philipp Stanner <phasta@kernel.org>
> > Cc: dri-devel@lists.freedesktop.org
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> > drivers/gpu/drm/scheduler/sched_main.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
> > index c39f0245e3a9..676484dd3ea3 100644
> > --- a/drivers/gpu/drm/scheduler/sched_main.c
> > +++ b/drivers/gpu/drm/scheduler/sched_main.c
> > @@ -1368,6 +1368,9 @@ int drm_sched_init(struct drm_gpu_scheduler *sched, const struct drm_sched_init_
> > atomic64_set(&sched->job_id_count, 0);
> > sched->pause_submit = false;
> >
> > + taint_reclaim_workqueue(sched->submit_wq, GFP_KERNEL);
> > + taint_reclaim_workqueue(sched->timeout_wq, GFP_KERNEL);
> > +
> > sched->ready = true;
> > return 0;
> > Out_unroll:
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
2025-10-21 21:39 ` [RFC PATCH 1/3] workqueue: Add an interface to taint workqueue lockdep with reclaim Matthew Brost
2025-10-21 21:39 ` [RFC PATCH 2/3] drm/sched: Taint workqueues " Matthew Brost
@ 2025-10-21 21:39 ` Matthew Brost
2025-10-27 11:13 ` Philipp Stanner
2025-10-21 21:56 ` ✗ CI.checkpatch: warning for Enforce DRM scheduler reclaim rules Patchwork
` (4 subsequent siblings)
7 siblings, 1 reply; 29+ messages in thread
From: Matthew Brost @ 2025-10-21 21:39 UTC (permalink / raw)
To: intel-xe, dri-devel, linux-kernel
Cc: jiangshanlai, tj, simona.vetter, christian.koenig, pstanner, dakr
According to the DMA scheduler documentation, once a job is armed, it
must be pushed. Drivers should avoid calling the failing code path that
attempts to add dependencies after a job has been armed. This change
enforces that rule.
Cc: Christian König <christian.koenig@amd.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Philipp Stanner <phasta@kernel.org>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
---
drivers/gpu/drm/scheduler/sched_main.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
index 676484dd3ea3..436cb2844161 100644
--- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/drivers/gpu/drm/scheduler/sched_main.c
@@ -873,7 +873,8 @@ EXPORT_SYMBOL(drm_sched_job_arm);
* @job: scheduler job to add the dependencies to
* @fence: the dma_fence to add to the list of dependencies.
*
- * Note that @fence is consumed in both the success and error cases.
+ * Note that @fence is consumed in both the success and error cases. This
+ * function cannot be called if the job is armed.
*
* Returns:
* 0 on success, or an error on failing to expand the array.
@@ -886,6 +887,10 @@ int drm_sched_job_add_dependency(struct drm_sched_job *job,
u32 id = 0;
int ret;
+ /* Do not allow additional dependencies when job is armed */
+ if (WARN_ON_ONCE(job->sched))
+ return -EINVAL;
+
if (!fence)
return 0;
--
2.34.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job
2025-10-21 21:39 ` [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job Matthew Brost
@ 2025-10-27 11:13 ` Philipp Stanner
2025-10-27 16:56 ` Matthew Brost
0 siblings, 1 reply; 29+ messages in thread
From: Philipp Stanner @ 2025-10-27 11:13 UTC (permalink / raw)
To: Matthew Brost, intel-xe, dri-devel, linux-kernel
Cc: jiangshanlai, tj, simona.vetter, christian.koenig, dakr
I've got a kernel.org addr by now by the way
On Tue, 2025-10-21 at 14:39 -0700, Matthew Brost wrote:
> According to the DMA scheduler documentation, once a job is armed, it
> must be pushed. Drivers should avoid calling the failing code path that
> attempts to add dependencies after a job has been armed.
>
Why is that a "failing code path"?
The issue with adding callbacks is that adding them to an already
signaled fence is a bad idea. I'm not sure if it's illegal, though.
dma_fence_add_cb() merely returns an error then, but the driver could
in priniciple then execute its cb code itself.
And even if we agree that this is a hard rule that must be followed,
then drm_sched_job_arm() *might* not be the right place, because just
because a job is armed doesn't mean that its fence is about to get
signaled. drm_sched_entity_push_job() would be the critical place.
> This change
> enforces that rule.
>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: Danilo Krummrich <dakr@kernel.org>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: Philipp Stanner <phasta@kernel.org>
> Cc: dri-devel@lists.freedesktop.org
> Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> ---
> drivers/gpu/drm/scheduler/sched_main.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
> index 676484dd3ea3..436cb2844161 100644
> --- a/drivers/gpu/drm/scheduler/sched_main.c
> +++ b/drivers/gpu/drm/scheduler/sched_main.c
> @@ -873,7 +873,8 @@ EXPORT_SYMBOL(drm_sched_job_arm);
> * @job: scheduler job to add the dependencies to
> * @fence: the dma_fence to add to the list of dependencies.
> *
> - * Note that @fence is consumed in both the success and error cases.
> + * Note that @fence is consumed in both the success and error cases. This
> + * function cannot be called if the job is armed.
> *
> * Returns:
> * 0 on success, or an error on failing to expand the array.
> @@ -886,6 +887,10 @@ int drm_sched_job_add_dependency(struct drm_sched_job *job,
> u32 id = 0;
> int ret;
>
> + /* Do not allow additional dependencies when job is armed */
> + if (WARN_ON_ONCE(job->sched))
One would probably want an 'armed' boolean for that. At the very least
one wants to document in the struct's docstring that job->sched has
this semantic meaning. Otherwise it's only obvious for people who have
been hacking on the scheduler for years.
By the way I think that we use WARN_ON*() too much in DRM. It generates
difficult to read, non-descriptive error messages compared to
dev_warn() and similar helpers, and it's often a bit overkill. I would
only use it when there is no other choice, such as in an interrupt-
handler or widely used void func() where you cannot simply add a return
code.
P.
> + return -EINVAL;
> +
> if (!fence)
> return 0;
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job
2025-10-27 11:13 ` Philipp Stanner
@ 2025-10-27 16:56 ` Matthew Brost
2025-10-28 9:27 ` Philipp Stanner
0 siblings, 1 reply; 29+ messages in thread
From: Matthew Brost @ 2025-10-27 16:56 UTC (permalink / raw)
To: Philipp Stanner
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, tj,
simona.vetter, christian.koenig, dakr
On Mon, Oct 27, 2025 at 12:13:58PM +0100, Philipp Stanner wrote:
> I've got a kernel.org addr by now by the way
>
> On Tue, 2025-10-21 at 14:39 -0700, Matthew Brost wrote:
> > According to the DMA scheduler documentation, once a job is armed, it
> > must be pushed. Drivers should avoid calling the failing code path that
> > attempts to add dependencies after a job has been armed.
> >
>
> Why is that a "failing code path"?
>
I noticed this after I sent - it should something like:
'avoid calling a possible failing code path, which allocates memory.'
I can make this a bit more clear.
> The issue with adding callbacks is that adding them to an already
> signaled fence is a bad idea. I'm not sure if it's illegal, though.
> dma_fence_add_cb() merely returns an error then, but the driver could
> in priniciple then execute its cb code itself.
>
> And even if we agree that this is a hard rule that must be followed,
> then drm_sched_job_arm() *might* not be the right place, because just
> because a job is armed doesn't mean that its fence is about to get
> signaled. drm_sched_entity_push_job() would be the critical place.
>
I think this break our rule once arm is called, push must be called as
adding dependencies can possibly fail. This rule is called out in your
documentation patch too. I've seen 2 driver posted in the past year add
dependencies after arming, so I figured lets catch this misuse in the
scheduler.
Matt
>
> > This change
> > enforces that rule.
> >
> > Cc: Christian König <christian.koenig@amd.com>
> > Cc: Danilo Krummrich <dakr@kernel.org>
> > Cc: Matthew Brost <matthew.brost@intel.com>
> > Cc: Philipp Stanner <phasta@kernel.org>
> > Cc: dri-devel@lists.freedesktop.org
> > Signed-off-by: Matthew Brost <matthew.brost@intel.com>
> > ---
> > drivers/gpu/drm/scheduler/sched_main.c | 7 ++++++-
> > 1 file changed, 6 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
> > index 676484dd3ea3..436cb2844161 100644
> > --- a/drivers/gpu/drm/scheduler/sched_main.c
> > +++ b/drivers/gpu/drm/scheduler/sched_main.c
> > @@ -873,7 +873,8 @@ EXPORT_SYMBOL(drm_sched_job_arm);
> > * @job: scheduler job to add the dependencies to
> > * @fence: the dma_fence to add to the list of dependencies.
> > *
> > - * Note that @fence is consumed in both the success and error cases.
> > + * Note that @fence is consumed in both the success and error cases. This
> > + * function cannot be called if the job is armed.
> > *
> > * Returns:
> > * 0 on success, or an error on failing to expand the array.
> > @@ -886,6 +887,10 @@ int drm_sched_job_add_dependency(struct drm_sched_job *job,
> > u32 id = 0;
> > int ret;
> >
> > + /* Do not allow additional dependencies when job is armed */
> > + if (WARN_ON_ONCE(job->sched))
>
> One would probably want an 'armed' boolean for that. At the very least
> one wants to document in the struct's docstring that job->sched has
> this semantic meaning. Otherwise it's only obvious for people who have
> been hacking on the scheduler for years.
>
>
> By the way I think that we use WARN_ON*() too much in DRM. It generates
> difficult to read, non-descriptive error messages compared to
> dev_warn() and similar helpers, and it's often a bit overkill. I would
> only use it when there is no other choice, such as in an interrupt-
> handler or widely used void func() where you cannot simply add a return
> code.
>
>
> P.
>
> > + return -EINVAL;
>
>
> > +
> > if (!fence)
> > return 0;
> >
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* Re: [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job
2025-10-27 16:56 ` Matthew Brost
@ 2025-10-28 9:27 ` Philipp Stanner
0 siblings, 0 replies; 29+ messages in thread
From: Philipp Stanner @ 2025-10-28 9:27 UTC (permalink / raw)
To: Matthew Brost
Cc: intel-xe, dri-devel, linux-kernel, jiangshanlai, tj,
simona.vetter, christian.koenig, dakr
On Mon, 2025-10-27 at 09:56 -0700, Matthew Brost wrote:
> On Mon, Oct 27, 2025 at 12:13:58PM +0100, Philipp Stanner wrote:
> > I've got a kernel.org addr by now by the way
> >
> > On Tue, 2025-10-21 at 14:39 -0700, Matthew Brost wrote:
> > > According to the DMA scheduler documentation, once a job is armed, it
> > > must be pushed. Drivers should avoid calling the failing code path that
> > > attempts to add dependencies after a job has been armed.
> > >
> >
> > Why is that a "failing code path"?
> >
>
> I noticed this after I sent - it should something like:
>
> 'avoid calling a possible failing code path, which allocates memory.'
>
> I can make this a bit more clear.
>
> > The issue with adding callbacks is that adding them to an already
> > signaled fence is a bad idea. I'm not sure if it's illegal, though.
> > dma_fence_add_cb() merely returns an error then, but the driver could
> > in priniciple then execute its cb code itself.
> >
> > And even if we agree that this is a hard rule that must be followed,
> > then drm_sched_job_arm() *might* not be the right place, because just
> > because a job is armed doesn't mean that its fence is about to get
> > signaled. drm_sched_entity_push_job() would be the critical place.
> >
>
> I think this break our rule once arm is called, push must be called as
> adding dependencies can possibly fail. This rule is called out in your
> documentation patch too. I've seen 2 driver posted in the past year add
> dependencies after arming, so I figured lets catch this misuse in the
> scheduler.
We can establish that as a rule, I'm OK with that.
P.
^ permalink raw reply [flat|nested] 29+ messages in thread
* ✗ CI.checkpatch: warning for Enforce DRM scheduler reclaim rules
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
` (2 preceding siblings ...)
2025-10-21 21:39 ` [RFC PATCH 3/3] drm/sched: Prevent adding dependencies to an armed job Matthew Brost
@ 2025-10-21 21:56 ` Patchwork
2025-10-21 21:58 ` ✓ CI.KUnit: success " Patchwork
` (3 subsequent siblings)
7 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-10-21 21:56 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Enforce DRM scheduler reclaim rules
URL : https://patchwork.freedesktop.org/series/156283/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
8677d3b99d5fd579c143b22605d99121e2482e8a
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit a5f598983400229ce2e030c77c3a0bf4deff3cf9
Author: Matthew Brost <matthew.brost@intel.com>
Date: Tue Oct 21 14:39:52 2025 -0700
drm/sched: Prevent adding dependencies to an armed job
According to the DMA scheduler documentation, once a job is armed, it
must be pushed. Drivers should avoid calling the failing code path that
attempts to add dependencies after a job has been armed. This change
enforces that rule.
Cc: Christian König <christian.koenig@amd.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Philipp Stanner <phasta@kernel.org>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
+ /mt/dim checkpatch fb0f56ad8a2c9953c57c3337a72ccbf9c5050687 drm-intel
3dd7c3f7c08f workqueue: Add an interface to taint workqueue lockdep with reclaim
-:24: CHECK:LINE_SPACING: Please don't use multiple blank lines
#24: FILE: include/linux/workqueue.h:556:
+
-:35: CHECK:AVOID_EXTERNS: extern prototypes should be avoided in .h files
#35: FILE: include/linux/workqueue.h:567:
+extern void taint_reclaim_workqueue(struct workqueue_struct *wq, gfp_t gfp);
total: 0 errors, 0 warnings, 2 checks, 40 lines checked
111dbb83a4b6 drm/sched: Taint workqueues with reclaim
a5f598983400 drm/sched: Prevent adding dependencies to an armed job
^ permalink raw reply [flat|nested] 29+ messages in thread* ✓ CI.KUnit: success for Enforce DRM scheduler reclaim rules
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
` (3 preceding siblings ...)
2025-10-21 21:56 ` ✗ CI.checkpatch: warning for Enforce DRM scheduler reclaim rules Patchwork
@ 2025-10-21 21:58 ` Patchwork
2025-10-21 22:13 ` ✗ CI.checksparse: warning " Patchwork
` (2 subsequent siblings)
7 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-10-21 21:58 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Enforce DRM scheduler reclaim rules
URL : https://patchwork.freedesktop.org/series/156283/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[21:56:51] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:56:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[21:57:26] Starting KUnit Kernel (1/1)...
[21:57:26] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:57:26] ================== guc_buf (11 subtests) ===================
[21:57:26] [PASSED] test_smallest
[21:57:26] [PASSED] test_largest
[21:57:26] [PASSED] test_granular
[21:57:26] [PASSED] test_unique
[21:57:26] [PASSED] test_overlap
[21:57:26] [PASSED] test_reusable
[21:57:26] [PASSED] test_too_big
[21:57:26] [PASSED] test_flush
[21:57:26] [PASSED] test_lookup
[21:57:26] [PASSED] test_data
[21:57:26] [PASSED] test_class
[21:57:26] ===================== [PASSED] guc_buf =====================
[21:57:26] =================== guc_dbm (7 subtests) ===================
[21:57:26] [PASSED] test_empty
[21:57:26] [PASSED] test_default
[21:57:26] ======================== test_size ========================
[21:57:26] [PASSED] 4
[21:57:26] [PASSED] 8
[21:57:26] [PASSED] 32
[21:57:26] [PASSED] 256
[21:57:26] ==================== [PASSED] test_size ====================
[21:57:26] ======================= test_reuse ========================
[21:57:26] [PASSED] 4
[21:57:26] [PASSED] 8
[21:57:26] [PASSED] 32
[21:57:26] [PASSED] 256
[21:57:26] =================== [PASSED] test_reuse ====================
[21:57:26] =================== test_range_overlap ====================
[21:57:26] [PASSED] 4
[21:57:26] [PASSED] 8
[21:57:26] [PASSED] 32
[21:57:26] [PASSED] 256
[21:57:26] =============== [PASSED] test_range_overlap ================
[21:57:26] =================== test_range_compact ====================
[21:57:26] [PASSED] 4
[21:57:26] [PASSED] 8
[21:57:26] [PASSED] 32
[21:57:26] [PASSED] 256
[21:57:26] =============== [PASSED] test_range_compact ================
[21:57:26] ==================== test_range_spare =====================
[21:57:26] [PASSED] 4
[21:57:26] [PASSED] 8
[21:57:26] [PASSED] 32
[21:57:26] [PASSED] 256
[21:57:26] ================ [PASSED] test_range_spare =================
[21:57:26] ===================== [PASSED] guc_dbm =====================
[21:57:26] =================== guc_idm (6 subtests) ===================
[21:57:26] [PASSED] bad_init
[21:57:26] [PASSED] no_init
[21:57:26] [PASSED] init_fini
[21:57:26] [PASSED] check_used
[21:57:26] [PASSED] check_quota
[21:57:26] [PASSED] check_all
[21:57:26] ===================== [PASSED] guc_idm =====================
[21:57:26] ================== no_relay (3 subtests) ===================
[21:57:26] [PASSED] xe_drops_guc2pf_if_not_ready
[21:57:26] [PASSED] xe_drops_guc2vf_if_not_ready
[21:57:26] [PASSED] xe_rejects_send_if_not_ready
[21:57:26] ==================== [PASSED] no_relay =====================
[21:57:26] ================== pf_relay (14 subtests) ==================
[21:57:26] [PASSED] pf_rejects_guc2pf_too_short
[21:57:26] [PASSED] pf_rejects_guc2pf_too_long
[21:57:26] [PASSED] pf_rejects_guc2pf_no_payload
[21:57:26] [PASSED] pf_fails_no_payload
[21:57:26] [PASSED] pf_fails_bad_origin
[21:57:26] [PASSED] pf_fails_bad_type
[21:57:26] [PASSED] pf_txn_reports_error
[21:57:26] [PASSED] pf_txn_sends_pf2guc
[21:57:26] [PASSED] pf_sends_pf2guc
[21:57:26] [SKIPPED] pf_loopback_nop
[21:57:26] [SKIPPED] pf_loopback_echo
[21:57:26] [SKIPPED] pf_loopback_fail
[21:57:26] [SKIPPED] pf_loopback_busy
[21:57:26] [SKIPPED] pf_loopback_retry
[21:57:26] ==================== [PASSED] pf_relay =====================
[21:57:26] ================== vf_relay (3 subtests) ===================
[21:57:26] [PASSED] vf_rejects_guc2vf_too_short
[21:57:26] [PASSED] vf_rejects_guc2vf_too_long
[21:57:26] [PASSED] vf_rejects_guc2vf_no_payload
[21:57:26] ==================== [PASSED] vf_relay =====================
[21:57:26] ===================== lmtt (1 subtest) =====================
[21:57:26] ======================== test_ops =========================
[21:57:26] [PASSED] 2-level
[21:57:26] [PASSED] multi-level
[21:57:26] ==================== [PASSED] test_ops =====================
[21:57:26] ====================== [PASSED] lmtt =======================
[21:57:26] ================= pf_service (11 subtests) =================
[21:57:26] [PASSED] pf_negotiate_any
[21:57:26] [PASSED] pf_negotiate_base_match
[21:57:26] [PASSED] pf_negotiate_base_newer
[21:57:26] [PASSED] pf_negotiate_base_next
[21:57:26] [SKIPPED] pf_negotiate_base_older
[21:57:26] [PASSED] pf_negotiate_base_prev
[21:57:26] [PASSED] pf_negotiate_latest_match
[21:57:26] [PASSED] pf_negotiate_latest_newer
[21:57:26] [PASSED] pf_negotiate_latest_next
[21:57:26] [SKIPPED] pf_negotiate_latest_older
[21:57:26] [SKIPPED] pf_negotiate_latest_prev
[21:57:26] =================== [PASSED] pf_service ====================
[21:57:26] ================= xe_guc_g2g (2 subtests) ==================
[21:57:26] ============== xe_live_guc_g2g_kunit_default ==============
[21:57:26] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[21:57:26] ============== xe_live_guc_g2g_kunit_allmem ===============
[21:57:26] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[21:57:26] =================== [SKIPPED] xe_guc_g2g ===================
[21:57:26] =================== xe_mocs (2 subtests) ===================
[21:57:26] ================ xe_live_mocs_kernel_kunit ================
[21:57:26] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[21:57:26] ================ xe_live_mocs_reset_kunit =================
[21:57:26] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[21:57:26] ==================== [SKIPPED] xe_mocs =====================
[21:57:26] ================= xe_migrate (2 subtests) ==================
[21:57:26] ================= xe_migrate_sanity_kunit =================
[21:57:26] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[21:57:26] ================== xe_validate_ccs_kunit ==================
[21:57:26] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[21:57:26] =================== [SKIPPED] xe_migrate ===================
[21:57:26] ================== xe_dma_buf (1 subtest) ==================
[21:57:26] ==================== xe_dma_buf_kunit =====================
[21:57:26] ================ [SKIPPED] xe_dma_buf_kunit ================
[21:57:26] =================== [SKIPPED] xe_dma_buf ===================
[21:57:26] ================= xe_bo_shrink (1 subtest) =================
[21:57:26] =================== xe_bo_shrink_kunit ====================
[21:57:26] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[21:57:26] ================== [SKIPPED] xe_bo_shrink ==================
[21:57:26] ==================== xe_bo (2 subtests) ====================
[21:57:26] ================== xe_ccs_migrate_kunit ===================
[21:57:26] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[21:57:26] ==================== xe_bo_evict_kunit ====================
[21:57:26] =============== [SKIPPED] xe_bo_evict_kunit ================
[21:57:26] ===================== [SKIPPED] xe_bo ======================
[21:57:26] ==================== args (11 subtests) ====================
[21:57:26] [PASSED] count_args_test
[21:57:26] [PASSED] call_args_example
[21:57:26] [PASSED] call_args_test
[21:57:26] [PASSED] drop_first_arg_example
[21:57:26] [PASSED] drop_first_arg_test
[21:57:26] [PASSED] first_arg_example
[21:57:26] [PASSED] first_arg_test
[21:57:26] [PASSED] last_arg_example
[21:57:26] [PASSED] last_arg_test
[21:57:26] [PASSED] pick_arg_example
[21:57:26] [PASSED] sep_comma_example
[21:57:26] ====================== [PASSED] args =======================
[21:57:26] =================== xe_pci (3 subtests) ====================
[21:57:26] ==================== check_graphics_ip ====================
[21:57:26] [PASSED] 12.00 Xe_LP
[21:57:26] [PASSED] 12.10 Xe_LP+
[21:57:26] [PASSED] 12.55 Xe_HPG
[21:57:26] [PASSED] 12.60 Xe_HPC
[21:57:26] [PASSED] 12.70 Xe_LPG
[21:57:26] [PASSED] 12.71 Xe_LPG
[21:57:26] [PASSED] 12.74 Xe_LPG+
[21:57:26] [PASSED] 20.01 Xe2_HPG
[21:57:26] [PASSED] 20.02 Xe2_HPG
[21:57:26] [PASSED] 20.04 Xe2_LPG
[21:57:26] [PASSED] 30.00 Xe3_LPG
[21:57:26] [PASSED] 30.01 Xe3_LPG
[21:57:26] [PASSED] 30.03 Xe3_LPG
[21:57:26] [PASSED] 30.04 Xe3_LPG
[21:57:26] [PASSED] 30.05 Xe3_LPG
[21:57:26] [PASSED] 35.11 Xe3p_XPC
[21:57:26] ================ [PASSED] check_graphics_ip ================
[21:57:26] ===================== check_media_ip ======================
[21:57:26] [PASSED] 12.00 Xe_M
[21:57:26] [PASSED] 12.55 Xe_HPM
[21:57:26] [PASSED] 13.00 Xe_LPM+
[21:57:26] [PASSED] 13.01 Xe2_HPM
[21:57:26] [PASSED] 20.00 Xe2_LPM
[21:57:26] [PASSED] 30.00 Xe3_LPM
[21:57:26] [PASSED] 30.02 Xe3_LPM
[21:57:26] [PASSED] 35.00 Xe3p_LPM
[21:57:26] [PASSED] 35.03 Xe3p_HPM
[21:57:26] ================= [PASSED] check_media_ip ==================
[21:57:26] ================= check_platform_gt_count =================
[21:57:26] [PASSED] 0x9A60 (TIGERLAKE)
[21:57:26] [PASSED] 0x9A68 (TIGERLAKE)
[21:57:26] [PASSED] 0x9A70 (TIGERLAKE)
[21:57:26] [PASSED] 0x9A40 (TIGERLAKE)
[21:57:26] [PASSED] 0x9A49 (TIGERLAKE)
[21:57:26] [PASSED] 0x9A59 (TIGERLAKE)
[21:57:26] [PASSED] 0x9A78 (TIGERLAKE)
[21:57:26] [PASSED] 0x9AC0 (TIGERLAKE)
[21:57:26] [PASSED] 0x9AC9 (TIGERLAKE)
[21:57:26] [PASSED] 0x9AD9 (TIGERLAKE)
[21:57:26] [PASSED] 0x9AF8 (TIGERLAKE)
[21:57:26] [PASSED] 0x4C80 (ROCKETLAKE)
[21:57:26] [PASSED] 0x4C8A (ROCKETLAKE)
[21:57:26] [PASSED] 0x4C8B (ROCKETLAKE)
[21:57:26] [PASSED] 0x4C8C (ROCKETLAKE)
[21:57:26] [PASSED] 0x4C90 (ROCKETLAKE)
[21:57:26] [PASSED] 0x4C9A (ROCKETLAKE)
[21:57:26] [PASSED] 0x4680 (ALDERLAKE_S)
[21:57:26] [PASSED] 0x4682 (ALDERLAKE_S)
[21:57:26] [PASSED] 0x4688 (ALDERLAKE_S)
[21:57:26] [PASSED] 0x468A (ALDERLAKE_S)
[21:57:26] [PASSED] 0x468B (ALDERLAKE_S)
[21:57:26] [PASSED] 0x4690 (ALDERLAKE_S)
[21:57:26] [PASSED] 0x4692 (ALDERLAKE_S)
[21:57:26] [PASSED] 0x4693 (ALDERLAKE_S)
[21:57:26] [PASSED] 0x46A0 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46A1 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46A2 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46A3 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46A6 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46A8 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46AA (ALDERLAKE_P)
[21:57:26] [PASSED] 0x462A (ALDERLAKE_P)
[21:57:26] [PASSED] 0x4626 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x4628 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46B0 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46B1 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46B2 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46B3 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46C0 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46C1 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46C2 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46C3 (ALDERLAKE_P)
[21:57:26] [PASSED] 0x46D0 (ALDERLAKE_N)
[21:57:26] [PASSED] 0x46D1 (ALDERLAKE_N)
[21:57:26] [PASSED] 0x46D2 (ALDERLAKE_N)
[21:57:26] [PASSED] 0x46D3 (ALDERLAKE_N)
[21:57:26] [PASSED] 0x46D4 (ALDERLAKE_N)
[21:57:26] [PASSED] 0xA721 (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7A1 (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7A9 (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7AC (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7AD (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA720 (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7A0 (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7A8 (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7AA (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA7AB (ALDERLAKE_P)
[21:57:26] [PASSED] 0xA780 (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA781 (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA782 (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA783 (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA788 (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA789 (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA78A (ALDERLAKE_S)
[21:57:26] [PASSED] 0xA78B (ALDERLAKE_S)
[21:57:26] [PASSED] 0x4905 (DG1)
[21:57:26] [PASSED] 0x4906 (DG1)
[21:57:26] [PASSED] 0x4907 (DG1)
[21:57:26] [PASSED] 0x4908 (DG1)
[21:57:26] [PASSED] 0x4909 (DG1)
[21:57:26] [PASSED] 0x56C0 (DG2)
[21:57:26] [PASSED] 0x56C2 (DG2)
[21:57:26] [PASSED] 0x56C1 (DG2)
[21:57:26] [PASSED] 0x7D51 (METEORLAKE)
[21:57:26] [PASSED] 0x7DD1 (METEORLAKE)
[21:57:26] [PASSED] 0x7D41 (METEORLAKE)
[21:57:26] [PASSED] 0x7D67 (METEORLAKE)
[21:57:26] [PASSED] 0xB640 (METEORLAKE)
[21:57:26] [PASSED] 0x56A0 (DG2)
[21:57:26] [PASSED] 0x56A1 (DG2)
[21:57:26] [PASSED] 0x56A2 (DG2)
[21:57:26] [PASSED] 0x56BE (DG2)
[21:57:26] [PASSED] 0x56BF (DG2)
[21:57:26] [PASSED] 0x5690 (DG2)
[21:57:26] [PASSED] 0x5691 (DG2)
[21:57:26] [PASSED] 0x5692 (DG2)
[21:57:26] [PASSED] 0x56A5 (DG2)
[21:57:26] [PASSED] 0x56A6 (DG2)
[21:57:26] [PASSED] 0x56B0 (DG2)
[21:57:26] [PASSED] 0x56B1 (DG2)
[21:57:26] [PASSED] 0x56BA (DG2)
[21:57:26] [PASSED] 0x56BB (DG2)
[21:57:26] [PASSED] 0x56BC (DG2)
[21:57:26] [PASSED] 0x56BD (DG2)
[21:57:26] [PASSED] 0x5693 (DG2)
[21:57:26] [PASSED] 0x5694 (DG2)
[21:57:26] [PASSED] 0x5695 (DG2)
[21:57:26] [PASSED] 0x56A3 (DG2)
[21:57:26] [PASSED] 0x56A4 (DG2)
[21:57:26] [PASSED] 0x56B2 (DG2)
[21:57:26] [PASSED] 0x56B3 (DG2)
[21:57:26] [PASSED] 0x5696 (DG2)
[21:57:26] [PASSED] 0x5697 (DG2)
[21:57:26] [PASSED] 0xB69 (PVC)
[21:57:26] [PASSED] 0xB6E (PVC)
[21:57:26] [PASSED] 0xBD4 (PVC)
[21:57:26] [PASSED] 0xBD5 (PVC)
[21:57:26] [PASSED] 0xBD6 (PVC)
[21:57:26] [PASSED] 0xBD7 (PVC)
[21:57:26] [PASSED] 0xBD8 (PVC)
[21:57:26] [PASSED] 0xBD9 (PVC)
[21:57:26] [PASSED] 0xBDA (PVC)
[21:57:26] [PASSED] 0xBDB (PVC)
[21:57:26] [PASSED] 0xBE0 (PVC)
[21:57:26] [PASSED] 0xBE1 (PVC)
[21:57:26] [PASSED] 0xBE5 (PVC)
[21:57:26] [PASSED] 0x7D40 (METEORLAKE)
[21:57:26] [PASSED] 0x7D45 (METEORLAKE)
[21:57:26] [PASSED] 0x7D55 (METEORLAKE)
[21:57:26] [PASSED] 0x7D60 (METEORLAKE)
[21:57:26] [PASSED] 0x7DD5 (METEORLAKE)
[21:57:26] [PASSED] 0x6420 (LUNARLAKE)
[21:57:26] [PASSED] 0x64A0 (LUNARLAKE)
[21:57:26] [PASSED] 0x64B0 (LUNARLAKE)
[21:57:26] [PASSED] 0xE202 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE209 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE20B (BATTLEMAGE)
[21:57:26] [PASSED] 0xE20C (BATTLEMAGE)
[21:57:26] [PASSED] 0xE20D (BATTLEMAGE)
[21:57:26] [PASSED] 0xE210 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE211 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE212 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE216 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE220 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE221 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE222 (BATTLEMAGE)
[21:57:26] [PASSED] 0xE223 (BATTLEMAGE)
[21:57:26] [PASSED] 0xB080 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB081 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB082 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB083 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB084 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB085 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB086 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB087 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB08F (PANTHERLAKE)
[21:57:26] [PASSED] 0xB090 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB0A0 (PANTHERLAKE)
[21:57:26] [PASSED] 0xB0B0 (PANTHERLAKE)
[21:57:26] [PASSED] 0xFD80 (PANTHERLAKE)
[21:57:26] [PASSED] 0xFD81 (PANTHERLAKE)
[21:57:26] [PASSED] 0xD740 (NOVALAKE_S)
[21:57:26] [PASSED] 0xD741 (NOVALAKE_S)
[21:57:26] [PASSED] 0xD742 (NOVALAKE_S)
[21:57:26] [PASSED] 0xD743 (NOVALAKE_S)
[21:57:26] [PASSED] 0xD744 (NOVALAKE_S)
[21:57:26] [PASSED] 0xD745 (NOVALAKE_S)
[21:57:26] ============= [PASSED] check_platform_gt_count =============
[21:57:26] ===================== [PASSED] xe_pci ======================
[21:57:26] =================== xe_rtp (2 subtests) ====================
[21:57:26] =============== xe_rtp_process_to_sr_tests ================
[21:57:26] [PASSED] coalesce-same-reg
[21:57:26] [PASSED] no-match-no-add
[21:57:26] [PASSED] match-or
[21:57:26] [PASSED] match-or-xfail
[21:57:26] [PASSED] no-match-no-add-multiple-rules
[21:57:26] [PASSED] two-regs-two-entries
[21:57:26] [PASSED] clr-one-set-other
[21:57:26] [PASSED] set-field
[21:57:26] [PASSED] conflict-duplicate
[21:57:26] [PASSED] conflict-not-disjoint
[21:57:26] [PASSED] conflict-reg-type
[21:57:26] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[21:57:26] ================== xe_rtp_process_tests ===================
[21:57:26] [PASSED] active1
[21:57:26] [PASSED] active2
[21:57:26] [PASSED] active-inactive
[21:57:26] [PASSED] inactive-active
[21:57:26] [PASSED] inactive-1st_or_active-inactive
[21:57:26] [PASSED] inactive-2nd_or_active-inactive
[21:57:26] [PASSED] inactive-last_or_active-inactive
[21:57:26] [PASSED] inactive-no_or_active-inactive
stty: 'standard input': Inappropriate ioctl for device
[21:57:26] ============== [PASSED] xe_rtp_process_tests ===============
[21:57:26] ===================== [PASSED] xe_rtp ======================
[21:57:26] ==================== xe_wa (1 subtest) =====================
[21:57:26] ======================== xe_wa_gt =========================
[21:57:26] [PASSED] TIGERLAKE B0
[21:57:26] [PASSED] DG1 A0
[21:57:26] [PASSED] DG1 B0
[21:57:26] [PASSED] ALDERLAKE_S A0
[21:57:26] [PASSED] ALDERLAKE_S B0
[21:57:26] [PASSED] ALDERLAKE_S C0
[21:57:26] [PASSED] ALDERLAKE_S D0
[21:57:26] [PASSED] ALDERLAKE_P A0
[21:57:26] [PASSED] ALDERLAKE_P B0
[21:57:26] [PASSED] ALDERLAKE_P C0
[21:57:26] [PASSED] ALDERLAKE_S RPLS D0
[21:57:26] [PASSED] ALDERLAKE_P RPLU E0
[21:57:26] [PASSED] DG2 G10 C0
[21:57:26] [PASSED] DG2 G11 B1
[21:57:26] [PASSED] DG2 G12 A1
[21:57:26] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[21:57:26] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[21:57:26] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[21:57:26] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[21:57:26] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[21:57:26] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[21:57:26] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[21:57:26] ==================== [PASSED] xe_wa_gt =====================
[21:57:26] ====================== [PASSED] xe_wa ======================
[21:57:26] ============================================================
[21:57:26] Testing complete. Ran 317 tests: passed: 299, skipped: 18
[21:57:26] Elapsed time: 35.571s total, 4.245s configuring, 30.960s building, 0.327s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[21:57:26] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:57:28] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[21:57:53] Starting KUnit Kernel (1/1)...
[21:57:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:57:53] ============ drm_test_pick_cmdline (2 subtests) ============
[21:57:53] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[21:57:53] =============== drm_test_pick_cmdline_named ===============
[21:57:53] [PASSED] NTSC
[21:57:53] [PASSED] NTSC-J
[21:57:53] [PASSED] PAL
[21:57:53] [PASSED] PAL-M
[21:57:53] =========== [PASSED] drm_test_pick_cmdline_named ===========
[21:57:53] ============== [PASSED] drm_test_pick_cmdline ==============
[21:57:53] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[21:57:53] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[21:57:53] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[21:57:53] =========== drm_validate_clone_mode (2 subtests) ===========
[21:57:53] ============== drm_test_check_in_clone_mode ===============
[21:57:53] [PASSED] in_clone_mode
[21:57:53] [PASSED] not_in_clone_mode
[21:57:53] ========== [PASSED] drm_test_check_in_clone_mode ===========
[21:57:53] =============== drm_test_check_valid_clones ===============
[21:57:53] [PASSED] not_in_clone_mode
[21:57:53] [PASSED] valid_clone
[21:57:53] [PASSED] invalid_clone
[21:57:53] =========== [PASSED] drm_test_check_valid_clones ===========
[21:57:53] ============= [PASSED] drm_validate_clone_mode =============
[21:57:53] ============= drm_validate_modeset (1 subtest) =============
[21:57:53] [PASSED] drm_test_check_connector_changed_modeset
[21:57:53] ============== [PASSED] drm_validate_modeset ===============
[21:57:53] ====== drm_test_bridge_get_current_state (2 subtests) ======
[21:57:53] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[21:57:53] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[21:57:53] ======== [PASSED] drm_test_bridge_get_current_state ========
[21:57:53] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[21:57:53] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[21:57:53] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[21:57:53] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[21:57:53] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[21:57:53] ============== drm_bridge_alloc (2 subtests) ===============
[21:57:53] [PASSED] drm_test_drm_bridge_alloc_basic
[21:57:53] [PASSED] drm_test_drm_bridge_alloc_get_put
[21:57:53] ================ [PASSED] drm_bridge_alloc =================
[21:57:53] ================== drm_buddy (8 subtests) ==================
[21:57:53] [PASSED] drm_test_buddy_alloc_limit
[21:57:53] [PASSED] drm_test_buddy_alloc_optimistic
[21:57:53] [PASSED] drm_test_buddy_alloc_pessimistic
[21:57:53] [PASSED] drm_test_buddy_alloc_pathological
[21:57:53] [PASSED] drm_test_buddy_alloc_contiguous
[21:57:53] [PASSED] drm_test_buddy_alloc_clear
[21:57:53] [PASSED] drm_test_buddy_alloc_range_bias
[21:57:53] [PASSED] drm_test_buddy_fragmentation_performance
[21:57:53] ==================== [PASSED] drm_buddy ====================
[21:57:53] ============= drm_cmdline_parser (40 subtests) =============
[21:57:53] [PASSED] drm_test_cmdline_force_d_only
[21:57:53] [PASSED] drm_test_cmdline_force_D_only_dvi
[21:57:53] [PASSED] drm_test_cmdline_force_D_only_hdmi
[21:57:53] [PASSED] drm_test_cmdline_force_D_only_not_digital
[21:57:53] [PASSED] drm_test_cmdline_force_e_only
[21:57:53] [PASSED] drm_test_cmdline_res
[21:57:53] [PASSED] drm_test_cmdline_res_vesa
[21:57:53] [PASSED] drm_test_cmdline_res_vesa_rblank
[21:57:53] [PASSED] drm_test_cmdline_res_rblank
[21:57:53] [PASSED] drm_test_cmdline_res_bpp
[21:57:53] [PASSED] drm_test_cmdline_res_refresh
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[21:57:53] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[21:57:53] [PASSED] drm_test_cmdline_res_margins_force_on
[21:57:53] [PASSED] drm_test_cmdline_res_vesa_margins
[21:57:53] [PASSED] drm_test_cmdline_name
[21:57:53] [PASSED] drm_test_cmdline_name_bpp
[21:57:53] [PASSED] drm_test_cmdline_name_option
[21:57:53] [PASSED] drm_test_cmdline_name_bpp_option
[21:57:53] [PASSED] drm_test_cmdline_rotate_0
[21:57:53] [PASSED] drm_test_cmdline_rotate_90
[21:57:53] [PASSED] drm_test_cmdline_rotate_180
[21:57:53] [PASSED] drm_test_cmdline_rotate_270
[21:57:53] [PASSED] drm_test_cmdline_hmirror
[21:57:53] [PASSED] drm_test_cmdline_vmirror
[21:57:53] [PASSED] drm_test_cmdline_margin_options
[21:57:53] [PASSED] drm_test_cmdline_multiple_options
[21:57:53] [PASSED] drm_test_cmdline_bpp_extra_and_option
[21:57:53] [PASSED] drm_test_cmdline_extra_and_option
[21:57:53] [PASSED] drm_test_cmdline_freestanding_options
[21:57:53] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[21:57:53] [PASSED] drm_test_cmdline_panel_orientation
[21:57:53] ================ drm_test_cmdline_invalid =================
[21:57:53] [PASSED] margin_only
[21:57:53] [PASSED] interlace_only
[21:57:53] [PASSED] res_missing_x
[21:57:53] [PASSED] res_missing_y
[21:57:53] [PASSED] res_bad_y
[21:57:53] [PASSED] res_missing_y_bpp
[21:57:53] [PASSED] res_bad_bpp
[21:57:53] [PASSED] res_bad_refresh
[21:57:53] [PASSED] res_bpp_refresh_force_on_off
[21:57:53] [PASSED] res_invalid_mode
[21:57:53] [PASSED] res_bpp_wrong_place_mode
[21:57:53] [PASSED] name_bpp_refresh
[21:57:53] [PASSED] name_refresh
[21:57:53] [PASSED] name_refresh_wrong_mode
[21:57:53] [PASSED] name_refresh_invalid_mode
[21:57:53] [PASSED] rotate_multiple
[21:57:53] [PASSED] rotate_invalid_val
[21:57:53] [PASSED] rotate_truncated
[21:57:53] [PASSED] invalid_option
[21:57:53] [PASSED] invalid_tv_option
[21:57:53] [PASSED] truncated_tv_option
[21:57:53] ============ [PASSED] drm_test_cmdline_invalid =============
[21:57:53] =============== drm_test_cmdline_tv_options ===============
[21:57:53] [PASSED] NTSC
[21:57:53] [PASSED] NTSC_443
[21:57:53] [PASSED] NTSC_J
[21:57:53] [PASSED] PAL
[21:57:53] [PASSED] PAL_M
[21:57:53] [PASSED] PAL_N
[21:57:53] [PASSED] SECAM
[21:57:53] [PASSED] MONO_525
[21:57:53] [PASSED] MONO_625
[21:57:53] =========== [PASSED] drm_test_cmdline_tv_options ===========
[21:57:53] =============== [PASSED] drm_cmdline_parser ================
[21:57:53] ========== drmm_connector_hdmi_init (20 subtests) ==========
[21:57:53] [PASSED] drm_test_connector_hdmi_init_valid
[21:57:53] [PASSED] drm_test_connector_hdmi_init_bpc_8
[21:57:53] [PASSED] drm_test_connector_hdmi_init_bpc_10
[21:57:53] [PASSED] drm_test_connector_hdmi_init_bpc_12
[21:57:53] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[21:57:53] [PASSED] drm_test_connector_hdmi_init_bpc_null
[21:57:53] [PASSED] drm_test_connector_hdmi_init_formats_empty
[21:57:53] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[21:57:53] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[21:57:53] [PASSED] supported_formats=0x9 yuv420_allowed=1
[21:57:53] [PASSED] supported_formats=0x9 yuv420_allowed=0
[21:57:53] [PASSED] supported_formats=0x3 yuv420_allowed=1
[21:57:53] [PASSED] supported_formats=0x3 yuv420_allowed=0
[21:57:53] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[21:57:53] [PASSED] drm_test_connector_hdmi_init_null_ddc
[21:57:53] [PASSED] drm_test_connector_hdmi_init_null_product
[21:57:53] [PASSED] drm_test_connector_hdmi_init_null_vendor
[21:57:53] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[21:57:53] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[21:57:53] [PASSED] drm_test_connector_hdmi_init_product_valid
[21:57:53] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[21:57:53] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[21:57:53] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[21:57:53] ========= drm_test_connector_hdmi_init_type_valid =========
[21:57:53] [PASSED] HDMI-A
[21:57:53] [PASSED] HDMI-B
[21:57:53] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[21:57:53] ======== drm_test_connector_hdmi_init_type_invalid ========
[21:57:53] [PASSED] Unknown
[21:57:53] [PASSED] VGA
[21:57:53] [PASSED] DVI-I
[21:57:53] [PASSED] DVI-D
[21:57:53] [PASSED] DVI-A
[21:57:53] [PASSED] Composite
[21:57:53] [PASSED] SVIDEO
[21:57:53] [PASSED] LVDS
[21:57:53] [PASSED] Component
[21:57:53] [PASSED] DIN
[21:57:53] [PASSED] DP
[21:57:53] [PASSED] TV
[21:57:53] [PASSED] eDP
[21:57:53] [PASSED] Virtual
[21:57:53] [PASSED] DSI
[21:57:53] [PASSED] DPI
[21:57:53] [PASSED] Writeback
[21:57:53] [PASSED] SPI
[21:57:53] [PASSED] USB
[21:57:53] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[21:57:53] ============ [PASSED] drmm_connector_hdmi_init =============
[21:57:53] ============= drmm_connector_init (3 subtests) =============
[21:57:53] [PASSED] drm_test_drmm_connector_init
[21:57:53] [PASSED] drm_test_drmm_connector_init_null_ddc
[21:57:53] ========= drm_test_drmm_connector_init_type_valid =========
[21:57:53] [PASSED] Unknown
[21:57:53] [PASSED] VGA
[21:57:53] [PASSED] DVI-I
[21:57:53] [PASSED] DVI-D
[21:57:53] [PASSED] DVI-A
[21:57:53] [PASSED] Composite
[21:57:53] [PASSED] SVIDEO
[21:57:53] [PASSED] LVDS
[21:57:53] [PASSED] Component
[21:57:53] [PASSED] DIN
[21:57:53] [PASSED] DP
[21:57:53] [PASSED] HDMI-A
[21:57:53] [PASSED] HDMI-B
[21:57:53] [PASSED] TV
[21:57:53] [PASSED] eDP
[21:57:53] [PASSED] Virtual
[21:57:53] [PASSED] DSI
[21:57:53] [PASSED] DPI
[21:57:53] [PASSED] Writeback
[21:57:53] [PASSED] SPI
[21:57:53] [PASSED] USB
[21:57:53] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[21:57:53] =============== [PASSED] drmm_connector_init ===============
[21:57:53] ========= drm_connector_dynamic_init (6 subtests) ==========
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_init
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_init_properties
[21:57:53] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[21:57:53] [PASSED] Unknown
[21:57:53] [PASSED] VGA
[21:57:53] [PASSED] DVI-I
[21:57:53] [PASSED] DVI-D
[21:57:53] [PASSED] DVI-A
[21:57:53] [PASSED] Composite
[21:57:53] [PASSED] SVIDEO
[21:57:53] [PASSED] LVDS
[21:57:53] [PASSED] Component
[21:57:53] [PASSED] DIN
[21:57:53] [PASSED] DP
[21:57:53] [PASSED] HDMI-A
[21:57:53] [PASSED] HDMI-B
[21:57:53] [PASSED] TV
[21:57:53] [PASSED] eDP
[21:57:53] [PASSED] Virtual
[21:57:53] [PASSED] DSI
[21:57:53] [PASSED] DPI
[21:57:53] [PASSED] Writeback
[21:57:53] [PASSED] SPI
[21:57:53] [PASSED] USB
[21:57:53] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[21:57:53] ======== drm_test_drm_connector_dynamic_init_name =========
[21:57:53] [PASSED] Unknown
[21:57:53] [PASSED] VGA
[21:57:53] [PASSED] DVI-I
[21:57:53] [PASSED] DVI-D
[21:57:53] [PASSED] DVI-A
[21:57:53] [PASSED] Composite
[21:57:53] [PASSED] SVIDEO
[21:57:53] [PASSED] LVDS
[21:57:53] [PASSED] Component
[21:57:53] [PASSED] DIN
[21:57:53] [PASSED] DP
[21:57:53] [PASSED] HDMI-A
[21:57:53] [PASSED] HDMI-B
[21:57:53] [PASSED] TV
[21:57:53] [PASSED] eDP
[21:57:53] [PASSED] Virtual
[21:57:53] [PASSED] DSI
[21:57:53] [PASSED] DPI
[21:57:53] [PASSED] Writeback
[21:57:53] [PASSED] SPI
[21:57:53] [PASSED] USB
[21:57:53] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[21:57:53] =========== [PASSED] drm_connector_dynamic_init ============
[21:57:53] ==== drm_connector_dynamic_register_early (4 subtests) =====
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[21:57:53] ====== [PASSED] drm_connector_dynamic_register_early =======
[21:57:53] ======= drm_connector_dynamic_register (7 subtests) ========
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[21:57:53] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[21:57:53] ========= [PASSED] drm_connector_dynamic_register ==========
[21:57:53] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[21:57:53] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[21:57:53] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[21:57:53] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[21:57:53] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[21:57:53] ========== drm_test_get_tv_mode_from_name_valid ===========
[21:57:53] [PASSED] NTSC
[21:57:53] [PASSED] NTSC-443
[21:57:53] [PASSED] NTSC-J
[21:57:53] [PASSED] PAL
[21:57:53] [PASSED] PAL-M
[21:57:53] [PASSED] PAL-N
[21:57:53] [PASSED] SECAM
[21:57:53] [PASSED] Mono
[21:57:53] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[21:57:53] [PASSED] drm_test_get_tv_mode_from_name_truncated
[21:57:53] ============ [PASSED] drm_get_tv_mode_from_name ============
[21:57:53] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[21:57:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[21:57:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[21:57:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[21:57:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[21:57:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[21:57:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[21:57:53] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[21:57:53] [PASSED] VIC 96
[21:57:53] [PASSED] VIC 97
[21:57:53] [PASSED] VIC 101
[21:57:53] [PASSED] VIC 102
[21:57:53] [PASSED] VIC 106
[21:57:53] [PASSED] VIC 107
[21:57:53] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[21:57:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[21:57:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[21:57:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[21:57:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[21:57:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[21:57:53] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[21:57:53] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[21:57:53] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[21:57:53] [PASSED] Automatic
[21:57:53] [PASSED] Full
[21:57:53] [PASSED] Limited 16:235
[21:57:53] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[21:57:53] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[21:57:53] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[21:57:53] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[21:57:53] === drm_test_drm_hdmi_connector_get_output_format_name ====
[21:57:53] [PASSED] RGB
[21:57:53] [PASSED] YUV 4:2:0
[21:57:53] [PASSED] YUV 4:2:2
[21:57:53] [PASSED] YUV 4:4:4
[21:57:53] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[21:57:53] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[21:57:53] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[21:57:53] ============= drm_damage_helper (21 subtests) ==============
[21:57:53] [PASSED] drm_test_damage_iter_no_damage
[21:57:53] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[21:57:53] [PASSED] drm_test_damage_iter_no_damage_src_moved
[21:57:53] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[21:57:53] [PASSED] drm_test_damage_iter_no_damage_not_visible
[21:57:53] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[21:57:53] [PASSED] drm_test_damage_iter_no_damage_no_fb
[21:57:53] [PASSED] drm_test_damage_iter_simple_damage
[21:57:53] [PASSED] drm_test_damage_iter_single_damage
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_outside_src
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_src_moved
[21:57:53] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[21:57:53] [PASSED] drm_test_damage_iter_damage
[21:57:53] [PASSED] drm_test_damage_iter_damage_one_intersect
[21:57:53] [PASSED] drm_test_damage_iter_damage_one_outside
[21:57:53] [PASSED] drm_test_damage_iter_damage_src_moved
[21:57:53] [PASSED] drm_test_damage_iter_damage_not_visible
[21:57:53] ================ [PASSED] drm_damage_helper ================
[21:57:53] ============== drm_dp_mst_helper (3 subtests) ==============
[21:57:53] ============== drm_test_dp_mst_calc_pbn_mode ==============
[21:57:53] [PASSED] Clock 154000 BPP 30 DSC disabled
[21:57:53] [PASSED] Clock 234000 BPP 30 DSC disabled
[21:57:53] [PASSED] Clock 297000 BPP 24 DSC disabled
[21:57:53] [PASSED] Clock 332880 BPP 24 DSC enabled
[21:57:53] [PASSED] Clock 324540 BPP 24 DSC enabled
[21:57:53] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[21:57:53] ============== drm_test_dp_mst_calc_pbn_div ===============
[21:57:53] [PASSED] Link rate 2000000 lane count 4
[21:57:53] [PASSED] Link rate 2000000 lane count 2
[21:57:53] [PASSED] Link rate 2000000 lane count 1
[21:57:53] [PASSED] Link rate 1350000 lane count 4
[21:57:53] [PASSED] Link rate 1350000 lane count 2
[21:57:53] [PASSED] Link rate 1350000 lane count 1
[21:57:53] [PASSED] Link rate 1000000 lane count 4
[21:57:53] [PASSED] Link rate 1000000 lane count 2
[21:57:53] [PASSED] Link rate 1000000 lane count 1
[21:57:53] [PASSED] Link rate 810000 lane count 4
[21:57:53] [PASSED] Link rate 810000 lane count 2
[21:57:53] [PASSED] Link rate 810000 lane count 1
[21:57:53] [PASSED] Link rate 540000 lane count 4
[21:57:53] [PASSED] Link rate 540000 lane count 2
[21:57:53] [PASSED] Link rate 540000 lane count 1
[21:57:53] [PASSED] Link rate 270000 lane count 4
[21:57:53] [PASSED] Link rate 270000 lane count 2
[21:57:53] [PASSED] Link rate 270000 lane count 1
[21:57:53] [PASSED] Link rate 162000 lane count 4
[21:57:53] [PASSED] Link rate 162000 lane count 2
[21:57:53] [PASSED] Link rate 162000 lane count 1
[21:57:53] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[21:57:53] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[21:57:53] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[21:57:53] [PASSED] DP_POWER_UP_PHY with port number
[21:57:53] [PASSED] DP_POWER_DOWN_PHY with port number
[21:57:53] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[21:57:53] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[21:57:53] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[21:57:53] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[21:57:53] [PASSED] DP_QUERY_PAYLOAD with port number
[21:57:53] [PASSED] DP_QUERY_PAYLOAD with VCPI
[21:57:53] [PASSED] DP_REMOTE_DPCD_READ with port number
[21:57:53] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[21:57:53] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[21:57:53] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[21:57:53] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[21:57:53] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[21:57:53] [PASSED] DP_REMOTE_I2C_READ with port number
[21:57:53] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[21:57:53] [PASSED] DP_REMOTE_I2C_READ with transactions array
[21:57:53] [PASSED] DP_REMOTE_I2C_WRITE with port number
[21:57:53] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[21:57:53] [PASSED] DP_REMOTE_I2C_WRITE with data array
[21:57:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[21:57:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[21:57:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[21:57:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[21:57:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[21:57:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[21:57:53] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[21:57:53] ================ [PASSED] drm_dp_mst_helper ================
[21:57:53] ================== drm_exec (7 subtests) ===================
[21:57:53] [PASSED] sanitycheck
[21:57:53] [PASSED] test_lock
[21:57:53] [PASSED] test_lock_unlock
[21:57:53] [PASSED] test_duplicates
[21:57:53] [PASSED] test_prepare
[21:57:53] [PASSED] test_prepare_array
[21:57:53] [PASSED] test_multiple_loops
[21:57:53] ==================== [PASSED] drm_exec =====================
[21:57:53] =========== drm_format_helper_test (17 subtests) ===========
[21:57:53] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[21:57:53] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[21:57:53] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[21:57:53] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[21:57:53] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[21:57:53] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[21:57:53] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[21:57:53] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[21:57:53] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[21:57:53] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[21:57:53] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[21:57:53] ============== drm_test_fb_xrgb8888_to_mono ===============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[21:57:53] ==================== drm_test_fb_swab =====================
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ================ [PASSED] drm_test_fb_swab =================
[21:57:53] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[21:57:53] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[21:57:53] [PASSED] single_pixel_source_buffer
[21:57:53] [PASSED] single_pixel_clip_rectangle
[21:57:53] [PASSED] well_known_colors
[21:57:53] [PASSED] destination_pitch
[21:57:53] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[21:57:53] ================= drm_test_fb_clip_offset =================
[21:57:53] [PASSED] pass through
[21:57:53] [PASSED] horizontal offset
[21:57:53] [PASSED] vertical offset
[21:57:53] [PASSED] horizontal and vertical offset
[21:57:53] [PASSED] horizontal offset (custom pitch)
[21:57:53] [PASSED] vertical offset (custom pitch)
[21:57:53] [PASSED] horizontal and vertical offset (custom pitch)
[21:57:53] ============= [PASSED] drm_test_fb_clip_offset =============
[21:57:53] =================== drm_test_fb_memcpy ====================
[21:57:53] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[21:57:53] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[21:57:53] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[21:57:53] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[21:57:53] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[21:57:53] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[21:57:53] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[21:57:53] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[21:57:53] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[21:57:53] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[21:57:53] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[21:57:53] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[21:57:53] =============== [PASSED] drm_test_fb_memcpy ================
[21:57:53] ============= [PASSED] drm_format_helper_test ==============
[21:57:53] ================= drm_format (18 subtests) =================
[21:57:53] [PASSED] drm_test_format_block_width_invalid
[21:57:53] [PASSED] drm_test_format_block_width_one_plane
[21:57:53] [PASSED] drm_test_format_block_width_two_plane
[21:57:53] [PASSED] drm_test_format_block_width_three_plane
[21:57:53] [PASSED] drm_test_format_block_width_tiled
[21:57:53] [PASSED] drm_test_format_block_height_invalid
[21:57:53] [PASSED] drm_test_format_block_height_one_plane
[21:57:53] [PASSED] drm_test_format_block_height_two_plane
[21:57:53] [PASSED] drm_test_format_block_height_three_plane
[21:57:53] [PASSED] drm_test_format_block_height_tiled
[21:57:53] [PASSED] drm_test_format_min_pitch_invalid
[21:57:53] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[21:57:53] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[21:57:53] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[21:57:53] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[21:57:53] [PASSED] drm_test_format_min_pitch_two_plane
[21:57:53] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[21:57:53] [PASSED] drm_test_format_min_pitch_tiled
[21:57:53] =================== [PASSED] drm_format ====================
[21:57:53] ============== drm_framebuffer (10 subtests) ===============
[21:57:53] ========== drm_test_framebuffer_check_src_coords ==========
[21:57:53] [PASSED] Success: source fits into fb
[21:57:53] [PASSED] Fail: overflowing fb with x-axis coordinate
[21:57:53] [PASSED] Fail: overflowing fb with y-axis coordinate
[21:57:53] [PASSED] Fail: overflowing fb with source width
[21:57:53] [PASSED] Fail: overflowing fb with source height
[21:57:53] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[21:57:53] [PASSED] drm_test_framebuffer_cleanup
[21:57:53] =============== drm_test_framebuffer_create ===============
[21:57:53] [PASSED] ABGR8888 normal sizes
[21:57:53] [PASSED] ABGR8888 max sizes
[21:57:53] [PASSED] ABGR8888 pitch greater than min required
[21:57:53] [PASSED] ABGR8888 pitch less than min required
[21:57:53] [PASSED] ABGR8888 Invalid width
[21:57:53] [PASSED] ABGR8888 Invalid buffer handle
[21:57:53] [PASSED] No pixel format
[21:57:53] [PASSED] ABGR8888 Width 0
[21:57:53] [PASSED] ABGR8888 Height 0
[21:57:53] [PASSED] ABGR8888 Out of bound height * pitch combination
[21:57:53] [PASSED] ABGR8888 Large buffer offset
[21:57:53] [PASSED] ABGR8888 Buffer offset for inexistent plane
[21:57:53] [PASSED] ABGR8888 Invalid flag
[21:57:53] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[21:57:53] [PASSED] ABGR8888 Valid buffer modifier
[21:57:53] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[21:57:53] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] NV12 Normal sizes
[21:57:53] [PASSED] NV12 Max sizes
[21:57:53] [PASSED] NV12 Invalid pitch
[21:57:53] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[21:57:53] [PASSED] NV12 different modifier per-plane
[21:57:53] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[21:57:53] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] NV12 Modifier for inexistent plane
[21:57:53] [PASSED] NV12 Handle for inexistent plane
[21:57:53] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[21:57:53] [PASSED] YVU420 Normal sizes
[21:57:53] [PASSED] YVU420 Max sizes
[21:57:53] [PASSED] YVU420 Invalid pitch
[21:57:53] [PASSED] YVU420 Different pitches
[21:57:53] [PASSED] YVU420 Different buffer offsets/pitches
[21:57:53] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[21:57:53] [PASSED] YVU420 Valid modifier
[21:57:53] [PASSED] YVU420 Different modifiers per plane
[21:57:53] [PASSED] YVU420 Modifier for inexistent plane
[21:57:53] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[21:57:53] [PASSED] X0L2 Normal sizes
[21:57:53] [PASSED] X0L2 Max sizes
[21:57:53] [PASSED] X0L2 Invalid pitch
[21:57:53] [PASSED] X0L2 Pitch greater than minimum required
[21:57:53] [PASSED] X0L2 Handle for inexistent plane
[21:57:53] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[21:57:53] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[21:57:53] [PASSED] X0L2 Valid modifier
[21:57:53] [PASSED] X0L2 Modifier for inexistent plane
[21:57:53] =========== [PASSED] drm_test_framebuffer_create ===========
[21:57:53] [PASSED] drm_test_framebuffer_free
[21:57:53] [PASSED] drm_test_framebuffer_init
[21:57:53] [PASSED] drm_test_framebuffer_init_bad_format
[21:57:53] [PASSED] drm_test_framebuffer_init_dev_mismatch
[21:57:53] [PASSED] drm_test_framebuffer_lookup
[21:57:53] [PASSED] drm_test_framebuffer_lookup_inexistent
[21:57:53] [PASSED] drm_test_framebuffer_modifiers_not_supported
[21:57:53] ================= [PASSED] drm_framebuffer =================
[21:57:53] ================ drm_gem_shmem (8 subtests) ================
[21:57:53] [PASSED] drm_gem_shmem_test_obj_create
[21:57:53] [PASSED] drm_gem_shmem_test_obj_create_private
[21:57:53] [PASSED] drm_gem_shmem_test_pin_pages
[21:57:53] [PASSED] drm_gem_shmem_test_vmap
[21:57:53] [PASSED] drm_gem_shmem_test_get_pages_sgt
[21:57:53] [PASSED] drm_gem_shmem_test_get_sg_table
[21:57:53] [PASSED] drm_gem_shmem_test_madvise
[21:57:53] [PASSED] drm_gem_shmem_test_purge
[21:57:53] ================== [PASSED] drm_gem_shmem ==================
[21:57:53] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[21:57:53] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[21:57:53] [PASSED] Automatic
[21:57:53] [PASSED] Full
[21:57:53] [PASSED] Limited 16:235
[21:57:53] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[21:57:53] [PASSED] drm_test_check_disable_connector
[21:57:53] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[21:57:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[21:57:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[21:57:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[21:57:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[21:57:53] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[21:57:53] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[21:57:53] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[21:57:53] [PASSED] drm_test_check_output_bpc_dvi
[21:57:53] [PASSED] drm_test_check_output_bpc_format_vic_1
[21:57:53] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[21:57:53] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[21:57:53] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[21:57:53] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[21:57:53] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[21:57:53] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[21:57:53] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[21:57:53] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[21:57:53] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[21:57:53] [PASSED] drm_test_check_broadcast_rgb_value
[21:57:53] [PASSED] drm_test_check_bpc_8_value
[21:57:53] [PASSED] drm_test_check_bpc_10_value
[21:57:53] [PASSED] drm_test_check_bpc_12_value
[21:57:53] [PASSED] drm_test_check_format_value
[21:57:53] [PASSED] drm_test_check_tmds_char_value
[21:57:53] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[21:57:53] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[21:57:53] [PASSED] drm_test_check_mode_valid
[21:57:53] [PASSED] drm_test_check_mode_valid_reject
[21:57:53] [PASSED] drm_test_check_mode_valid_reject_rate
[21:57:53] [PASSED] drm_test_check_mode_valid_reject_max_clock
[21:57:53] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[21:57:53] ================= drm_managed (2 subtests) =================
[21:57:53] [PASSED] drm_test_managed_release_action
[21:57:53] [PASSED] drm_test_managed_run_action
[21:57:53] =================== [PASSED] drm_managed ===================
[21:57:53] =================== drm_mm (6 subtests) ====================
[21:57:53] [PASSED] drm_test_mm_init
[21:57:53] [PASSED] drm_test_mm_debug
[21:57:53] [PASSED] drm_test_mm_align32
[21:57:53] [PASSED] drm_test_mm_align64
[21:57:53] [PASSED] drm_test_mm_lowest
[21:57:53] [PASSED] drm_test_mm_highest
[21:57:53] ===================== [PASSED] drm_mm ======================
[21:57:53] ============= drm_modes_analog_tv (5 subtests) =============
[21:57:53] [PASSED] drm_test_modes_analog_tv_mono_576i
[21:57:53] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[21:57:53] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[21:57:53] [PASSED] drm_test_modes_analog_tv_pal_576i
[21:57:53] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[21:57:53] =============== [PASSED] drm_modes_analog_tv ===============
[21:57:53] ============== drm_plane_helper (2 subtests) ===============
[21:57:53] =============== drm_test_check_plane_state ================
[21:57:53] [PASSED] clipping_simple
[21:57:53] [PASSED] clipping_rotate_reflect
[21:57:53] [PASSED] positioning_simple
[21:57:53] [PASSED] upscaling
[21:57:53] [PASSED] downscaling
[21:57:53] [PASSED] rounding1
[21:57:53] [PASSED] rounding2
[21:57:53] [PASSED] rounding3
[21:57:53] [PASSED] rounding4
[21:57:53] =========== [PASSED] drm_test_check_plane_state ============
[21:57:53] =========== drm_test_check_invalid_plane_state ============
[21:57:53] [PASSED] positioning_invalid
[21:57:53] [PASSED] upscaling_invalid
[21:57:53] [PASSED] downscaling_invalid
[21:57:53] ======= [PASSED] drm_test_check_invalid_plane_state ========
[21:57:53] ================ [PASSED] drm_plane_helper =================
[21:57:53] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[21:57:53] ====== drm_test_connector_helper_tv_get_modes_check =======
[21:57:53] [PASSED] None
[21:57:53] [PASSED] PAL
[21:57:53] [PASSED] NTSC
[21:57:53] [PASSED] Both, NTSC Default
[21:57:53] [PASSED] Both, PAL Default
[21:57:53] [PASSED] Both, NTSC Default, with PAL on command-line
[21:57:53] [PASSED] Both, PAL Default, with NTSC on command-line
[21:57:53] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[21:57:53] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[21:57:53] ================== drm_rect (9 subtests) ===================
[21:57:53] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[21:57:53] [PASSED] drm_test_rect_clip_scaled_not_clipped
[21:57:53] [PASSED] drm_test_rect_clip_scaled_clipped
[21:57:53] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[21:57:53] ================= drm_test_rect_intersect =================
[21:57:53] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[21:57:53] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[21:57:53] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[21:57:53] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[21:57:53] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[21:57:53] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[21:57:53] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[21:57:53] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[21:57:53] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[21:57:53] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[21:57:53] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[21:57:53] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[21:57:53] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[21:57:53] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[21:57:53] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[21:57:53] ============= [PASSED] drm_test_rect_intersect =============
[21:57:53] ================ drm_test_rect_calc_hscale ================
[21:57:53] [PASSED] normal use
[21:57:53] [PASSED] out of max range
[21:57:53] [PASSED] out of min range
[21:57:53] [PASSED] zero dst
[21:57:53] [PASSED] negative src
[21:57:53] [PASSED] negative dst
[21:57:53] ============ [PASSED] drm_test_rect_calc_hscale ============
[21:57:53] ================ drm_test_rect_calc_vscale ================
[21:57:53] [PASSED] normal use
stty: 'standard input': Inappropriate ioctl for device
[21:57:53] [PASSED] out of max range
[21:57:53] [PASSED] out of min range
[21:57:53] [PASSED] zero dst
[21:57:53] [PASSED] negative src
[21:57:53] [PASSED] negative dst
[21:57:53] ============ [PASSED] drm_test_rect_calc_vscale ============
[21:57:53] ================== drm_test_rect_rotate ===================
[21:57:53] [PASSED] reflect-x
[21:57:53] [PASSED] reflect-y
[21:57:53] [PASSED] rotate-0
[21:57:53] [PASSED] rotate-90
[21:57:53] [PASSED] rotate-180
[21:57:53] [PASSED] rotate-270
[21:57:53] ============== [PASSED] drm_test_rect_rotate ===============
[21:57:53] ================ drm_test_rect_rotate_inv =================
[21:57:53] [PASSED] reflect-x
[21:57:53] [PASSED] reflect-y
[21:57:53] [PASSED] rotate-0
[21:57:53] [PASSED] rotate-90
[21:57:53] [PASSED] rotate-180
[21:57:53] [PASSED] rotate-270
[21:57:53] ============ [PASSED] drm_test_rect_rotate_inv =============
[21:57:53] ==================== [PASSED] drm_rect =====================
[21:57:53] ============ drm_sysfb_modeset_test (1 subtest) ============
[21:57:53] ============ drm_test_sysfb_build_fourcc_list =============
[21:57:53] [PASSED] no native formats
[21:57:53] [PASSED] XRGB8888 as native format
[21:57:53] [PASSED] remove duplicates
[21:57:53] [PASSED] convert alpha formats
[21:57:53] [PASSED] random formats
[21:57:53] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[21:57:53] ============= [PASSED] drm_sysfb_modeset_test ==============
[21:57:53] ============================================================
[21:57:53] Testing complete. Ran 622 tests: passed: 622
[21:57:53] Elapsed time: 27.073s total, 1.720s configuring, 24.880s building, 0.455s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[21:57:53] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[21:57:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[21:58:04] Starting KUnit Kernel (1/1)...
[21:58:04] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[21:58:05] ================= ttm_device (5 subtests) ==================
[21:58:05] [PASSED] ttm_device_init_basic
[21:58:05] [PASSED] ttm_device_init_multiple
[21:58:05] [PASSED] ttm_device_fini_basic
[21:58:05] [PASSED] ttm_device_init_no_vma_man
[21:58:05] ================== ttm_device_init_pools ==================
[21:58:05] [PASSED] No DMA allocations, no DMA32 required
[21:58:05] [PASSED] DMA allocations, DMA32 required
[21:58:05] [PASSED] No DMA allocations, DMA32 required
[21:58:05] [PASSED] DMA allocations, no DMA32 required
[21:58:05] ============== [PASSED] ttm_device_init_pools ==============
[21:58:05] =================== [PASSED] ttm_device ====================
[21:58:05] ================== ttm_pool (8 subtests) ===================
[21:58:05] ================== ttm_pool_alloc_basic ===================
[21:58:05] [PASSED] One page
[21:58:05] [PASSED] More than one page
[21:58:05] [PASSED] Above the allocation limit
[21:58:05] [PASSED] One page, with coherent DMA mappings enabled
[21:58:05] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[21:58:05] ============== [PASSED] ttm_pool_alloc_basic ===============
[21:58:05] ============== ttm_pool_alloc_basic_dma_addr ==============
[21:58:05] [PASSED] One page
[21:58:05] [PASSED] More than one page
[21:58:05] [PASSED] Above the allocation limit
[21:58:05] [PASSED] One page, with coherent DMA mappings enabled
[21:58:05] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[21:58:05] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[21:58:05] [PASSED] ttm_pool_alloc_order_caching_match
[21:58:05] [PASSED] ttm_pool_alloc_caching_mismatch
[21:58:05] [PASSED] ttm_pool_alloc_order_mismatch
[21:58:05] [PASSED] ttm_pool_free_dma_alloc
[21:58:05] [PASSED] ttm_pool_free_no_dma_alloc
[21:58:05] [PASSED] ttm_pool_fini_basic
[21:58:05] ==================== [PASSED] ttm_pool =====================
[21:58:05] ================ ttm_resource (8 subtests) =================
[21:58:05] ================= ttm_resource_init_basic =================
[21:58:05] [PASSED] Init resource in TTM_PL_SYSTEM
[21:58:05] [PASSED] Init resource in TTM_PL_VRAM
[21:58:05] [PASSED] Init resource in a private placement
[21:58:05] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[21:58:05] ============= [PASSED] ttm_resource_init_basic =============
[21:58:05] [PASSED] ttm_resource_init_pinned
[21:58:05] [PASSED] ttm_resource_fini_basic
[21:58:05] [PASSED] ttm_resource_manager_init_basic
[21:58:05] [PASSED] ttm_resource_manager_usage_basic
[21:58:05] [PASSED] ttm_resource_manager_set_used_basic
[21:58:05] [PASSED] ttm_sys_man_alloc_basic
[21:58:05] [PASSED] ttm_sys_man_free_basic
[21:58:05] ================== [PASSED] ttm_resource ===================
[21:58:05] =================== ttm_tt (15 subtests) ===================
[21:58:05] ==================== ttm_tt_init_basic ====================
[21:58:05] [PASSED] Page-aligned size
[21:58:05] [PASSED] Extra pages requested
[21:58:05] ================ [PASSED] ttm_tt_init_basic ================
[21:58:05] [PASSED] ttm_tt_init_misaligned
[21:58:05] [PASSED] ttm_tt_fini_basic
[21:58:05] [PASSED] ttm_tt_fini_sg
[21:58:05] [PASSED] ttm_tt_fini_shmem
[21:58:05] [PASSED] ttm_tt_create_basic
[21:58:05] [PASSED] ttm_tt_create_invalid_bo_type
[21:58:05] [PASSED] ttm_tt_create_ttm_exists
[21:58:05] [PASSED] ttm_tt_create_failed
[21:58:05] [PASSED] ttm_tt_destroy_basic
[21:58:05] [PASSED] ttm_tt_populate_null_ttm
[21:58:05] [PASSED] ttm_tt_populate_populated_ttm
[21:58:05] [PASSED] ttm_tt_unpopulate_basic
[21:58:05] [PASSED] ttm_tt_unpopulate_empty_ttm
[21:58:05] [PASSED] ttm_tt_swapin_basic
[21:58:05] ===================== [PASSED] ttm_tt ======================
[21:58:05] =================== ttm_bo (14 subtests) ===================
[21:58:05] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[21:58:05] [PASSED] Cannot be interrupted and sleeps
[21:58:05] [PASSED] Cannot be interrupted, locks straight away
[21:58:05] [PASSED] Can be interrupted, sleeps
[21:58:05] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[21:58:05] [PASSED] ttm_bo_reserve_locked_no_sleep
[21:58:05] [PASSED] ttm_bo_reserve_no_wait_ticket
[21:58:05] [PASSED] ttm_bo_reserve_double_resv
[21:58:05] [PASSED] ttm_bo_reserve_interrupted
[21:58:05] [PASSED] ttm_bo_reserve_deadlock
[21:58:05] [PASSED] ttm_bo_unreserve_basic
[21:58:05] [PASSED] ttm_bo_unreserve_pinned
[21:58:05] [PASSED] ttm_bo_unreserve_bulk
[21:58:05] [PASSED] ttm_bo_fini_basic
[21:58:05] [PASSED] ttm_bo_fini_shared_resv
[21:58:05] [PASSED] ttm_bo_pin_basic
[21:58:05] [PASSED] ttm_bo_pin_unpin_resource
[21:58:05] [PASSED] ttm_bo_multiple_pin_one_unpin
[21:58:05] ===================== [PASSED] ttm_bo ======================
[21:58:05] ============== ttm_bo_validate (21 subtests) ===============
[21:58:05] ============== ttm_bo_init_reserved_sys_man ===============
[21:58:05] [PASSED] Buffer object for userspace
[21:58:05] [PASSED] Kernel buffer object
[21:58:05] [PASSED] Shared buffer object
[21:58:05] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[21:58:05] ============== ttm_bo_init_reserved_mock_man ==============
[21:58:05] [PASSED] Buffer object for userspace
[21:58:05] [PASSED] Kernel buffer object
[21:58:05] [PASSED] Shared buffer object
[21:58:05] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[21:58:05] [PASSED] ttm_bo_init_reserved_resv
[21:58:05] ================== ttm_bo_validate_basic ==================
[21:58:05] [PASSED] Buffer object for userspace
[21:58:05] [PASSED] Kernel buffer object
[21:58:05] [PASSED] Shared buffer object
[21:58:05] ============== [PASSED] ttm_bo_validate_basic ==============
[21:58:05] [PASSED] ttm_bo_validate_invalid_placement
[21:58:05] ============= ttm_bo_validate_same_placement ==============
[21:58:05] [PASSED] System manager
[21:58:05] [PASSED] VRAM manager
[21:58:05] ========= [PASSED] ttm_bo_validate_same_placement ==========
[21:58:05] [PASSED] ttm_bo_validate_failed_alloc
[21:58:05] [PASSED] ttm_bo_validate_pinned
[21:58:05] [PASSED] ttm_bo_validate_busy_placement
[21:58:05] ================ ttm_bo_validate_multihop =================
[21:58:05] [PASSED] Buffer object for userspace
[21:58:05] [PASSED] Kernel buffer object
[21:58:05] [PASSED] Shared buffer object
[21:58:05] ============ [PASSED] ttm_bo_validate_multihop =============
[21:58:05] ========== ttm_bo_validate_no_placement_signaled ==========
[21:58:05] [PASSED] Buffer object in system domain, no page vector
[21:58:05] [PASSED] Buffer object in system domain with an existing page vector
[21:58:05] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[21:58:05] ======== ttm_bo_validate_no_placement_not_signaled ========
[21:58:05] [PASSED] Buffer object for userspace
[21:58:05] [PASSED] Kernel buffer object
[21:58:05] [PASSED] Shared buffer object
[21:58:05] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[21:58:05] [PASSED] ttm_bo_validate_move_fence_signaled
[21:58:05] ========= ttm_bo_validate_move_fence_not_signaled =========
[21:58:05] [PASSED] Waits for GPU
[21:58:05] [PASSED] Tries to lock straight away
[21:58:05] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[21:58:05] [PASSED] ttm_bo_validate_happy_evict
[21:58:05] [PASSED] ttm_bo_validate_all_pinned_evict
[21:58:05] [PASSED] ttm_bo_validate_allowed_only_evict
[21:58:05] [PASSED] ttm_bo_validate_deleted_evict
[21:58:05] [PASSED] ttm_bo_validate_busy_domain_evict
[21:58:05] [PASSED] ttm_bo_validate_evict_gutting
[21:58:05] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[21:58:05] ================= [PASSED] ttm_bo_validate =================
[21:58:05] ============================================================
[21:58:05] Testing complete. Ran 101 tests: passed: 101
[21:58:05] Elapsed time: 11.205s total, 1.654s configuring, 9.334s building, 0.179s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 29+ messages in thread* ✗ CI.checksparse: warning for Enforce DRM scheduler reclaim rules
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
` (4 preceding siblings ...)
2025-10-21 21:58 ` ✓ CI.KUnit: success " Patchwork
@ 2025-10-21 22:13 ` Patchwork
2025-10-21 22:31 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-10-22 1:46 ` ✗ Xe.CI.Full: " Patchwork
7 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-10-21 22:13 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
== Series Details ==
Series: Enforce DRM scheduler reclaim rules
URL : https://patchwork.freedesktop.org/series/156283/
State : warning
== Summary ==
+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast fb0f56ad8a2c9953c57c3337a72ccbf9c5050687
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/drm_drv.c:449:6: warning: context imbalance in 'drm_dev_enter' - different lock contexts for basic block
+drivers/gpu/drm/drm_drv.c: note: in included file (through include/linux/notifier.h, arch/x86/include/asm/uprobes.h, include/linux/uprobes.h, include/linux/mm_types.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
+drivers/gpu/drm/drm_plane.c:213:24: warning: Using plain integer as NULL pointer
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_cdclk.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2058:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2071:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2071:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2071:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_hotplug.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/gt/intel_reset.c:1569:12: warning: context imbalance in '_intel_gt_reset_lock' - different lock contexts for basic block
+drivers/gpu/drm/i915/gt/intel_sseu.c:598:17: error: too long token expansion
+drivers/gpu/drm/i915/i915_active.c:1062:16: warning: context imbalance in '__i915_active_fence_set' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: expected struct list_head const *list
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: got struct list_head [noderef] __rcu *pos
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/i915/i915_gpu_error.c:692:3: warning: symbol 'guc_hw_reg_state' was not declared. Should it be static?
+drivers/gpu/drm/i915/i915_irq.c:465:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:465:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:473:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:473:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:478:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:478:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:478:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:516:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:524:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:524:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:529:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:529:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:529:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:573:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:576:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:576:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:580:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:580:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:587:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1929:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1930:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1931:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1932:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1997:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1998:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1999:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2019:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2020:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2021:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_wakeref.c:146:19: warning: context imbalance in 'wakeref_auto_timeout' - unexpected unlock
+drivers/gpu/drm/ttm/ttm_bo.c:1198:31: warning: symbol 'ttm_swap_ops' was not declared. Should it be static?
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: expected void volatile [noderef] __iomem *addr
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: got void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: warning: incorrect type in argument 1 (different address spaces)
+./include/linux/srcu.h:389:9: warning: context imbalance in 'drm_dev_exit' - unexpected unlock
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 29+ messages in thread* ✗ Xe.CI.BAT: failure for Enforce DRM scheduler reclaim rules
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
` (5 preceding siblings ...)
2025-10-21 22:13 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-10-21 22:31 ` Patchwork
2025-10-22 1:46 ` ✗ Xe.CI.Full: " Patchwork
7 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-10-21 22:31 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 4947 bytes --]
== Series Details ==
Series: Enforce DRM scheduler reclaim rules
URL : https://patchwork.freedesktop.org/series/156283/
State : failure
== Summary ==
CI Bug Log - changes from xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687_BAT -> xe-pw-156283v1_BAT
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-156283v1_BAT absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-156283v1_BAT, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-156283v1_BAT:
### IGT changes ###
#### Possible regressions ####
* igt@core_hotunplug@unbind-rebind:
- bat-lnl-2: [PASS][1] -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-lnl-2/igt@core_hotunplug@unbind-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-lnl-2/igt@core_hotunplug@unbind-rebind.html
* igt@kms_force_connector_basic@force-connector-state:
- bat-bmg-2: [PASS][3] -> [ABORT][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-bmg-2/igt@kms_force_connector_basic@force-connector-state.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-bmg-2/igt@kms_force_connector_basic@force-connector-state.html
- bat-bmg-1: [PASS][5] -> [ABORT][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-bmg-1/igt@kms_force_connector_basic@force-connector-state.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-bmg-1/igt@kms_force_connector_basic@force-connector-state.html
- bat-dg2-oem2: [PASS][7] -> [ABORT][8]
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-dg2-oem2/igt@kms_force_connector_basic@force-connector-state.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-dg2-oem2/igt@kms_force_connector_basic@force-connector-state.html
- bat-ptl-1: [PASS][9] -> [ABORT][10]
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-ptl-1/igt@kms_force_connector_basic@force-connector-state.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-ptl-1/igt@kms_force_connector_basic@force-connector-state.html
* igt@xe_module_load@load:
- bat-ptl-2: [PASS][11] -> [ABORT][12]
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-ptl-2/igt@xe_module_load@load.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-ptl-2/igt@xe_module_load@load.html
- bat-atsm-2: [PASS][13] -> [ABORT][14]
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-atsm-2/igt@xe_module_load@load.html
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-atsm-2/igt@xe_module_load@load.html
- bat-pvc-2: [PASS][15] -> [ABORT][16]
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-pvc-2/igt@xe_module_load@load.html
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-pvc-2/igt@xe_module_load@load.html
- bat-adlp-7: [PASS][17] -> [ABORT][18]
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-adlp-7/igt@xe_module_load@load.html
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-adlp-7/igt@xe_module_load@load.html
Known issues
------------
Here are the changes found in xe-pw-156283v1_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_module_load@load:
- bat-lnl-1: [PASS][19] -> [ABORT][20] ([Intel XE#5087])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/bat-lnl-1/igt@xe_module_load@load.html
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/bat-lnl-1/igt@xe_module_load@load.html
[Intel XE#5087]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5087
Build changes
-------------
* Linux: xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687 -> xe-pw-156283v1
IGT_8594: 8594
xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687: fb0f56ad8a2c9953c57c3337a72ccbf9c5050687
xe-pw-156283v1: 156283v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/index.html
[-- Attachment #2: Type: text/html, Size: 5652 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread* ✗ Xe.CI.Full: failure for Enforce DRM scheduler reclaim rules
2025-10-21 21:39 [RFC PATCH 0/3] Enforce DRM scheduler reclaim rules Matthew Brost
` (6 preceding siblings ...)
2025-10-21 22:31 ` ✗ Xe.CI.BAT: failure " Patchwork
@ 2025-10-22 1:46 ` Patchwork
7 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2025-10-22 1:46 UTC (permalink / raw)
To: Matthew Brost; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 54665 bytes --]
== Series Details ==
Series: Enforce DRM scheduler reclaim rules
URL : https://patchwork.freedesktop.org/series/156283/
State : failure
== Summary ==
CI Bug Log - changes from xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687_FULL -> xe-pw-156283v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-156283v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-156283v1_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-156283v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_bw@linear-tiling-2-displays-2160x1440p:
- shard-bmg: NOTRUN -> [ABORT][1]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@kms_bw@linear-tiling-2-displays-2160x1440p.html
* igt@xe_pmu@engine-activity-multi-client:
- shard-bmg: [PASS][2] -> [ABORT][3] +21 other tests abort
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-8/igt@xe_pmu@engine-activity-multi-client.html
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_pmu@engine-activity-multi-client.html
* igt@xe_pmu@engine-activity-render-node-idle:
- shard-adlp: [PASS][4] -> [ABORT][5] +32 other tests abort
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-4/igt@xe_pmu@engine-activity-render-node-idle.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-3/igt@xe_pmu@engine-activity-render-node-idle.html
* igt@xe_pmu@gt-frequency:
- shard-dg2-set2: NOTRUN -> [ABORT][6] +1 other test abort
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_pmu@gt-frequency.html
* igt@xe_wedged@basic-wedged-read:
- shard-dg2-set2: [PASS][7] -> [ABORT][8] +12 other tests abort
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-463/igt@xe_wedged@basic-wedged-read.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-466/igt@xe_wedged@basic-wedged-read.html
#### Warnings ####
* igt@kms_bw@linear-tiling-3-displays-2560x1440p:
- shard-dg2-set2: [SKIP][9] ([Intel XE#367]) -> [ABORT][10]
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-436/igt@kms_bw@linear-tiling-3-displays-2560x1440p.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-436/igt@kms_bw@linear-tiling-3-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-4-displays-2160x1440p:
- shard-bmg: [SKIP][11] ([Intel XE#367]) -> [ABORT][12] +5 other tests abort
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@kms_bw@linear-tiling-4-displays-2160x1440p.html
Known issues
------------
Here are the changes found in xe-pw-156283v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-64bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#316])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-180:
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#1124]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_big_fb@yf-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb:
- shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#619])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_big_fb@yf-tiled-addfb.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs@pipe-b-dp-2:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs@pipe-b-dp-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#2907])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_chamelium_color@gamma:
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#306])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_chamelium_color@gamma.html
* igt@kms_chamelium_hpd@hdmi-hpd:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#373]) +2 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_chamelium_hpd@hdmi-hpd.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-bmg: [PASS][20] -> [SKIP][21] ([Intel XE#2291]) +2 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-bmg: [PASS][22] -> [SKIP][23] ([Intel XE#2316]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-8/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-adlp: [PASS][24] -> [DMESG-WARN][25] ([Intel XE#4543]) +2 other tests dmesg-warn
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-4/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-1/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-dg2-set2: NOTRUN -> [SKIP][26] ([Intel XE#455]) +4 other tests skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y:
- shard-adlp: [PASS][27] -> [DMESG-FAIL][28] ([Intel XE#4543])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x:
- shard-adlp: [PASS][29] -> [FAIL][30] ([Intel XE#1874])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-x.html
* igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][31] ([Intel XE#6312]) +1 other test skip
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][32] ([Intel XE#651]) +2 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-fullscreen:
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#2311])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#2313])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-slowdraw:
- shard-dg2-set2: NOTRUN -> [SKIP][35] ([Intel XE#653]) +6 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-slowdraw.html
* igt@kms_hdr@static-toggle:
- shard-bmg: [PASS][36] -> [SKIP][37] ([Intel XE#1503])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@kms_hdr@static-toggle.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_hdr@static-toggle.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2927])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-dg2-set2: NOTRUN -> [SKIP][39] ([Intel XE#5624])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-bmg: [PASS][40] -> [SKIP][41] ([Intel XE#4596])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-none.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_psr@pr-sprite-plane-move:
- shard-dg2-set2: NOTRUN -> [SKIP][42] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +3 other tests skip
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_psr@pr-sprite-plane-move.html
* igt@xe_eu_stall@blocking-read:
- shard-dg2-set2: NOTRUN -> [SKIP][43] ([Intel XE#5626])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_eu_stall@blocking-read.html
* igt@xe_eudebug@basic-exec-queues:
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#4837]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_eudebug@basic-exec-queues.html
* igt@xe_eudebug@basic-vm-access-userptr-faultable:
- shard-dg2-set2: NOTRUN -> [SKIP][45] ([Intel XE#4837]) +2 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_eudebug@basic-vm-access-userptr-faultable.html
* igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch:
- shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#288]) +6 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind-prefetch.html
* igt@xe_exec_system_allocator@many-stride-malloc-race:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#4915]) +40 other tests skip
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_exec_system_allocator@many-stride-malloc-race.html
* igt@xe_module_load@force-load:
- shard-bmg: NOTRUN -> [SKIP][48] ([Intel XE#2457])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_module_load@force-load.html
* igt@xe_module_load@many-reload:
- shard-dg2-set2: [PASS][49] -> [ABORT][50] ([Intel XE#5087])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-432/igt@xe_module_load@many-reload.html
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-435/igt@xe_module_load@many-reload.html
* igt@xe_oa@privileged-forked-access-vaddr:
- shard-dg2-set2: NOTRUN -> [SKIP][51] ([Intel XE#3573]) +2 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_oa@privileged-forked-access-vaddr.html
* igt@xe_sriov_auto_provisioning@fair-allocation:
- shard-dg2-set2: NOTRUN -> [SKIP][52] ([Intel XE#4130])
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-434/igt@xe_sriov_auto_provisioning@fair-allocation.html
#### Possible fixes ####
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-bmg: [SKIP][53] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: [INCOMPLETE][55] ([Intel XE#3862]) -> [PASS][56] +1 other test pass
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][57] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-dp-4:
- shard-dg2-set2: [INCOMPLETE][59] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-dp-4.html
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-dp-4.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
- shard-bmg: [SKIP][61] ([Intel XE#2291]) -> [PASS][62] +2 other tests pass
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
* igt@kms_flip@2x-absolute-wf_vblank:
- shard-bmg: [SKIP][63] ([Intel XE#2316]) -> [PASS][64]
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_flip@2x-absolute-wf_vblank.html
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-2/igt@kms_flip@2x-absolute-wf_vblank.html
* igt@kms_flip@basic-flip-vs-dpms:
- shard-adlp: [DMESG-WARN][65] ([Intel XE#4543]) -> [PASS][66] +2 other tests pass
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-9/igt@kms_flip@basic-flip-vs-dpms.html
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-3/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y:
- shard-adlp: [FAIL][67] ([Intel XE#1874]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y:
- shard-adlp: [DMESG-FAIL][69] ([Intel XE#4543]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y.html
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-y-to-y.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-bmg: [SKIP][71] ([Intel XE#1503]) -> [PASS][72]
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_hdr@invalid-metadata-sizes.html
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-bmg: [SKIP][73] ([Intel XE#4596]) -> [PASS][74]
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-4.html
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-4.html
* igt@xe_evict@evict-beng-mixed-many-threads-small:
- shard-bmg: [INCOMPLETE][75] ([Intel XE#6321]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-4/igt@xe_evict@evict-beng-mixed-many-threads-small.html
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-5/igt@xe_evict@evict-beng-mixed-many-threads-small.html
* igt@xe_exec_balancer@once-parallel-userptr-invalidate:
- shard-bmg: [DMESG-FAIL][77] ([Intel XE#3876]) -> [PASS][78] +2 other tests pass
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_exec_balancer@once-parallel-userptr-invalidate.html
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_exec_balancer@once-parallel-userptr-invalidate.html
* igt@xe_exec_basic@many-null-defer-bind:
- shard-bmg: [DMESG-WARN][79] ([Intel XE#3876]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_exec_basic@many-null-defer-bind.html
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_exec_basic@many-null-defer-bind.html
* igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-imm:
- shard-bmg: [FAIL][81] ([Intel XE#5625]) -> [PASS][82] +3 other tests pass
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-imm.html
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-imm.html
* igt@xe_exec_fault_mode@twice-userptr-invalidate-race-imm:
- shard-bmg: [FAIL][83] ([Intel XE#6050]) -> [PASS][84] +1 other test pass
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_exec_fault_mode@twice-userptr-invalidate-race-imm.html
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_exec_fault_mode@twice-userptr-invalidate-race-imm.html
* igt@xe_exec_reset@cm-gt-reset:
- shard-bmg: [FAIL][85] ([Intel XE#6325]) -> [PASS][86]
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_exec_reset@cm-gt-reset.html
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_exec_reset@cm-gt-reset.html
* igt@xe_exec_system_allocator@twice-mmap-new-race-nomemset:
- shard-bmg: [FAIL][87] ([Intel XE#4937] / [Intel XE#5625]) -> [PASS][88] +32 other tests pass
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_exec_system_allocator@twice-mmap-new-race-nomemset.html
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_exec_system_allocator@twice-mmap-new-race-nomemset.html
* igt@xe_pm@s2idle-exec-after:
- shard-bmg: [TIMEOUT][89] ([Intel XE#3876] / [Intel XE#6162]) -> [PASS][90]
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_pm@s2idle-exec-after.html
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_pm@s2idle-exec-after.html
* igt@xe_pm_residency@gt-c6-freeze@gt0:
- shard-bmg: [DMESG-FAIL][91] ([Intel XE#5545]) -> [PASS][92] +1 other test pass
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_pm_residency@gt-c6-freeze@gt0.html
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_pm_residency@gt-c6-freeze@gt0.html
* igt@xe_pm_residency@gt-c6-freeze@gt1:
- shard-bmg: [FAIL][93] ([Intel XE#5545]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_pm_residency@gt-c6-freeze@gt1.html
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_pm_residency@gt-c6-freeze@gt1.html
* igt@xe_vm@munmap-style-unbind-userptr-inval-front:
- shard-bmg: [INCOMPLETE][95] ([Intel XE#4842]) -> [PASS][96]
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_vm@munmap-style-unbind-userptr-inval-front.html
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_vm@munmap-style-unbind-userptr-inval-front.html
#### Warnings ####
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180:
- shard-adlp: [DMESG-FAIL][97] ([Intel XE#4543]) -> [DMESG-FAIL][98] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180.html
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-9/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180.html
* igt@kms_flip@flip-vs-panning-vs-hang@d-hdmi-a1:
- shard-adlp: [DMESG-WARN][99] ([Intel XE#4543]) -> [TIMEOUT][100] ([Intel XE#4543]) +1 other test timeout
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-8/igt@kms_flip@flip-vs-panning-vs-hang@d-hdmi-a1.html
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-2/igt@kms_flip@flip-vs-panning-vs-hang@d-hdmi-a1.html
* igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw:
- shard-bmg: [SKIP][101] ([Intel XE#2311]) -> [SKIP][102] ([Intel XE#2312]) +4 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-8/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt:
- shard-bmg: [SKIP][103] ([Intel XE#2312]) -> [SKIP][104] ([Intel XE#5390]) +1 other test skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][105] ([Intel XE#5390]) -> [SKIP][106] ([Intel XE#2312]) +2 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][107] ([Intel XE#2312]) -> [SKIP][108] ([Intel XE#2311]) +7 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff:
- shard-bmg: [SKIP][109] ([Intel XE#2313]) -> [SKIP][110] ([Intel XE#2312]) +6 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen:
- shard-bmg: [SKIP][111] ([Intel XE#2312]) -> [SKIP][112] ([Intel XE#2313]) +6 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][113], [PASS][114], [PASS][115], [PASS][116], [PASS][117], [PASS][118], [PASS][119], [SKIP][120], [PASS][121], [PASS][122], [PASS][123], [PASS][124], [PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138]) ([Intel XE#378]) -> ([ABORT][139], [ABORT][140], [ABORT][141], [ABORT][142], [ABORT][143], [ABORT][144], [ABORT][145], [ABORT][146], [ABORT][147], [ABORT][148], [ABORT][149], [ABORT][150], [ABORT][151], [ABORT][152], [ABORT][153], [ABORT][154], [ABORT][155], [ABORT][156], [ABORT][157], [ABORT][158], [ABORT][159], [ABORT][160], [ABORT][161], [ABORT][162], [ABORT][163]) ([Intel XE#5087])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-7/igt@xe_module_load@load.html
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-7/igt@xe_module_load@load.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-2/igt@xe_module_load@load.html
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-8/igt@xe_module_load@load.html
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-8/igt@xe_module_load@load.html
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-1/igt@xe_module_load@load.html
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-1/igt@xe_module_load@load.html
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-8/igt@xe_module_load@load.html
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-7/igt@xe_module_load@load.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-1/igt@xe_module_load@load.html
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-8/igt@xe_module_load@load.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-2/igt@xe_module_load@load.html
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-2/igt@xe_module_load@load.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-4/igt@xe_module_load@load.html
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-3/igt@xe_module_load@load.html
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-3/igt@xe_module_load@load.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-7/igt@xe_module_load@load.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-5/igt@xe_module_load@load.html
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-5/igt@xe_module_load@load.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-5/igt@xe_module_load@load.html
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-3/igt@xe_module_load@load.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-4/igt@xe_module_load@load.html
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-4/igt@xe_module_load@load.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-3/igt@xe_module_load@load.html
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-4/igt@xe_module_load@load.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-lnl-8/igt@xe_module_load@load.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-8/igt@xe_module_load@load.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-8/igt@xe_module_load@load.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-1/igt@xe_module_load@load.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-7/igt@xe_module_load@load.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-7/igt@xe_module_load@load.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-7/igt@xe_module_load@load.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-7/igt@xe_module_load@load.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-5/igt@xe_module_load@load.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-5/igt@xe_module_load@load.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-4/igt@xe_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-4/igt@xe_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-4/igt@xe_module_load@load.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-4/igt@xe_module_load@load.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-5/igt@xe_module_load@load.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-8/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-8/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-3/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-3/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-3/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-1/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-1/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-2/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-2/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-2/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-lnl-2/igt@xe_module_load@load.html
- shard-bmg: ([PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172], [PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [PASS][181], [PASS][182], [PASS][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [SKIP][189]) ([Intel XE#2457]) -> ([PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198], [PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [ABORT][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [SKIP][212], [PASS][213], [PASS][214]) ([Intel XE#2457] / [Intel XE#5087])
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-5/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-7/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-8/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-5/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-5/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-1/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-1/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-6/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-4/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-4/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-4/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-2/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-7/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-7/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-8/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-8/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-3/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-1/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-1/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-1/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-1/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-2/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-3/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-4/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@xe_module_load@load.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-4/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-4/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-5/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-5/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-3/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-4/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-8/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-1/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-2/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-5/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-7/igt@xe_module_load@load.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-6/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-3/igt@xe_module_load@load.html
- shard-dg2-set2: ([PASS][215], [PASS][216], [PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223], [SKIP][224], [PASS][225], [PASS][226], [PASS][227], [PASS][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238], [PASS][239], [PASS][240]) ([Intel XE#378]) -> ([ABORT][241], [ABORT][242], [PASS][243], [ABORT][244], [PASS][245], [ABORT][246], [PASS][247], [PASS][248], [ABORT][249], [PASS][250], [SKIP][251], [PASS][252], [PASS][253], [PASS][254], [PASS][255], [PASS][256], [PASS][257], [ABORT][258], [PASS][259], [PASS][260], [ABORT][261], [ABORT][262], [ABORT][263], [PASS][264], [PASS][265], [PASS][266]) ([Intel XE#378] / [Intel XE#5087])
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-434/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-434/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-434/igt@xe_module_load@load.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-433/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-432/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-432/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-436/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-434/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-433/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-466/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-436/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-435/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-433/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-464/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-463/igt@xe_module_load@load.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-466/igt@xe_module_load@load.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-466/igt@xe_module_load@load.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-463/igt@xe_module_load@load.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-435/igt@xe_module_load@load.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-435/igt@xe_module_load@load.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-432/igt@xe_module_load@load.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-464/igt@xe_module_load@load.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-466/igt@xe_module_load@load.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-463/igt@xe_module_load@load.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-463/igt@xe_module_load@load.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-dg2-432/igt@xe_module_load@load.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-434/igt@xe_module_load@load.html
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-434/igt@xe_module_load@load.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-434/igt@xe_module_load@load.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-435/igt@xe_module_load@load.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-435/igt@xe_module_load@load.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-435/igt@xe_module_load@load.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-434/igt@xe_module_load@load.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-464/igt@xe_module_load@load.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-464/igt@xe_module_load@load.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-464/igt@xe_module_load@load.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-436/igt@xe_module_load@load.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-432/igt@xe_module_load@load.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-436/igt@xe_module_load@load.html
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-436/igt@xe_module_load@load.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-436/igt@xe_module_load@load.html
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-466/igt@xe_module_load@load.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-466/igt@xe_module_load@load.html
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-463/igt@xe_module_load@load.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-463/igt@xe_module_load@load.html
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-435/igt@xe_module_load@load.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-435/igt@xe_module_load@load.html
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-463/igt@xe_module_load@load.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_module_load@load.html
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_module_load@load.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-433/igt@xe_module_load@load.html
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-dg2-432/igt@xe_module_load@load.html
* igt@xe_pmu@all-fn-engine-activity-load@engine-drm_xe_engine_class_render0:
- shard-adlp: [TIMEOUT][267] ([Intel XE#5213] / [Intel XE#6421]) -> [ABORT][268] ([Intel XE#5545]) +1 other test abort
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-adlp-1/igt@xe_pmu@all-fn-engine-activity-load@engine-drm_xe_engine_class_render0.html
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-adlp-3/igt@xe_pmu@all-fn-engine-activity-load@engine-drm_xe_engine_class_render0.html
* igt@xe_pmu@fn-engine-activity-sched-if-idle:
- shard-bmg: [DMESG-WARN][269] ([Intel XE#3876]) -> [ABORT][270] ([Intel XE#3970])
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687/shard-bmg-7/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/shard-bmg-5/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4842]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4842
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4937
[Intel XE#5087]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5087
[Intel XE#5213]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5213
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
[Intel XE#5624]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5624
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
[Intel XE#6050]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6050
[Intel XE#6162]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6162
[Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
[Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
[Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321
[Intel XE#6325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6325
[Intel XE#6421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6421
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
Build changes
-------------
* Linux: xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687 -> xe-pw-156283v1
IGT_8594: 8594
xe-3961-fb0f56ad8a2c9953c57c3337a72ccbf9c5050687: fb0f56ad8a2c9953c57c3337a72ccbf9c5050687
xe-pw-156283v1: 156283v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156283v1/index.html
[-- Attachment #2: Type: text/html, Size: 59814 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread