All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] drm/xe: Per client usage
@ 2024-04-16  3:04 Lucas De Marchi
  2024-04-16  3:04 ` [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
                   ` (15 more replies)
  0 siblings, 16 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Add per-client usage statistics to xe. This ports xe to use the common
method in drm to export the usage to userspace per client (where 1
client == 1 drm fd open).

However insted of using the current format, this creates a new one with
the unit "ticks". The intention here is not to mix the GPU clock domain
with the CPU clock. It allows to cover a few more use cases without
extra complications.

Last patch was a quick implemenation of a gputop-like tool in python.
I ended doing it to cross check the gputop implementation. I's not
really meant to be applied here.

I tested this on DG2 and TGL with kmscube (console-only) and vkcube
(in a gnome session), but it would be good to soak this under more
tests. The biggest goal for this patch series right now is to get
consensus on the new UAPI.

TODO: Add documentation on top with the new interface.

Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/

Lucas De Marchi (5):
  drm/xe: Promote xe_hw_engine_class_to_str()
  drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
  drm/xe: Add helper to capture engine timestamp
  drm/xe/client: Print runtime to fdinfo
  HACK: simple gputop-like impl in python

Umesh Nerlige Ramappa (2):
  drm/xe/lrc: Add helper to capture context timestamp
  drm/xe: Add helper to capture context runtime

 drivers/gpu/drm/xe/regs/xe_lrc_layout.h       |   1 +
 drivers/gpu/drm/xe/xe_device_types.h          |   9 ++
 drivers/gpu/drm/xe/xe_drm_client.c            |  81 ++++++++++++-
 drivers/gpu/drm/xe/xe_exec_queue.c            |  37 ++++++
 drivers/gpu/drm/xe/xe_exec_queue.h            |   1 +
 drivers/gpu/drm/xe/xe_hw_engine.c             |  29 +++++
 drivers/gpu/drm/xe/xe_hw_engine.h             |   4 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c |  18 ---
 drivers/gpu/drm/xe/xe_lrc.c                   |  11 ++
 drivers/gpu/drm/xe/xe_lrc.h                   |   2 +
 drivers/gpu/drm/xe/xe_lrc_types.h             |   3 +
 drivers/gpu/drm/xe/xe_sched_job.c             |   2 +
 pyfdinfo                                      | 113 ++++++++++++++++++
 13 files changed, 292 insertions(+), 19 deletions(-)
 create mode 100755 pyfdinfo

-- 
2.43.0


^ permalink raw reply	[flat|nested] 46+ messages in thread

* [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16  3:04 ` [PATCH 2/7] drm/xe: Add helper to capture context runtime Lucas De Marchi
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Add a helper to capture CTX_TIMESTAMP from the context image so it can
be used to calculate the runtime.

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h |  1 +
 drivers/gpu/drm/xe/xe_lrc.c             | 11 +++++++++++
 drivers/gpu/drm/xe/xe_lrc.h             |  2 ++
 drivers/gpu/drm/xe/xe_lrc_types.h       |  3 +++
 4 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
index 1825d8f79db6..8780e6c6b649 100644
--- a/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
+++ b/drivers/gpu/drm/xe/regs/xe_lrc_layout.h
@@ -11,6 +11,7 @@
 #define CTX_RING_TAIL			(0x06 + 1)
 #define CTX_RING_START			(0x08 + 1)
 #define CTX_RING_CTL			(0x0a + 1)
+#define CTX_TIMESTAMP			(0x22 + 1)
 #define CTX_PDP0_UDW			(0x30 + 1)
 #define CTX_PDP0_LDW			(0x32 + 1)
 
diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
index 615bbc372ac6..4bfd8f9c3b46 100644
--- a/drivers/gpu/drm/xe/xe_lrc.c
+++ b/drivers/gpu/drm/xe/xe_lrc.c
@@ -751,6 +751,7 @@ int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 	lrc->tile = gt_to_tile(hwe->gt);
 	lrc->ring.size = ring_size;
 	lrc->ring.tail = 0;
+	lrc->ctx_timestamp = 0;
 
 	xe_hw_fence_ctx_init(&lrc->fence_ctx, hwe->gt,
 			     hwe->fence_irq, hwe->name);
@@ -786,6 +787,7 @@ int xe_lrc_init(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 			xe_drm_client_add_bo(vm->xef->client, lrc->bo);
 	}
 
+	xe_lrc_write_ctx_reg(lrc, CTX_TIMESTAMP, 0);
 	xe_lrc_write_ctx_reg(lrc, CTX_RING_START, __xe_lrc_ring_ggtt_addr(lrc));
 	xe_lrc_write_ctx_reg(lrc, CTX_RING_HEAD, 0);
 	xe_lrc_write_ctx_reg(lrc, CTX_RING_TAIL, lrc->ring.tail);
@@ -1444,3 +1446,12 @@ void xe_lrc_snapshot_free(struct xe_lrc_snapshot *snapshot)
 		xe_bo_put(snapshot->lrc_bo);
 	kfree(snapshot);
 }
+
+u32 xe_lrc_update_timestamp(struct xe_lrc *lrc, u32 *old_ts)
+{
+	*old_ts = lrc->ctx_timestamp;
+
+	lrc->ctx_timestamp = xe_lrc_read_ctx_reg(lrc, CTX_TIMESTAMP);
+
+	return lrc->ctx_timestamp;
+}
diff --git a/drivers/gpu/drm/xe/xe_lrc.h b/drivers/gpu/drm/xe/xe_lrc.h
index d32fa31faa2c..ed8af14bd0c0 100644
--- a/drivers/gpu/drm/xe/xe_lrc.h
+++ b/drivers/gpu/drm/xe/xe_lrc.h
@@ -60,4 +60,6 @@ void xe_lrc_snapshot_capture_delayed(struct xe_lrc_snapshot *snapshot);
 void xe_lrc_snapshot_print(struct xe_lrc_snapshot *snapshot, struct drm_printer *p);
 void xe_lrc_snapshot_free(struct xe_lrc_snapshot *snapshot);
 
+u32 xe_lrc_update_timestamp(struct xe_lrc *lrc, u32 *old_ts);
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_lrc_types.h b/drivers/gpu/drm/xe/xe_lrc_types.h
index b716df0dfb4e..5765d771b901 100644
--- a/drivers/gpu/drm/xe/xe_lrc_types.h
+++ b/drivers/gpu/drm/xe/xe_lrc_types.h
@@ -41,6 +41,9 @@ struct xe_lrc {
 
 	/** @fence_ctx: context for hw fence */
 	struct xe_hw_fence_ctx fence_ctx;
+
+	/** @ctx_timestamp: readout value of CTX_TIMESTAMP on last update */
+	u32 ctx_timestamp;
 };
 
 struct xe_lrc_snapshot;
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCH 2/7] drm/xe: Add helper to capture context runtime
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
  2024-04-16  3:04 ` [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16  5:26   ` Vivekanandan, Balasubramani
  2024-04-16  3:04 ` [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
                   ` (13 subsequent siblings)
  15 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Add a helper to update the runtime of an exec_queue accumulate it at 2
places:

1. when the exec_queue is destroyed
2. when the sched job is completed

Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
 drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
 drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
 4 files changed, 49 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 60ced5f90c2b..f6632b4d8399 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -553,6 +553,15 @@ struct xe_file {
 		struct mutex lock;
 	} exec_queue;
 
+	/**
+	 * @runtime: hw engine class runtime in ticks for this drm client
+	 *
+	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
+	 * case, since all jobs run in parallel on the engines, only the stats
+	 * from lrc[0] are sufficient.
+	 */
+	u64 runtime[XE_ENGINE_CLASS_MAX];
+
 	/** @client: drm client */
 	struct xe_drm_client *client;
 };
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index 71bd52dfebcf..c752d292fd33 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
 {
 	int i;
 
+	xe_exec_queue_update_runtime(q);
+
 	for (i = 0; i < q->width; ++i)
 		xe_lrc_finish(q->lrc + i);
 	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
@@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
 		q->lrc[0].fence_ctx.next_seqno - 1;
 }
 
+/**
+ * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
+ * @q: The exec queue
+ *
+ * Update the timestamp saved by HW for this exec queue and save runtime
+ * calculated by using the delta from last update. On multi-lrc case, only the
+ * first is considered.
+ */
+void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
+{
+	struct xe_file *xef;
+	struct xe_lrc *lrc;
+	u32 old_ts, new_ts;
+
+	/*
+	 * Jobs that are run during driver load may use an exec_queue, but are
+	 * not associated with a user xe file, so avoid accumulating busyness
+	 * for kernel specific work.
+	 */
+	if (!q->vm || !q->vm->xef)
+		return;
+
+	xef = q->vm->xef;
+	lrc = &q->lrc[0];
+
+	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
+
+	/*
+	 * Special case the very first timestamp: we don't want the
+	 * initial delta to be a huge value
+	 */
+	if (old_ts)
+		xef->runtime[q->class] += new_ts - old_ts;
+}
+
 void xe_exec_queue_kill(struct xe_exec_queue *q)
 {
 	struct xe_exec_queue *eq = q, *next;
diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
index 02ce8d204622..45b72daa2db3 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.h
+++ b/drivers/gpu/drm/xe/xe_exec_queue.h
@@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
 					       struct xe_vm *vm);
 void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
 				  struct dma_fence *fence);
+void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
 
 #endif
diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
index 80daee910ae9..48bcede63d35 100644
--- a/drivers/gpu/drm/xe/xe_sched_job.c
+++ b/drivers/gpu/drm/xe/xe_sched_job.c
@@ -241,6 +241,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
 {
 	struct xe_lrc *lrc = job->q->lrc;
 
+	xe_exec_queue_update_runtime(job->q);
+
 	/*
 	 * Can safely check just LRC[0] seqno as that is last seqno written when
 	 * parallel handshake is done.
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str()
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
  2024-04-16  3:04 ` [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
  2024-04-16  3:04 ` [PATCH 2/7] drm/xe: Add helper to capture context runtime Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16  9:36   ` Nirmoy Das
  2024-04-16  3:04 ` [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
                   ` (12 subsequent siblings)
  15 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Move it out of the sysfs compilation unit so it can be re-used in other
places.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c             | 18 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_hw_engine.h             |  2 ++
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 18 ------------------
 3 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index a688bb2d96ce..8f72f324eee7 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -959,3 +959,21 @@ bool xe_hw_engine_is_reserved(struct xe_hw_engine *hwe)
 	return xe->info.has_usm && hwe->class == XE_ENGINE_CLASS_COPY &&
 		hwe->instance == gt->usm.reserved_bcs_instance;
 }
+
+const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
+{
+	switch (class) {
+	case XE_ENGINE_CLASS_RENDER:
+		return "rcs";
+	case XE_ENGINE_CLASS_VIDEO_DECODE:
+		return "vcs";
+	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
+		return "vecs";
+	case XE_ENGINE_CLASS_COPY:
+		return "bcs";
+	case XE_ENGINE_CLASS_COMPUTE:
+		return "ccs";
+	default:
+		return NULL;
+	}
+}
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
index 71968ee2f600..843de159e47c 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.h
+++ b/drivers/gpu/drm/xe/xe_hw_engine.h
@@ -67,4 +67,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
 	return hwe->name;
 }
 
+const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
+
 #endif
diff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
index c5084d94c442..4e9db6299c7c 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
@@ -624,24 +624,6 @@ static void hw_engine_class_sysfs_fini(struct drm_device *drm, void *arg)
 	kobject_put(kobj);
 }
 
-static const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
-{
-	switch (class) {
-	case XE_ENGINE_CLASS_RENDER:
-		return "rcs";
-	case XE_ENGINE_CLASS_VIDEO_DECODE:
-		return "vcs";
-	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
-		return "vecs";
-	case XE_ENGINE_CLASS_COPY:
-		return "bcs";
-	case XE_ENGINE_CLASS_COMPUTE:
-		return "ccs";
-	default:
-		return NULL;
-	}
-}
-
 /**
  * xe_hw_engine_class_sysfs_init - Init HW engine classes on GT.
  * @gt: Xe GT.
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (2 preceding siblings ...)
  2024-04-16  3:04 ` [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16  9:37   ` Nirmoy Das
  2024-04-16  3:04 ` [PATCH 5/7] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
                   ` (11 subsequent siblings)
  15 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

XE_ENGINE_CLASS_OTHER was missing from the str conversion. Add it and
remove the default handling so it's protected by -Wswitch-enum.
Currently the only user is xe_hw_engine_class_sysfs_init(), which
already skips XE_ENGINE_CLASS_OTHER, so there's no change in behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index 8f72f324eee7..ab227fa8984a 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -971,9 +971,13 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
 		return "vecs";
 	case XE_ENGINE_CLASS_COPY:
 		return "bcs";
+	case XE_ENGINE_CLASS_OTHER:
+		return "other";
 	case XE_ENGINE_CLASS_COMPUTE:
 		return "ccs";
-	default:
-		return NULL;
+	case XE_ENGINE_CLASS_MAX:
+		break;
 	}
+
+	return NULL;
 }
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCH 5/7] drm/xe: Add helper to capture engine timestamp
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (3 preceding siblings ...)
  2024-04-16  3:04 ` [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16 22:56   ` Umesh Nerlige Ramappa
  2024-04-16  3:04 ` [PATCH 6/7] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
                   ` (10 subsequent siblings)
  15 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Just like CTX_TIMESTAMP is used to calculate runtime, add a helper to
get the timestamp for the engine so it can be used to calculate the
"engine time" with the same unit as the runtime is recorded.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_hw_engine.c | 7 +++++++
 drivers/gpu/drm/xe/xe_hw_engine.h | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index ab227fa8984a..528b271c9f23 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -981,3 +981,10 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
 
 	return NULL;
 }
+
+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
+{
+	struct xe_reg reg = RING_TIMESTAMP(hwe->mmio_base);
+
+	return xe_mmio_read64_2x32(hwe->gt, reg);
+}
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
index 843de159e47c..41cd0cd71ae0 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.h
+++ b/drivers/gpu/drm/xe/xe_hw_engine.h
@@ -69,4 +69,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
 
 const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
 
+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe);
+
 #endif
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCH 6/7] drm/xe/client: Print runtime to fdinfo
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (4 preceding siblings ...)
  2024-04-16  3:04 ` [PATCH 5/7] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16 23:20   ` Umesh Nerlige Ramappa
  2024-04-16  3:04 ` [PATCH 7/7] HACK: simple gputop-like impl in python Lucas De Marchi
                   ` (9 subsequent siblings)
  15 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Print the accumulated runtime, per client, when printing fdinfo.
Each time a query is done it first does 2 things:

1) loop through all the exec queues for the current client and
   accumulates the runtime, per engine class. CTX_TIMESTAMP is used for
   that, being read from the context image.

2) Read a "GPU timestamp" that can be used for considering "how much GPU
   time has passed" and that has the same unit/ref-clock as the one
   recording the runtime. RING_TIMESTAMP is used for that via MMIO.

This second part is done once per engine class, since it's a register
that is replicated on all engines. It is however the same stamp. At
least for the current GPUs this was tested one. It may be simplified,
but in order to play safe and avoid the cases the clock is different in
future for primary/media GTs, or across engine classes, just read it per
class.

This is exported to userspace as 2 numbers in fdinfo:

	drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks

Userspace is expected to collect at least 2 samples, which allows to
know the engine busyness as per:

		    RUNTIME1 - RUNTIME0
	busyness = ---------------------
			  T1 - T0

When calculating the overall system busyness, userspace can loop through
all the clients and add up all the numbers.  Since the GPU timestamp
will be a little bit different, it's expected some fluctuation on
accuracy, but that may be improved with a better hardware/GuC interface
in future, maintaining the UAPI.

Another thing to point out is that it's expected that userspace reads
any 2 samples every few seconds.  Given the update frequency of the
counters involved and that CTX_TIMESTAMP is 32b, it is expect to wrap
every 25 ~ 30 seconds.  This could be mitigated by adding a workqueue to
accumulate the counters every so often, but it's additional complexity
for something that is done already by userspace every few seconds in
tools like gputop (from igt), htop, nvtop, etc.

Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 drivers/gpu/drm/xe/xe_drm_client.c | 81 +++++++++++++++++++++++++++++-
 1 file changed, 80 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
index 08f0b7c95901..79eb453bfb14 100644
--- a/drivers/gpu/drm/xe/xe_drm_client.c
+++ b/drivers/gpu/drm/xe/xe_drm_client.c
@@ -2,6 +2,7 @@
 /*
  * Copyright © 2023 Intel Corporation
  */
+#include "xe_drm_client.h"
 
 #include <drm/drm_print.h>
 #include <drm/xe_drm.h>
@@ -12,7 +13,10 @@
 #include "xe_bo.h"
 #include "xe_bo_types.h"
 #include "xe_device_types.h"
-#include "xe_drm_client.h"
+#include "xe_exec_queue.h"
+#include "xe_gt.h"
+#include "xe_hw_engine.h"
+#include "xe_pm.h"
 #include "xe_trace.h"
 
 /**
@@ -179,6 +183,80 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
 	}
 }
 
+static const u64 class_to_mask[] = {
+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
+};
+
+static void show_runtime(struct drm_printer *p, struct drm_file *file)
+{
+	struct xe_file *xef = file->driver_priv;
+	struct xe_device *xe = xef->xe;
+	struct xe_gt *gt;
+	struct xe_hw_engine *hwe;
+	struct xe_exec_queue *q;
+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
+	u64 gpu_timestamp, engine_mask = 0;
+	bool gpu_stamp = false;
+
+	xe_pm_runtime_get(xe);
+
+	mutex_lock(&xef->exec_queue.lock);
+	xa_for_each(&xef->exec_queue.xa, i, q)
+		xe_exec_queue_update_runtime(q);
+	mutex_unlock(&xef->exec_queue.lock);
+
+	for_each_gt(gt, xe, id_gt)
+		engine_mask |= gt->info.engine_mask;
+
+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
+
+	/*
+	 * Iterate over all engines, printing the accumulated
+	 * runtime for this xef per engine class
+	 */
+	for_each_gt(gt, xe, id_gt) {
+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+		for_each_hw_engine(hwe, gt, id_hwe) {
+			const char *class_name;
+
+			if (!capacity[hwe->class])
+				continue;
+
+			/*
+			 * Use any (first) engine to have a timestamp to be used every
+			 * time
+			 */
+			if (!gpu_stamp) {
+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
+				gpu_stamp = true;
+			}
+
+			class_name = xe_hw_engine_class_to_str(hwe->class);
+
+			drm_printf(p, "drm-engine-%s:\t%llu %llu ticks\n",
+				   class_name, gpu_timestamp,
+				   xef->runtime[hwe->class]);
+
+			if (capacity[hwe->class] > 1)
+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
+					   class_name, capacity[hwe->class]);
+
+			/* engine class already handled, skip next iterations */
+			capacity[hwe->class] = 0;
+		}
+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+	}
+
+	xe_pm_runtime_get(xe);
+}
+
 /**
  * xe_drm_client_fdinfo() - Callback for fdinfo interface
  * @p: The drm_printer ptr
@@ -192,5 +270,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
 void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
 {
 	show_meminfo(p, file);
+	show_runtime(p, file);
 }
 #endif
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* [PATCH 7/7] HACK: simple gputop-like impl in python
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (5 preceding siblings ...)
  2024-04-16  3:04 ` [PATCH 6/7] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
@ 2024-04-16  3:04 ` Lucas De Marchi
  2024-04-16  3:17 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage Patchwork
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
---
 pyfdinfo | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)
 create mode 100755 pyfdinfo

diff --git a/pyfdinfo b/pyfdinfo
new file mode 100755
index 000000000000..c01d1a399c2f
--- /dev/null
+++ b/pyfdinfo
@@ -0,0 +1,113 @@
+#!/usr/bin/python
+
+import dataclasses
+import pathlib
+import os
+import sys
+import typing
+import time
+
+@dataclasses.dataclass
+class ClientState():
+    g_stamp : int
+    c_stamp : int
+    c_runtime : int
+    g_runtime : int
+    visited : bool
+    engine: str
+
+def proc_fddir():
+    for child in pathlib.Path('/proc').iterdir():
+        if child.is_dir() and child.name.isnumeric():
+            yield child / "fd"
+
+
+def drm_fd(pfddir):
+    for child in pfddir.iterdir():
+        if not child.is_symlink() or not child.name.isnumeric() or not child.is_char_device():
+            continue
+
+        major = os.major(child.stat(follow_symlinks=True).st_rdev)
+        if major == 226:
+            yield child
+
+
+def drm_clients():
+    for fd in proc_fddir():
+        for dfd in drm_fd(fd):
+            yield dfd.parent.parent / "fdinfo" / dfd.name
+
+
+def sample(clients):
+    for c in clients.values():
+        c.visited = False
+
+    for c in drm_clients():
+        for line in c.read_text().splitlines():
+            # ignore capacity for now
+            if line.startswith("drm-engine-capacity-"):
+                continue
+
+            if not line.startswith("drm-engine-"):
+                continue
+
+            sl = line.split()
+            engine = sl[0][len("drm-engine-"):].split(":")[0]
+
+            cs_new = ClientState(int(sl[1]), int(sl[2]), 0, 0, True, engine)
+            cs = clients.get(c / engine)
+            if cs is None:
+                clients[c / engine] = cs_new
+            else:
+                cs.g_runtime = cs_new.g_stamp - cs.g_stamp
+                cs.c_runtime = cs_new.c_stamp - cs.c_stamp
+
+                cs.g_stamp = cs_new.g_stamp
+                cs.c_stamp = cs_new.c_stamp
+
+                cs.visited = True
+
+            #print(f"{str(c):<25} g={sl[1]:<12} t={sl[2]:16}")
+
+    # the reaper
+    for ck in list(clients.keys()):
+        if not clients[ck].visited:
+            del clients[ck]
+
+
+def clrscr():
+    print("\033[H\033[J")
+
+
+def main():
+    clients = dict()
+
+    sample(clients)
+
+    while True:
+        prev_parent = None
+        sample(clients)
+
+        clrscr()
+
+        for k, c in clients.items():
+            # skip clients with just one sample
+            if not c.visited:
+                continue
+
+            if k.parent != prev_parent:
+                print()
+            prev_parent = k.parent
+
+            g = c.g_runtime or c.g_runtime + 1
+
+            print(f"{str(k):<25} {((c.c_runtime / g) * 100):.2f} %")
+
+        time.sleep(2)
+
+
+if __name__ == "__main__":
+    try:
+        main()
+    except KeyboardInterrupt:
+        pass
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 46+ messages in thread

* ✓ CI.Patch_applied: success for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (6 preceding siblings ...)
  2024-04-16  3:04 ` [PATCH 7/7] HACK: simple gputop-like impl in python Lucas De Marchi
@ 2024-04-16  3:17 ` Patchwork
  2024-04-16  3:17 ` ✗ CI.checkpatch: warning " Patchwork
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:17 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 5f7597e990be drm-tip: 2024y-04m-16d-01h-07m-54s UTC integration manifest
=== git am output follows ===
Applying: drm/xe/lrc: Add helper to capture context timestamp
Applying: drm/xe: Add helper to capture context runtime
Applying: drm/xe: Promote xe_hw_engine_class_to_str()
Applying: drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
Applying: drm/xe: Add helper to capture engine timestamp
Applying: drm/xe/client: Print runtime to fdinfo
Applying: HACK: simple gputop-like impl in python



^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✗ CI.checkpatch: warning for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (7 preceding siblings ...)
  2024-04-16  3:17 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage Patchwork
@ 2024-04-16  3:17 ` Patchwork
  2024-04-16  3:18 ` ✓ CI.KUnit: success " Patchwork
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:17 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
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
35057f376b5337039b258ae4c66ed9218f4b3fb8
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 2797c619f7ae7ece8e38c38079ca6711fe41ade9
Author: Lucas De Marchi <lucas.demarchi@intel.com>
Date:   Mon Apr 15 20:04:54 2024 -0700

    HACK: simple gputop-like impl in python
    
    Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
+ /mt/dim checkpatch 5f7597e990bea547bd1261170497e7476fb781bb drm-intel
85365847056a drm/xe/lrc: Add helper to capture context timestamp
d182c2488219 drm/xe: Add helper to capture context runtime
04c34ca451d9 drm/xe: Promote xe_hw_engine_class_to_str()
0fda308cec94 drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
2f07c3f1d009 drm/xe: Add helper to capture engine timestamp
c2bc78b97a7d drm/xe/client: Print runtime to fdinfo
-:49: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#49: 
Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/

-:81: ERROR:CODE_INDENT: code indent should use tabs where possible
#81: FILE: drivers/gpu/drm/xe/xe_drm_client.c:187:
+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,$

-:81: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#81: FILE: drivers/gpu/drm/xe/xe_drm_client.c:187:
+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,$

-:82: ERROR:CODE_INDENT: code indent should use tabs where possible
#82: FILE: drivers/gpu/drm/xe/xe_drm_client.c:188:
+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,$

-:82: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#82: FILE: drivers/gpu/drm/xe/xe_drm_client.c:188:
+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,$

-:83: ERROR:CODE_INDENT: code indent should use tabs where possible
#83: FILE: drivers/gpu/drm/xe/xe_drm_client.c:189:
+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,$

-:83: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#83: FILE: drivers/gpu/drm/xe/xe_drm_client.c:189:
+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,$

-:84: ERROR:CODE_INDENT: code indent should use tabs where possible
#84: FILE: drivers/gpu/drm/xe/xe_drm_client.c:190:
+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,$

-:84: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#84: FILE: drivers/gpu/drm/xe/xe_drm_client.c:190:
+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,$

-:85: ERROR:CODE_INDENT: code indent should use tabs where possible
#85: FILE: drivers/gpu/drm/xe/xe_drm_client.c:191:
+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,$

-:85: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#85: FILE: drivers/gpu/drm/xe/xe_drm_client.c:191:
+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,$

-:86: ERROR:CODE_INDENT: code indent should use tabs where possible
#86: FILE: drivers/gpu/drm/xe/xe_drm_client.c:192:
+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,$

-:86: WARNING:LEADING_SPACE: please, no spaces at the start of a line
#86: FILE: drivers/gpu/drm/xe/xe_drm_client.c:192:
+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,$

total: 6 errors, 7 warnings, 0 checks, 104 lines checked
2797c619f7ae HACK: simple gputop-like impl in python
-:7: WARNING:COMMIT_MESSAGE: Missing commit description - Add an appropriate one

-:9: ERROR:EXECUTE_PERMISSIONS: do not set execute permissions for source files
#9: FILE: pyfdinfo

-:9: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#9: 
new file mode 100755

-:15: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier tag in line 2
#15: FILE: pyfdinfo:2:
+

total: 1 errors, 3 warnings, 0 checks, 113 lines checked



^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✓ CI.KUnit: success for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (8 preceding siblings ...)
  2024-04-16  3:17 ` ✗ CI.checkpatch: warning " Patchwork
@ 2024-04-16  3:18 ` Patchwork
  2024-04-16  3:30 ` ✓ CI.Build: " Patchwork
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:18 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[03:17:47] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[03:17:51] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
../arch/x86/um/user-offsets.c:17:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes]
   17 | void foo(void)
      |      ^~~
In file included from ../arch/um/kernel/asm-offsets.c:1:
../arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes]
    9 | void foo(void)
      |      ^~~
../arch/x86/um/bugs_64.c:9:6: warning: no previous prototype for ‘arch_check_bugs’ [-Wmissing-prototypes]
    9 | void arch_check_bugs(void)
      |      ^~~~~~~~~~~~~~~
../arch/x86/um/bugs_64.c:13:6: warning: no previous prototype for ‘arch_examine_signal’ [-Wmissing-prototypes]
   13 | void arch_examine_signal(int sig, struct uml_pt_regs *regs)
      |      ^~~~~~~~~~~~~~~~~~~
../arch/x86/um/os-Linux/registers.c:146:15: warning: no previous prototype for ‘get_thread_reg’ [-Wmissing-prototypes]
  146 | unsigned long get_thread_reg(int reg, jmp_buf *buf)
      |               ^~~~~~~~~~~~~~
../arch/x86/um/fault.c:18:5: warning: no previous prototype for ‘arch_fixup’ [-Wmissing-prototypes]
   18 | int arch_fixup(unsigned long address, struct uml_pt_regs *regs)
      |     ^~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:16:5: warning: no previous prototype for ‘__vdso_clock_gettime’ [-Wmissing-prototypes]
   16 | int __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts)
      |     ^~~~~~~~~~~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:30:5: warning: no previous prototype for ‘__vdso_gettimeofday’ [-Wmissing-prototypes]
   30 | int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
      |     ^~~~~~~~~~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:44:21: warning: no previous prototype for ‘__vdso_time’ [-Wmissing-prototypes]
   44 | __kernel_old_time_t __vdso_time(__kernel_old_time_t *t)
      |                     ^~~~~~~~~~~
../arch/x86/um/vdso/um_vdso.c:57:1: warning: no previous prototype for ‘__vdso_getcpu’ [-Wmissing-prototypes]
   57 | __vdso_getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *unused)
      | ^~~~~~~~~~~~~
../arch/x86/um/os-Linux/mcontext.c:7:6: warning: no previous prototype for ‘get_regs_from_mc’ [-Wmissing-prototypes]
    7 | void get_regs_from_mc(struct uml_pt_regs *regs, mcontext_t *mc)
      |      ^~~~~~~~~~~~~~~~
../arch/um/os-Linux/skas/process.c:107:6: warning: no previous prototype for ‘wait_stub_done’ [-Wmissing-prototypes]
  107 | void wait_stub_done(int pid)
      |      ^~~~~~~~~~~~~~
../arch/um/os-Linux/skas/process.c:683:6: warning: no previous prototype for ‘__switch_mm’ [-Wmissing-prototypes]
  683 | void __switch_mm(struct mm_id *mm_idp)
      |      ^~~~~~~~~~~
../arch/um/kernel/skas/process.c:36:12: warning: no previous prototype for ‘start_uml’ [-Wmissing-prototypes]
   36 | int __init start_uml(void)
      |            ^~~~~~~~~
../arch/um/kernel/skas/mmu.c:17:5: warning: no previous prototype for ‘init_new_context’ [-Wmissing-prototypes]
   17 | int init_new_context(struct task_struct *task, struct mm_struct *mm)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/skas/mmu.c:60:6: warning: no previous prototype for ‘destroy_context’ [-Wmissing-prototypes]
   60 | void destroy_context(struct mm_struct *mm)
      |      ^~~~~~~~~~~~~~~
../arch/um/os-Linux/main.c:187:7: warning: no previous prototype for ‘__wrap_malloc’ [-Wmissing-prototypes]
  187 | void *__wrap_malloc(int size)
      |       ^~~~~~~~~~~~~
../arch/um/os-Linux/main.c:208:7: warning: no previous prototype for ‘__wrap_calloc’ [-Wmissing-prototypes]
  208 | void *__wrap_calloc(int n, int size)
      |       ^~~~~~~~~~~~~
../arch/um/os-Linux/main.c:222:6: warning: no previous prototype for ‘__wrap_free’ [-Wmissing-prototypes]
  222 | void __wrap_free(void *ptr)
      |      ^~~~~~~~~~~
../arch/um/os-Linux/mem.c:28:6: warning: no previous prototype for ‘kasan_map_memory’ [-Wmissing-prototypes]
   28 | void kasan_map_memory(void *start, size_t len)
      |      ^~~~~~~~~~~~~~~~
../arch/um/os-Linux/mem.c:212:13: warning: no previous prototype for ‘check_tmpexec’ [-Wmissing-prototypes]
  212 | void __init check_tmpexec(void)
      |             ^~~~~~~~~~~~~
../arch/x86/um/ptrace_64.c:111:5: warning: no previous prototype for ‘poke_user’ [-Wmissing-prototypes]
  111 | int poke_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/x86/um/ptrace_64.c:171:5: warning: no previous prototype for ‘peek_user’ [-Wmissing-prototypes]
  171 | int peek_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/um/os-Linux/signal.c:75:6: warning: no previous prototype for ‘sig_handler’ [-Wmissing-prototypes]
   75 | void sig_handler(int sig, struct siginfo *si, mcontext_t *mc)
      |      ^~~~~~~~~~~
../arch/um/os-Linux/signal.c:111:6: warning: no previous prototype for ‘timer_alarm_handler’ [-Wmissing-prototypes]
  111 | void timer_alarm_handler(int sig, struct siginfo *unused_si, mcontext_t *mc)
      |      ^~~~~~~~~~~~~~~~~~~
../arch/x86/um/signal.c:560:6: warning: no previous prototype for ‘sys_rt_sigreturn’ [-Wmissing-prototypes]
  560 | long sys_rt_sigreturn(void)
      |      ^~~~~~~~~~~~~~~~
../arch/um/os-Linux/start_up.c:301:12: warning: no previous prototype for ‘parse_iomem’ [-Wmissing-prototypes]
  301 | int __init parse_iomem(char *str, int *add)
      |            ^~~~~~~~~~~
../arch/um/kernel/mem.c:202:8: warning: no previous prototype for ‘pgd_alloc’ [-Wmissing-prototypes]
  202 | pgd_t *pgd_alloc(struct mm_struct *mm)
      |        ^~~~~~~~~
../arch/um/kernel/mem.c:215:7: warning: no previous prototype for ‘uml_kmalloc’ [-Wmissing-prototypes]
  215 | void *uml_kmalloc(int size, int flags)
      |       ^~~~~~~~~~~
../arch/x86/um/syscalls_64.c:48:6: warning: no previous prototype for ‘arch_switch_to’ [-Wmissing-prototypes]
   48 | void arch_switch_to(struct task_struct *to)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/process.c:51:5: warning: no previous prototype for ‘pid_to_processor_id’ [-Wmissing-prototypes]
   51 | int pid_to_processor_id(int pid)
      |     ^~~~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:87:7: warning: no previous prototype for ‘__switch_to’ [-Wmissing-prototypes]
   87 | void *__switch_to(struct task_struct *from, struct task_struct *to)
      |       ^~~~~~~~~~~
../arch/um/kernel/process.c:140:6: warning: no previous prototype for ‘fork_handler’ [-Wmissing-prototypes]
  140 | void fork_handler(void)
      |      ^~~~~~~~~~~~
../arch/um/kernel/process.c:217:6: warning: no previous prototype for ‘arch_cpu_idle’ [-Wmissing-prototypes]
  217 | void arch_cpu_idle(void)
      |      ^~~~~~~~~~~~~
../arch/um/kernel/process.c:253:5: warning: no previous prototype for ‘copy_to_user_proc’ [-Wmissing-prototypes]
  253 | int copy_to_user_proc(void __user *to, void *from, int size)
      |     ^~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:263:5: warning: no previous prototype for ‘clear_user_proc’ [-Wmissing-prototypes]
  263 | int clear_user_proc(void __user *buf, int size)
      |     ^~~~~~~~~~~~~~~
../arch/um/kernel/process.c:271:6: warning: no previous prototype for ‘set_using_sysemu’ [-Wmissing-prototypes]
  271 | void set_using_sysemu(int value)
      |      ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:278:5: warning: no previous prototype for ‘get_using_sysemu’ [-Wmissing-prototypes]
  278 | int get_using_sysemu(void)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:316:12: warning: no previous prototype for ‘make_proc_sysemu’ [-Wmissing-prototypes]
  316 | int __init make_proc_sysemu(void)
      |            ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:348:15: warning: no previous prototype for ‘arch_align_stack’ [-Wmissing-prototypes]
  348 | unsigned long arch_align_stack(unsigned long sp)
      |               ^~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:45:6: warning: no previous prototype for ‘machine_restart’ [-Wmissing-prototypes]
   45 | void machine_restart(char * __unused)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:51:6: warning: no previous prototype for ‘machine_power_off’ [-Wmissing-prototypes]
   51 | void machine_power_off(void)
      |      ^~~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:57:6: warning: no previous prototype for ‘machine_halt’ [-Wmissing-prototypes]
   57 | void machine_halt(void)
      |      ^~~~~~~~~~~~
../arch/um/kernel/tlb.c:579:6: warning: no previous prototype for ‘flush_tlb_mm_range’ [-Wmissing-prototypes]
  579 | void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start,
      |      ^~~~~~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:594:6: warning: no previous prototype for ‘force_flush_all’ [-Wmissing-prototypes]
  594 | void force_flush_all(void)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/kmsg_dump.c:60:12: warning: no previous prototype for ‘kmsg_dumper_stdout_init’ [-Wmissing-prototypes]
   60 | int __init kmsg_dumper_stdout_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
../arch/um/kernel/um_arch.c:408:19: warning: no previous prototype for ‘read_initrd’ [-Wmissing-prototypes]
  408 | int __init __weak read_initrd(void)
      |                   ^~~~~~~~~~~
../arch/um/kernel/um_arch.c:461:7: warning: no previous prototype for ‘text_poke’ [-Wmissing-prototypes]
  461 | void *text_poke(void *addr, const void *opcode, size_t len)
      |       ^~~~~~~~~
../arch/um/kernel/um_arch.c:473:6: warning: no previous prototype for ‘text_poke_sync’ [-Wmissing-prototypes]
  473 | void text_poke_sync(void)
      |      ^~~~~~~~~~~~~~
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
stty: 'standard input': Inappropriate ioctl for device

[03:18:16] Starting KUnit Kernel (1/1)...
[03:18:16] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[03:18:16] =================== guc_dbm (7 subtests) ===================
[03:18:16] [PASSED] test_empty
[03:18:16] [PASSED] test_default
[03:18:16] ======================== test_size  ========================
[03:18:16] [PASSED] 4
[03:18:16] [PASSED] 8
[03:18:16] [PASSED] 32
[03:18:16] [PASSED] 256
[03:18:16] ==================== [PASSED] test_size ====================
[03:18:16] ======================= test_reuse  ========================
[03:18:16] [PASSED] 4
[03:18:16] [PASSED] 8
[03:18:16] [PASSED] 32
[03:18:16] [PASSED] 256
[03:18:16] =================== [PASSED] test_reuse ====================
[03:18:16] =================== test_range_overlap  ====================
[03:18:16] [PASSED] 4
[03:18:16] [PASSED] 8
[03:18:16] [PASSED] 32
[03:18:16] [PASSED] 256
[03:18:16] =============== [PASSED] test_range_overlap ================
[03:18:16] =================== test_range_compact  ====================
[03:18:16] [PASSED] 4
[03:18:16] [PASSED] 8
[03:18:16] [PASSED] 32
[03:18:16] [PASSED] 256
[03:18:16] =============== [PASSED] test_range_compact ================
[03:18:16] ==================== test_range_spare  =====================
[03:18:16] [PASSED] 4
[03:18:16] [PASSED] 8
[03:18:16] [PASSED] 32
[03:18:16] [PASSED] 256
[03:18:16] ================ [PASSED] test_range_spare =================
[03:18:16] ===================== [PASSED] guc_dbm =====================
[03:18:16] =================== guc_idm (6 subtests) ===================
[03:18:16] [PASSED] bad_init
[03:18:16] [PASSED] no_init
[03:18:16] [PASSED] init_fini
[03:18:16] [PASSED] check_used
[03:18:16] [PASSED] check_quota
[03:18:17] [PASSED] check_all
[03:18:17] ===================== [PASSED] guc_idm =====================
[03:18:17] ================== no_relay (3 subtests) ===================
[03:18:17] [PASSED] xe_drops_guc2pf_if_not_ready
[03:18:17] [PASSED] xe_drops_guc2vf_if_not_ready
[03:18:17] [PASSED] xe_rejects_send_if_not_ready
[03:18:17] ==================== [PASSED] no_relay =====================
[03:18:17] ================== pf_relay (14 subtests) ==================
[03:18:17] [PASSED] pf_rejects_guc2pf_too_short
[03:18:17] [PASSED] pf_rejects_guc2pf_too_long
[03:18:17] [PASSED] pf_rejects_guc2pf_no_payload
[03:18:17] [PASSED] pf_fails_no_payload
[03:18:17] [PASSED] pf_fails_bad_origin
[03:18:17] [PASSED] pf_fails_bad_type
[03:18:17] [PASSED] pf_txn_reports_error
[03:18:17] [PASSED] pf_txn_sends_pf2guc
[03:18:17] [PASSED] pf_sends_pf2guc
[03:18:17] [SKIPPED] pf_loopback_nop
[03:18:17] [SKIPPED] pf_loopback_echo
[03:18:17] [SKIPPED] pf_loopback_fail
[03:18:17] [SKIPPED] pf_loopback_busy
[03:18:17] [SKIPPED] pf_loopback_retry
[03:18:17] ==================== [PASSED] pf_relay =====================
[03:18:17] ================== vf_relay (3 subtests) ===================
[03:18:17] [PASSED] vf_rejects_guc2vf_too_short
[03:18:17] [PASSED] vf_rejects_guc2vf_too_long
[03:18:17] [PASSED] vf_rejects_guc2vf_no_payload
[03:18:17] ==================== [PASSED] vf_relay =====================
[03:18:17] ===================== lmtt (1 subtest) =====================
[03:18:17] ======================== test_ops  =========================
[03:18:17] [PASSED] 2-level
[03:18:17] [PASSED] multi-level
[03:18:17] ==================== [PASSED] test_ops =====================
[03:18:17] ====================== [PASSED] lmtt =======================
[03:18:17] ==================== xe_bo (2 subtests) ====================
[03:18:17] [SKIPPED] xe_ccs_migrate_kunit
[03:18:17] [SKIPPED] xe_bo_evict_kunit
[03:18:17] ===================== [SKIPPED] xe_bo ======================
[03:18:17] ================== xe_dma_buf (1 subtest) ==================
[03:18:17] [SKIPPED] xe_dma_buf_kunit
[03:18:17] =================== [SKIPPED] xe_dma_buf ===================
[03:18:17] ================== xe_migrate (1 subtest) ==================
[03:18:17] [SKIPPED] xe_migrate_sanity_kunit
[03:18:17] =================== [SKIPPED] xe_migrate ===================
[03:18:17] =================== xe_mocs (2 subtests) ===================
[03:18:17] [SKIPPED] xe_live_mocs_kernel_kunit
[03:18:17] [SKIPPED] xe_live_mocs_reset_kunit
[03:18:17] ==================== [SKIPPED] xe_mocs =====================
[03:18:17] =================== xe_pci (2 subtests) ====================
[03:18:17] [PASSED] xe_gmdid_graphics_ip
[03:18:17] [PASSED] xe_gmdid_media_ip
[03:18:17] ===================== [PASSED] xe_pci ======================
[03:18:17] ==================== xe_rtp (1 subtest) ====================
[03:18:17] ================== xe_rtp_process_tests  ===================
[03:18:17] [PASSED] coalesce-same-reg
[03:18:17] [PASSED] no-match-no-add
[03:18:17] [PASSED] no-match-no-add-multiple-rules
[03:18:17] [PASSED] two-regs-two-entries
[03:18:17] [PASSED] clr-one-set-other
[03:18:17] [PASSED] set-field
[03:18:17] [PASSED] conflict-duplicate
[03:18:17] [PASSED] conflict-not-disjoint
[03:18:17] [PASSED] conflict-reg-type
[03:18:17] ============== [PASSED] xe_rtp_process_tests ===============
[03:18:17] ===================== [PASSED] xe_rtp ======================
[03:18:17] ==================== xe_wa (1 subtest) =====================
[03:18:17] ======================== xe_wa_gt  =========================
[03:18:17] [PASSED] TIGERLAKE (B0)
[03:18:17] [PASSED] DG1 (A0)
[03:18:17] [PASSED] DG1 (B0)
[03:18:17] [PASSED] ALDERLAKE_S (A0)
[03:18:17] [PASSED] ALDERLAKE_S (B0)
[03:18:17] [PASSED] ALDERLAKE_S (C0)
[03:18:17] [PASSED] ALDERLAKE_S (D0)
[03:18:17] [PASSED] ALDERLAKE_P (A0)
[03:18:17] [PASSED] ALDERLAKE_P (B0)
[03:18:17] [PASSED] ALDERLAKE_P (C0)
[03:18:17] [PASSED] ALDERLAKE_S_RPLS (D0)
[03:18:17] [PASSED] ALDERLAKE_P_RPLU (E0)
[03:18:17] [PASSED] DG2_G10 (C0)
[03:18:17] [PASSED] DG2_G11 (B1)
[03:18:17] [PASSED] DG2_G12 (A1)
[03:18:17] [PASSED] METEORLAKE (g:A0, m:A0)
[03:18:17] [PASSED] METEORLAKE (g:A0, m:A0)
[03:18:17] [PASSED] METEORLAKE (g:A0, m:A0)
[03:18:17] [PASSED] LUNARLAKE (g:A0, m:A0)
[03:18:17] [PASSED] LUNARLAKE (g:B0, m:A0)
[03:18:17] ==================== [PASSED] xe_wa_gt =====================
[03:18:17] ====================== [PASSED] xe_wa ======================
[03:18:17] ============================================================
[03:18:17] Testing complete. Ran 87 tests: passed: 76, skipped: 11
[03:18:17] Elapsed time: 29.737s total, 4.210s configuring, 25.257s building, 0.219s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[03:18:17] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[03:18:18] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
In file included from ../arch/um/kernel/asm-offsets.c:1:
../arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes]
    9 | void foo(void)
      |      ^~~
../arch/x86/um/ptrace_64.c:111:5: warning: no previous prototype for ‘poke_user’ [-Wmissing-prototypes]
  111 | int poke_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/x86/um/ptrace_64.c:171:5: warning: no previous prototype for ‘peek_user’ [-Wmissing-prototypes]
  171 | int peek_user(struct task_struct *child, long addr, long data)
      |     ^~~~~~~~~
../arch/x86/um/signal.c:560:6: warning: no previous prototype for ‘sys_rt_sigreturn’ [-Wmissing-prototypes]
  560 | long sys_rt_sigreturn(void)
      |      ^~~~~~~~~~~~~~~~
../arch/um/kernel/mem.c:202:8: warning: no previous prototype for ‘pgd_alloc’ [-Wmissing-prototypes]
  202 | pgd_t *pgd_alloc(struct mm_struct *mm)
      |        ^~~~~~~~~
../arch/um/kernel/mem.c:215:7: warning: no previous prototype for ‘uml_kmalloc’ [-Wmissing-prototypes]
  215 | void *uml_kmalloc(int size, int flags)
      |       ^~~~~~~~~~~
../arch/x86/um/syscalls_64.c:48:6: warning: no previous prototype for ‘arch_switch_to’ [-Wmissing-prototypes]
   48 | void arch_switch_to(struct task_struct *to)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:45:6: warning: no previous prototype for ‘machine_restart’ [-Wmissing-prototypes]
   45 | void machine_restart(char * __unused)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:51:6: warning: no previous prototype for ‘machine_power_off’ [-Wmissing-prototypes]
   51 | void machine_power_off(void)
      |      ^~~~~~~~~~~~~~~~~
../arch/um/kernel/reboot.c:57:6: warning: no previous prototype for ‘machine_halt’ [-Wmissing-prototypes]
   57 | void machine_halt(void)
      |      ^~~~~~~~~~~~
../arch/um/kernel/process.c:51:5: warning: no previous prototype for ‘pid_to_processor_id’ [-Wmissing-prototypes]
   51 | int pid_to_processor_id(int pid)
      |     ^~~~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:87:7: warning: no previous prototype for ‘__switch_to’ [-Wmissing-prototypes]
   87 | void *__switch_to(struct task_struct *from, struct task_struct *to)
      |       ^~~~~~~~~~~
../arch/um/kernel/process.c:140:6: warning: no previous prototype for ‘fork_handler’ [-Wmissing-prototypes]
  140 | void fork_handler(void)
      |      ^~~~~~~~~~~~
../arch/um/kernel/process.c:217:6: warning: no previous prototype for ‘arch_cpu_idle’ [-Wmissing-prototypes]
  217 | void arch_cpu_idle(void)
      |      ^~~~~~~~~~~~~
../arch/um/kernel/process.c:253:5: warning: no previous prototype for ‘copy_to_user_proc’ [-Wmissing-prototypes]
  253 | int copy_to_user_proc(void __user *to, void *from, int size)
      |     ^~~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:263:5: warning: no previous prototype for ‘clear_user_proc’ [-Wmissing-prototypes]
  263 | int clear_user_proc(void __user *buf, int size)
      |     ^~~~~~~~~~~~~~~
../arch/um/kernel/process.c:271:6: warning: no previous prototype for ‘set_using_sysemu’ [-Wmissing-prototypes]
  271 | void set_using_sysemu(int value)
      |      ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:278:5: warning: no previous prototype for ‘get_using_sysemu’ [-Wmissing-prototypes]
  278 | int get_using_sysemu(void)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:316:12: warning: no previous prototype for ‘make_proc_sysemu’ [-Wmissing-prototypes]
  316 | int __init make_proc_sysemu(void)
      |            ^~~~~~~~~~~~~~~~
../arch/um/kernel/process.c:348:15: warning: no previous prototype for ‘arch_align_stack’ [-Wmissing-prototypes]
  348 | unsigned long arch_align_stack(unsigned long sp)
      |               ^~~~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:579:6: warning: no previous prototype for ‘flush_tlb_mm_range’ [-Wmissing-prototypes]
  579 | void flush_tlb_mm_range(struct mm_struct *mm, unsigned long start,
      |      ^~~~~~~~~~~~~~~~~~
../arch/um/kernel/tlb.c:594:6: warning: no previous prototype for ‘force_flush_all’ [-Wmissing-prototypes]
  594 | void force_flush_all(void)
      |      ^~~~~~~~~~~~~~~
../arch/um/kernel/um_arch.c:408:19: warning: no previous prototype for ‘read_initrd’ [-Wmissing-prototypes]
  408 | int __init __weak read_initrd(void)
      |                   ^~~~~~~~~~~
../arch/um/kernel/um_arch.c:461:7: warning: no previous prototype for ‘text_poke’ [-Wmissing-prototypes]
  461 | void *text_poke(void *addr, const void *opcode, size_t len)
      |       ^~~~~~~~~
../arch/um/kernel/um_arch.c:473:6: warning: no previous prototype for ‘text_poke_sync’ [-Wmissing-prototypes]
  473 | void text_poke_sync(void)
      |      ^~~~~~~~~~~~~~
../arch/um/kernel/kmsg_dump.c:60:12: warning: no previous prototype for ‘kmsg_dumper_stdout_init’ [-Wmissing-prototypes]
   60 | int __init kmsg_dumper_stdout_init(void)
      |            ^~~~~~~~~~~~~~~~~~~~~~~
../arch/um/kernel/skas/process.c:36:12: warning: no previous prototype for ‘start_uml’ [-Wmissing-prototypes]
   36 | int __init start_uml(void)
      |            ^~~~~~~~~
../arch/um/kernel/skas/mmu.c:17:5: warning: no previous prototype for ‘init_new_context’ [-Wmissing-prototypes]
   17 | int init_new_context(struct task_struct *task, struct mm_struct *mm)
      |     ^~~~~~~~~~~~~~~~
../arch/um/kernel/skas/mmu.c:60:6: warning: no previous prototype for ‘destroy_context’ [-Wmissing-prototypes]
   60 | void destroy_context(struct mm_struct *mm)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
  156 | u64 ioread64_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
  163 | u64 ioread64_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
  170 | u64 ioread64be_lo_hi(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
  178 | u64 ioread64be_hi_lo(const void __iomem *addr)
      |     ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
  264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
  272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
  280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
  288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
      |      ^~~~~~~~~~~~~~~~~

[03:18:40] Starting KUnit Kernel (1/1)...
[03:18:40] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[03:18:40] ============ drm_test_pick_cmdline (2 subtests) ============
[03:18:40] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[03:18:40] =============== drm_test_pick_cmdline_named  ===============
[03:18:40] [PASSED] NTSC
[03:18:40] [PASSED] NTSC-J
[03:18:40] [PASSED] PAL
[03:18:40] [PASSED] PAL-M
[03:18:40] =========== [PASSED] drm_test_pick_cmdline_named ===========
[03:18:40] ============== [PASSED] drm_test_pick_cmdline ==============
[03:18:40] ================== drm_buddy (6 subtests) ==================
[03:18:40] [PASSED] drm_test_buddy_alloc_limit
[03:18:40] [PASSED] drm_test_buddy_alloc_optimistic
[03:18:40] [PASSED] drm_test_buddy_alloc_pessimistic
[03:18:40] [PASSED] drm_test_buddy_alloc_pathological
[03:18:40] [PASSED] drm_test_buddy_alloc_contiguous
[03:18:40] [PASSED] drm_test_buddy_alloc_range_bias
[03:18:40] ==================== [PASSED] drm_buddy ====================
[03:18:40] ============= drm_cmdline_parser (40 subtests) =============
[03:18:40] [PASSED] drm_test_cmdline_force_d_only
[03:18:40] [PASSED] drm_test_cmdline_force_D_only_dvi
[03:18:40] [PASSED] drm_test_cmdline_force_D_only_hdmi
[03:18:40] [PASSED] drm_test_cmdline_force_D_only_not_digital
[03:18:40] [PASSED] drm_test_cmdline_force_e_only
[03:18:40] [PASSED] drm_test_cmdline_res
[03:18:40] [PASSED] drm_test_cmdline_res_vesa
[03:18:40] [PASSED] drm_test_cmdline_res_vesa_rblank
[03:18:40] [PASSED] drm_test_cmdline_res_rblank
[03:18:40] [PASSED] drm_test_cmdline_res_bpp
[03:18:40] [PASSED] drm_test_cmdline_res_refresh
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[03:18:40] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[03:18:40] [PASSED] drm_test_cmdline_res_margins_force_on
[03:18:40] [PASSED] drm_test_cmdline_res_vesa_margins
[03:18:40] [PASSED] drm_test_cmdline_name
[03:18:40] [PASSED] drm_test_cmdline_name_bpp
[03:18:40] [PASSED] drm_test_cmdline_name_option
[03:18:40] [PASSED] drm_test_cmdline_name_bpp_option
[03:18:40] [PASSED] drm_test_cmdline_rotate_0
[03:18:40] [PASSED] drm_test_cmdline_rotate_90
[03:18:40] [PASSED] drm_test_cmdline_rotate_180
[03:18:40] [PASSED] drm_test_cmdline_rotate_270
[03:18:40] [PASSED] drm_test_cmdline_hmirror
[03:18:40] [PASSED] drm_test_cmdline_vmirror
[03:18:40] [PASSED] drm_test_cmdline_margin_options
[03:18:40] [PASSED] drm_test_cmdline_multiple_options
[03:18:40] [PASSED] drm_test_cmdline_bpp_extra_and_option
[03:18:40] [PASSED] drm_test_cmdline_extra_and_option
[03:18:40] [PASSED] drm_test_cmdline_freestanding_options
[03:18:40] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[03:18:40] [PASSED] drm_test_cmdline_panel_orientation
[03:18:40] ================ drm_test_cmdline_invalid  =================
[03:18:40] [PASSED] margin_only
[03:18:40] [PASSED] interlace_only
[03:18:40] [PASSED] res_missing_x
[03:18:40] [PASSED] res_missing_y
[03:18:40] [PASSED] res_bad_y
[03:18:40] [PASSED] res_missing_y_bpp
[03:18:40] [PASSED] res_bad_bpp
[03:18:40] [PASSED] res_bad_refresh
[03:18:40] [PASSED] res_bpp_refresh_force_on_off
[03:18:40] [PASSED] res_invalid_mode
[03:18:40] [PASSED] res_bpp_wrong_place_mode
[03:18:40] [PASSED] name_bpp_refresh
[03:18:40] [PASSED] name_refresh
[03:18:40] [PASSED] name_refresh_wrong_mode
[03:18:40] [PASSED] name_refresh_invalid_mode
[03:18:40] [PASSED] rotate_multiple
[03:18:40] [PASSED] rotate_invalid_val
[03:18:40] [PASSED] rotate_truncated
[03:18:40] [PASSED] invalid_option
[03:18:40] [PASSED] invalid_tv_option
[03:18:40] [PASSED] truncated_tv_option
[03:18:40] ============ [PASSED] drm_test_cmdline_invalid =============
[03:18:40] =============== drm_test_cmdline_tv_options  ===============
[03:18:40] [PASSED] NTSC
[03:18:40] [PASSED] NTSC_443
[03:18:40] [PASSED] NTSC_J
[03:18:40] [PASSED] PAL
[03:18:40] [PASSED] PAL_M
[03:18:40] [PASSED] PAL_N
[03:18:40] [PASSED] SECAM
[03:18:40] =========== [PASSED] drm_test_cmdline_tv_options ===========
[03:18:40] =============== [PASSED] drm_cmdline_parser ================
[03:18:40] ============= drmm_connector_init (3 subtests) =============
[03:18:40] [PASSED] drm_test_drmm_connector_init
[03:18:40] [PASSED] drm_test_drmm_connector_init_null_ddc
[03:18:40] ========= drm_test_drmm_connector_init_type_valid  =========
[03:18:40] [PASSED] Unknown
[03:18:40] [PASSED] VGA
[03:18:40] [PASSED] DVI-I
[03:18:40] [PASSED] DVI-D
[03:18:40] [PASSED] DVI-A
[03:18:40] [PASSED] Composite
[03:18:40] [PASSED] SVIDEO
[03:18:40] [PASSED] LVDS
[03:18:40] [PASSED] Component
[03:18:40] [PASSED] DIN
[03:18:40] [PASSED] DP
[03:18:40] [PASSED] HDMI-A
[03:18:40] [PASSED] HDMI-B
[03:18:40] [PASSED] TV
[03:18:40] [PASSED] eDP
[03:18:40] [PASSED] Virtual
[03:18:40] [PASSED] DSI
[03:18:40] [PASSED] DPI
[03:18:40] [PASSED] Writeback
[03:18:40] [PASSED] SPI
[03:18:40] [PASSED] USB
[03:18:40] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[03:18:40] =============== [PASSED] drmm_connector_init ===============
[03:18:40] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[03:18:40] ========== drm_test_get_tv_mode_from_name_valid  ===========
[03:18:40] [PASSED] NTSC
[03:18:40] [PASSED] NTSC-443
[03:18:40] [PASSED] NTSC-J
[03:18:40] [PASSED] PAL
[03:18:40] [PASSED] PAL-M
[03:18:40] [PASSED] PAL-N
[03:18:40] [PASSED] SECAM
[03:18:40] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[03:18:40] [PASSED] drm_test_get_tv_mode_from_name_truncated
[03:18:40] ============ [PASSED] drm_get_tv_mode_from_name ============
[03:18:40] ============= drm_damage_helper (21 subtests) ==============
[03:18:40] [PASSED] drm_test_damage_iter_no_damage
[03:18:40] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[03:18:40] [PASSED] drm_test_damage_iter_no_damage_src_moved
[03:18:40] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[03:18:40] [PASSED] drm_test_damage_iter_no_damage_not_visible
[03:18:40] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[03:18:40] [PASSED] drm_test_damage_iter_no_damage_no_fb
[03:18:40] [PASSED] drm_test_damage_iter_simple_damage
[03:18:40] [PASSED] drm_test_damage_iter_single_damage
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_outside_src
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_src_moved
[03:18:40] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[03:18:40] [PASSED] drm_test_damage_iter_damage
[03:18:40] [PASSED] drm_test_damage_iter_damage_one_intersect
[03:18:40] [PASSED] drm_test_damage_iter_damage_one_outside
[03:18:40] [PASSED] drm_test_damage_iter_damage_src_moved
[03:18:40] [PASSED] drm_test_damage_iter_damage_not_visible
[03:18:40] ================ [PASSED] drm_damage_helper ================
[03:18:40] ============== drm_dp_mst_helper (3 subtests) ==============
[03:18:40] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[03:18:40] [PASSED] Clock 154000 BPP 30 DSC disabled
[03:18:40] [PASSED] Clock 234000 BPP 30 DSC disabled
[03:18:40] [PASSED] Clock 297000 BPP 24 DSC disabled
[03:18:40] [PASSED] Clock 332880 BPP 24 DSC enabled
[03:18:40] [PASSED] Clock 324540 BPP 24 DSC enabled
[03:18:40] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[03:18:40] ============== drm_test_dp_mst_calc_pbn_div  ===============
[03:18:40] [PASSED] Link rate 2000000 lane count 4
[03:18:40] [PASSED] Link rate 2000000 lane count 2
[03:18:40] [PASSED] Link rate 2000000 lane count 1
[03:18:40] [PASSED] Link rate 1350000 lane count 4
[03:18:40] [PASSED] Link rate 1350000 lane count 2
[03:18:40] [PASSED] Link rate 1350000 lane count 1
[03:18:40] [PASSED] Link rate 1000000 lane count 4
[03:18:40] [PASSED] Link rate 1000000 lane count 2
[03:18:40] [PASSED] Link rate 1000000 lane count 1
[03:18:40] [PASSED] Link rate 810000 lane count 4
[03:18:40] [PASSED] Link rate 810000 lane count 2
[03:18:40] [PASSED] Link rate 810000 lane count 1
[03:18:40] [PASSED] Link rate 540000 lane count 4
[03:18:40] [PASSED] Link rate 540000 lane count 2
[03:18:40] [PASSED] Link rate 540000 lane count 1
[03:18:40] [PASSED] Link rate 270000 lane count 4
[03:18:40] [PASSED] Link rate 270000 lane count 2
[03:18:40] [PASSED] Link rate 270000 lane count 1
[03:18:40] [PASSED] Link rate 162000 lane count 4
[03:18:40] [PASSED] Link rate 162000 lane count 2
[03:18:40] [PASSED] Link rate 162000 lane count 1
[03:18:40] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[03:18:40] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[03:18:40] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[03:18:40] [PASSED] DP_POWER_UP_PHY with port number
[03:18:40] [PASSED] DP_POWER_DOWN_PHY with port number
[03:18:40] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[03:18:40] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[03:18:40] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[03:18:40] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[03:18:40] [PASSED] DP_QUERY_PAYLOAD with port number
[03:18:40] [PASSED] DP_QUERY_PAYLOAD with VCPI
[03:18:40] [PASSED] DP_REMOTE_DPCD_READ with port number
[03:18:40] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[03:18:40] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[03:18:40] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[03:18:40] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[03:18:40] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[03:18:40] [PASSED] DP_REMOTE_I2C_READ with port number
[03:18:40] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[03:18:40] [PASSED] DP_REMOTE_I2C_READ with transactions array
[03:18:40] [PASSED] DP_REMOTE_I2C_WRITE with port number
[03:18:40] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[03:18:40] [PASSED] DP_REMOTE_I2C_WRITE with data array
[03:18:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[03:18:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[03:18:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[03:18:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[03:18:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[03:18:40] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[03:18:40] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[03:18:40] ================ [PASSED] drm_dp_mst_helper ================
[03:18:40] ================== drm_exec (7 subtests) ===================
[03:18:40] [PASSED] sanitycheck
[03:18:40] [PASSED] test_lock
[03:18:40] [PASSED] test_lock_unlock
[03:18:40] [PASSED] test_duplicates
[03:18:40] [PASSED] test_prepare
[03:18:40] [PASSED] test_prepare_array
[03:18:40] [PASSED] test_multiple_loops
[03:18:40] ==================== [PASSED] drm_exec =====================
[03:18:40] =========== drm_format_helper_test (17 subtests) ===========
[03:18:40] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[03:18:40] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[03:18:40] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[03:18:40] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[03:18:40] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[03:18:40] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[03:18:40] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[03:18:40] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[03:18:40] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[03:18:40] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[03:18:40] ============== drm_test_fb_xrgb8888_to_mono  ===============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[03:18:40] ==================== drm_test_fb_swab  =====================
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ================ [PASSED] drm_test_fb_swab =================
[03:18:40] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[03:18:40] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[03:18:40] [PASSED] single_pixel_source_buffer
[03:18:40] [PASSED] single_pixel_clip_rectangle
[03:18:40] [PASSED] well_known_colors
[03:18:40] [PASSED] destination_pitch
[03:18:40] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[03:18:40] ================= drm_test_fb_clip_offset  =================
[03:18:40] [PASSED] pass through
[03:18:40] [PASSED] horizontal offset
[03:18:40] [PASSED] vertical offset
[03:18:40] [PASSED] horizontal and vertical offset
[03:18:40] [PASSED] horizontal offset (custom pitch)
[03:18:40] [PASSED] vertical offset (custom pitch)
[03:18:40] [PASSED] horizontal and vertical offset (custom pitch)
[03:18:40] ============= [PASSED] drm_test_fb_clip_offset =============
[03:18:40] ============== drm_test_fb_build_fourcc_list  ==============
[03:18:40] [PASSED] no native formats
[03:18:40] [PASSED] XRGB8888 as native format
[03:18:40] [PASSED] remove duplicates
[03:18:40] [PASSED] convert alpha formats
[03:18:40] [PASSED] random formats
[03:18:40] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[03:18:40] =================== drm_test_fb_memcpy  ====================
[03:18:40] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[03:18:40] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[03:18:40] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[03:18:40] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[03:18:40] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[03:18:40] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[03:18:40] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[03:18:40] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[03:18:40] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[03:18:40] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[03:18:40] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[03:18:40] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[03:18:40] =============== [PASSED] drm_test_fb_memcpy ================
[03:18:40] ============= [PASSED] drm_format_helper_test ==============
[03:18:40] ================= drm_format (18 subtests) =================
[03:18:40] [PASSED] drm_test_format_block_width_invalid
[03:18:40] [PASSED] drm_test_format_block_width_one_plane
[03:18:40] [PASSED] drm_test_format_block_width_two_plane
[03:18:40] [PASSED] drm_test_format_block_width_three_plane
[03:18:40] [PASSED] drm_test_format_block_width_tiled
[03:18:40] [PASSED] drm_test_format_block_height_invalid
[03:18:40] [PASSED] drm_test_format_block_height_one_plane
[03:18:40] [PASSED] drm_test_format_block_height_two_plane
[03:18:40] [PASSED] drm_test_format_block_height_three_plane
[03:18:40] [PASSED] drm_test_format_block_height_tiled
[03:18:40] [PASSED] drm_test_format_min_pitch_invalid
[03:18:40] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[03:18:40] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[03:18:40] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[03:18:40] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[03:18:40] [PASSED] drm_test_format_min_pitch_two_plane
[03:18:40] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[03:18:40] [PASSED] drm_test_format_min_pitch_tiled
[03:18:40] =================== [PASSED] drm_format ====================
[03:18:40] =============== drm_framebuffer (1 subtest) ================
[03:18:40] =============== drm_test_framebuffer_create  ===============
[03:18:40] [PASSED] ABGR8888 normal sizes
[03:18:40] [PASSED] ABGR8888 max sizes
[03:18:40] [PASSED] ABGR8888 pitch greater than min required
[03:18:40] [PASSED] ABGR8888 pitch less than min required
[03:18:40] [PASSED] ABGR8888 Invalid width
[03:18:40] [PASSED] ABGR8888 Invalid buffer handle
[03:18:40] [PASSED] No pixel format
[03:18:40] [PASSED] ABGR8888 Width 0
[03:18:40] [PASSED] ABGR8888 Height 0
[03:18:40] [PASSED] ABGR8888 Out of bound height * pitch combination
[03:18:40] [PASSED] ABGR8888 Large buffer offset
[03:18:40] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[03:18:40] [PASSED] ABGR8888 Valid buffer modifier
[03:18:40] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[03:18:40] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] NV12 Normal sizes
[03:18:40] [PASSED] NV12 Max sizes
[03:18:40] [PASSED] NV12 Invalid pitch
[03:18:40] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[03:18:40] [PASSED] NV12 different  modifier per-plane
[03:18:40] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[03:18:40] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] NV12 Modifier for inexistent plane
[03:18:40] [PASSED] NV12 Handle for inexistent plane
[03:18:40] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[03:18:40] [PASSED] YVU420 Normal sizes
[03:18:40] [PASSED] YVU420 Max sizes
[03:18:40] [PASSED] YVU420 Invalid pitch
[03:18:40] [PASSED] YVU420 Different pitches
[03:18:40] [PASSED] YVU420 Different buffer offsets/pitches
[03:18:40] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[03:18:40] [PASSED] YVU420 Valid modifier
[03:18:40] [PASSED] YVU420 Different modifiers per plane
[03:18:40] [PASSED] YVU420 Modifier for inexistent plane
[03:18:40] [PASSED] X0L2 Normal sizes
[03:18:40] [PASSED] X0L2 Max sizes
[03:18:40] [PASSED] X0L2 Invalid pitch
[03:18:40] [PASSED] X0L2 Pitch greater than minimum required
[03:18:40] [PASSED] X0L2 Handle for inexistent plane
[03:18:40] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[03:18:40] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[03:18:40] [PASSED] X0L2 Valid modifier
[03:18:40] [PASSED] X0L2 Modifier for inexistent plane
[03:18:40] =========== [PASSED] drm_test_framebuffer_create ===========
[03:18:40] ================= [PASSED] drm_framebuffer =================
[03:18:40] ================ drm_gem_shmem (8 subtests) ================
[03:18:40] [PASSED] drm_gem_shmem_test_obj_create
[03:18:40] [PASSED] drm_gem_shmem_test_obj_create_private
[03:18:40] [PASSED] drm_gem_shmem_test_pin_pages
[03:18:40] [PASSED] drm_gem_shmem_test_vmap
[03:18:40] [PASSED] drm_gem_shmem_test_get_pages_sgt
[03:18:40] [PASSED] drm_gem_shmem_test_get_sg_table
[03:18:40] [PASSED] drm_gem_shmem_test_madvise
[03:18:40] [PASSED] drm_gem_shmem_test_purge
[03:18:40] ================== [PASSED] drm_gem_shmem ==================
[03:18:40] ================= drm_managed (2 subtests) =================
[03:18:40] [PASSED] drm_test_managed_release_action
[03:18:40] [PASSED] drm_test_managed_run_action
[03:18:40] =================== [PASSED] drm_managed ===================
[03:18:40] =================== drm_mm (6 subtests) ====================
[03:18:40] [PASSED] drm_test_mm_init
[03:18:40] [PASSED] drm_test_mm_debug
[03:18:40] [PASSED] drm_test_mm_align32
[03:18:40] [PASSED] drm_test_mm_align64
[03:18:40] [PASSED] drm_test_mm_lowest
[03:18:40] [PASSED] drm_test_mm_highest
[03:18:40] ===================== [PASSED] drm_mm ======================
[03:18:40] ============= drm_modes_analog_tv (4 subtests) =============
[03:18:40] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[03:18:40] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[03:18:40] [PASSED] drm_test_modes_analog_tv_pal_576i
[03:18:40] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[03:18:40] =============== [PASSED] drm_modes_analog_tv ===============
[03:18:40] ============== drm_plane_helper (2 subtests) ===============
[03:18:40] =============== drm_test_check_plane_state  ================
[03:18:40] [PASSED] clipping_simple
[03:18:40] [PASSED] clipping_rotate_reflect
[03:18:40] [PASSED] positioning_simple
[03:18:40] [PASSED] upscaling
[03:18:40] [PASSED] downscaling
[03:18:40] [PASSED] rounding1
[03:18:40] [PASSED] rounding2
[03:18:40] [PASSED] rounding3
[03:18:40] [PASSED] rounding4
[03:18:40] =========== [PASSED] drm_test_check_plane_state ============
[03:18:40] =========== drm_test_check_invalid_plane_state  ============
[03:18:40] [PASSED] positioning_invalid
[03:18:40] [PASSED] upscaling_invalid
[03:18:40] [PASSED] downscaling_invalid
[03:18:40] ======= [PASSED] drm_test_check_invalid_plane_state ========
[03:18:40] ================ [PASSED] drm_plane_helper =================
[03:18:40] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[03:18:40] ====== drm_test_connector_helper_tv_get_modes_check  =======
[03:18:40] [PASSED] None
[03:18:40] [PASSED] PAL
[03:18:40] [PASSED] NTSC
[03:18:40] [PASSED] Both, NTSC Default
[03:18:40] [PASSED] Both, PAL Default
[03:18:40] [PASSED] Both, NTSC Default, with PAL on command-line
[03:18:40] [PASSED] Both, PAL Default, with NTSC on command-line
[03:18:40] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[03:18:40] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[03:18:40] ================== drm_rect (9 subtests) ===================
[03:18:40] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[03:18:40] [PASSED] drm_test_rect_clip_scaled_not_clipped
[03:18:40] [PASSED] drm_test_rect_clip_scaled_clipped
[03:18:40] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
stty: 'standard input': Inappropriate ioctl for device
[03:18:40] ================= drm_test_rect_intersect  =================
[03:18:40] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[03:18:40] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[03:18:40] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[03:18:40] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[03:18:40] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[03:18:40] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[03:18:40] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[03:18:40] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[03:18:40] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[03:18:40] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[03:18:40] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[03:18:40] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[03:18:40] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[03:18:40] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[03:18:40] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[03:18:40] ============= [PASSED] drm_test_rect_intersect =============
[03:18:40] ================ drm_test_rect_calc_hscale  ================
[03:18:40] [PASSED] normal use
[03:18:40] [PASSED] out of max range
[03:18:40] [PASSED] out of min range
[03:18:40] [PASSED] zero dst
[03:18:40] [PASSED] negative src
[03:18:40] [PASSED] negative dst
[03:18:40] ============ [PASSED] drm_test_rect_calc_hscale ============
[03:18:40] ================ drm_test_rect_calc_vscale  ================
[03:18:40] [PASSED] normal use
[03:18:40] [PASSED] out of max range
[03:18:40] [PASSED] out of min range
[03:18:40] [PASSED] zero dst
[03:18:40] [PASSED] negative src
[03:18:40] [PASSED] negative dst
[03:18:40] ============ [PASSED] drm_test_rect_calc_vscale ============
[03:18:40] ================== drm_test_rect_rotate  ===================
[03:18:40] [PASSED] reflect-x
[03:18:40] [PASSED] reflect-y
[03:18:40] [PASSED] rotate-0
[03:18:40] [PASSED] rotate-90
[03:18:40] [PASSED] rotate-180
[03:18:40] [PASSED] rotate-270
[03:18:40] ============== [PASSED] drm_test_rect_rotate ===============
[03:18:40] ================ drm_test_rect_rotate_inv  =================
[03:18:40] [PASSED] reflect-x
[03:18:40] [PASSED] reflect-y
[03:18:40] [PASSED] rotate-0
[03:18:40] [PASSED] rotate-90
[03:18:40] [PASSED] rotate-180
[03:18:40] [PASSED] rotate-270
[03:18:40] ============ [PASSED] drm_test_rect_rotate_inv =============
[03:18:40] ==================== [PASSED] drm_rect =====================
[03:18:40] ============================================================
[03:18:40] Testing complete. Ran 416 tests: passed: 416
[03:18:40] Elapsed time: 23.284s total, 1.685s configuring, 21.473s building, 0.123s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✓ CI.Build: success for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (9 preceding siblings ...)
  2024-04-16  3:18 ` ✓ CI.KUnit: success " Patchwork
@ 2024-04-16  3:30 ` Patchwork
  2024-04-16  3:32 ` ✓ CI.Hooks: " Patchwork
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:30 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

+ trap cleanup EXIT
+ cd /kernel
+ git clone https://gitlab.freedesktop.org/drm/xe/ci.git .ci
Cloning into '.ci'...
+ '[' -n '' ']'
++ date +%s
^[[0Ksection_start:1713237531:build_x86_64[collapsed=true]
^[[0KBuild x86-64
+ echo -e '\e[0Ksection_start:1713237531:build_x86_64[collapsed=true]\r\e[0KBuild x86-64'
+ mkdir -p build64-default
+ cp .ci/kernel/kconfig build64-default/.config
+ make O=build64-default olddefconfig
make[1]: Entering directory '/kernel/build64-default'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
make[1]: Leaving directory '/kernel/build64-default'
++ nproc
+ make O=build64-default -j48
make[1]: Entering directory '/kernel/build64-default'
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  UPD     include/generated/uapi/linux/version.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  WRAP    arch/x86/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/x86/include/generated/uapi/asm/param.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  WRAP    arch/x86/include/generated/uapi/asm/resource.h
  WRAP    arch/x86/include/generated/uapi/asm/socket.h
  WRAP    arch/x86/include/generated/uapi/asm/sockios.h
  WRAP    arch/x86/include/generated/uapi/asm/termbits.h
  WRAP    arch/x86/include/generated/uapi/asm/termios.h
  WRAP    arch/x86/include/generated/uapi/asm/types.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  UPD     include/config/kernel.release
  UPD     include/generated/compile.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
  HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  WRAP    arch/x86/include/generated/asm/local64.h
  HOSTCC  scripts/unifdef
  HOSTCC  arch/x86/tools/relocs_32.o
  WRAP    arch/x86/include/generated/asm/module.lds.h
  HOSTCC  arch/x86/tools/relocs_64.o
  WRAP    arch/x86/include/generated/asm/rwonce.h
  HOSTCC  arch/x86/tools/relocs_common.o
  WRAP    arch/x86/include/generated/asm/unaligned.h
  UPD     include/generated/utsrelease.h
mkdir -p /kernel/build64-default/tools/objtool && make O=/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/genksyms/genksyms.o
  YACC    scripts/genksyms/parse.tab.[ch]
  LEX     scripts/genksyms/lex.lex.c
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/sign-file
  HOSTCC  scripts/insert-sys-cert
  HOSTCC  /kernel/build64-default/tools/objtool/fixdep.o
  HOSTCC  scripts/genksyms/parse.tab.o
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTLD  /kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /kernel/build64-default/tools/objtool/fixdep
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/exec-cmd.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/help.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/pager.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/parse-options.h
  INSTALL /kernel/build64-default/tools/objtool/libsubcmd/include/subcmd/run-command.h
  CC      /kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  INSTALL libsubcmd_headers
  HOSTLD  arch/x86/tools/relocs
  HDRINST usr/include/video/edid.h
  HDRINST usr/include/video/sisfb.h
  HDRINST usr/include/video/uvesafb.h
  HDRINST usr/include/drm/amdgpu_drm.h
  HDRINST usr/include/drm/pvr_drm.h
  HDRINST usr/include/drm/qaic_accel.h
  HDRINST usr/include/drm/vgem_drm.h
  HDRINST usr/include/drm/i915_drm.h
  HDRINST usr/include/drm/virtgpu_drm.h
  HDRINST usr/include/drm/xe_drm.h
  HDRINST usr/include/drm/omap_drm.h
  HDRINST usr/include/drm/radeon_drm.h
  HDRINST usr/include/drm/tegra_drm.h
  HDRINST usr/include/drm/drm_mode.h
  HDRINST usr/include/drm/ivpu_accel.h
  HDRINST usr/include/drm/exynos_drm.h
  HDRINST usr/include/drm/drm_sarea.h
  HDRINST usr/include/drm/v3d_drm.h
  HDRINST usr/include/drm/qxl_drm.h
  HDRINST usr/include/drm/drm_fourcc.h
  HDRINST usr/include/drm/nouveau_drm.h
  HDRINST usr/include/drm/habanalabs_accel.h
  HDRINST usr/include/drm/vmwgfx_drm.h
  HDRINST usr/include/drm/msm_drm.h
  HDRINST usr/include/drm/etnaviv_drm.h
  HDRINST usr/include/drm/vc4_drm.h
  HDRINST usr/include/drm/panfrost_drm.h
  HDRINST usr/include/drm/lima_drm.h
  HDRINST usr/include/drm/drm.h
  HDRINST usr/include/drm/panthor_drm.h
  HDRINST usr/include/drm/armada_drm.h
  HDRINST usr/include/mtd/inftl-user.h
  HDRINST usr/include/mtd/nftl-user.h
  HDRINST usr/include/mtd/mtd-user.h
  HDRINST usr/include/mtd/ubi-user.h
  HDRINST usr/include/mtd/mtd-abi.h
  HDRINST usr/include/xen/gntdev.h
  HDRINST usr/include/xen/gntalloc.h
  HDRINST usr/include/xen/evtchn.h
  HDRINST usr/include/xen/privcmd.h
  HDRINST usr/include/asm-generic/auxvec.h
  HDRINST usr/include/asm-generic/bitsperlong.h
  HDRINST usr/include/asm-generic/posix_types.h
  HDRINST usr/include/asm-generic/ioctls.h
  HDRINST usr/include/asm-generic/mman.h
  HDRINST usr/include/asm-generic/shmbuf.h
  HDRINST usr/include/asm-generic/bpf_perf_event.h
  HDRINST usr/include/asm-generic/types.h
  HDRINST usr/include/asm-generic/poll.h
  HDRINST usr/include/asm-generic/msgbuf.h
  HDRINST usr/include/asm-generic/swab.h
  HDRINST usr/include/asm-generic/statfs.h
  HDRINST usr/include/asm-generic/unistd.h
  HDRINST usr/include/asm-generic/hugetlb_encode.h
  HDRINST usr/include/asm-generic/resource.h
  HDRINST usr/include/asm-generic/param.h
  HDRINST usr/include/asm-generic/termbits-common.h
  HDRINST usr/include/asm-generic/sockios.h
  HDRINST usr/include/asm-generic/kvm_para.h
  HDRINST usr/include/asm-generic/errno.h
  HDRINST usr/include/asm-generic/termios.h
  HDRINST usr/include/asm-generic/mman-common.h
  HDRINST usr/include/asm-generic/ioctl.h
  HDRINST usr/include/asm-generic/socket.h
  HDRINST usr/include/asm-generic/signal-defs.h
  HDRINST usr/include/asm-generic/termbits.h
  HDRINST usr/include/asm-generic/int-ll64.h
  HDRINST usr/include/asm-generic/signal.h
  HDRINST usr/include/asm-generic/siginfo.h
  HDRINST usr/include/asm-generic/stat.h
  HDRINST usr/include/asm-generic/int-l64.h
  HDRINST usr/include/asm-generic/errno-base.h
  HDRINST usr/include/asm-generic/fcntl.h
  HDRINST usr/include/asm-generic/setup.h
  HDRINST usr/include/asm-generic/sembuf.h
  HDRINST usr/include/asm-generic/ipcbuf.h
  HDRINST usr/include/asm-generic/ucontext.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_cmds.h
  HDRINST usr/include/rdma/irdma-abi.h
  HDRINST usr/include/rdma/mana-abi.h
  HDRINST usr/include/rdma/hfi/hfi1_user.h
  HDRINST usr/include/rdma/hfi/hfi1_ioctl.h
  HDRINST usr/include/rdma/rdma_user_rxe.h
  HDRINST usr/include/rdma/rdma_user_ioctl.h
  HDRINST usr/include/rdma/mlx5_user_ioctl_verbs.h
  HDRINST usr/include/rdma/bnxt_re-abi.h
  HDRINST usr/include/rdma/hns-abi.h
  HDRINST usr/include/rdma/qedr-abi.h
  HDRINST usr/include/rdma/ib_user_ioctl_cmds.h
  HDRINST usr/include/rdma/vmw_pvrdma-abi.h
  HDRINST usr/include/rdma/ib_user_sa.h
  HDRINST usr/include/rdma/ib_user_ioctl_verbs.h
  HDRINST usr/include/rdma/rvt-abi.h
  HDRINST usr/include/rdma/mlx5-abi.h
  HDRINST usr/include/rdma/rdma_netlink.h
  HDRINST usr/include/rdma/erdma-abi.h
  HDRINST usr/include/rdma/rdma_user_ioctl_cmds.h
  HDRINST usr/include/rdma/rdma_user_cm.h
  HDRINST usr/include/rdma/ib_user_verbs.h
  HDRINST usr/include/rdma/efa-abi.h
  HDRINST usr/include/rdma/siw-abi.h
  HDRINST usr/include/rdma/mlx4-abi.h
  HDRINST usr/include/rdma/mthca-abi.h
  HDRINST usr/include/rdma/ib_user_mad.h
  HDRINST usr/include/rdma/ocrdma-abi.h
  HDRINST usr/include/rdma/cxgb4-abi.h
  HDRINST usr/include/misc/xilinx_sdfec.h
  HDRINST usr/include/misc/uacce/hisi_qm.h
  HDRINST usr/include/misc/uacce/uacce.h
  HDRINST usr/include/misc/cxl.h
  HDRINST usr/include/misc/ocxl.h
  HDRINST usr/include/misc/fastrpc.h
  HDRINST usr/include/misc/pvpanic.h
  HDRINST usr/include/linux/i8k.h
  HDRINST usr/include/linux/acct.h
  HDRINST usr/include/linux/atmmpc.h
  HDRINST usr/include/linux/fs.h
  HDRINST usr/include/linux/cifs/cifs_mount.h
  HDRINST usr/include/linux/cifs/cifs_netlink.h
  HDRINST usr/include/linux/if_packet.h
  HDRINST usr/include/linux/route.h
  HDRINST usr/include/linux/patchkey.h
  HDRINST usr/include/linux/tc_ematch/tc_em_cmp.h
  HDRINST usr/include/linux/tc_ematch/tc_em_ipt.h
  HDRINST usr/include/linux/tc_ematch/tc_em_meta.h
  HDRINST usr/include/linux/tc_ematch/tc_em_nbyte.h
  HDRINST usr/include/linux/tc_ematch/tc_em_text.h
  HDRINST usr/include/linux/virtio_pmem.h
  HDRINST usr/include/linux/rkisp1-config.h
  HDRINST usr/include/linux/vhost.h
  HDRINST usr/include/linux/cec-funcs.h
  HDRINST usr/include/linux/ppdev.h
  HDRINST usr/include/linux/isdn/capicmd.h
  HDRINST usr/include/linux/virtio_fs.h
  HDRINST usr/include/linux/netfilter_ipv6.h
  HDRINST usr/include/linux/lirc.h
  HDRINST usr/include/linux/mroute6.h
  HDRINST usr/include/linux/nl80211-vnd-intel.h
  HDRINST usr/include/linux/ivtvfb.h
  HDRINST usr/include/linux/auxvec.h
  HDRINST usr/include/linux/dm-log-userspace.h
  HDRINST usr/include/linux/dccp.h
  HDRINST usr/include/linux/virtio_scmi.h
  HDRINST usr/include/linux/atmarp.h
  HDRINST usr/include/linux/arcfb.h
  HDRINST usr/include/linux/nbd-netlink.h
  HDRINST usr/include/linux/sched/types.h
  HDRINST usr/include/linux/tcp.h
  HDRINST usr/include/linux/neighbour.h
  HDRINST usr/include/linux/dlm_device.h
  HDRINST usr/include/linux/wmi.h
  HDRINST usr/include/linux/btrfs_tree.h
  HDRINST usr/include/linux/virtio_crypto.h
  HDRINST usr/include/linux/edd.h
  HDRINST usr/include/linux/vbox_err.h
  HDRINST usr/include/linux/loop.h
  HDRINST usr/include/linux/nvme_ioctl.h
  HDRINST usr/include/linux/mmtimer.h
  HDRINST usr/include/linux/if_pppol2tp.h
  HDRINST usr/include/linux/mtio.h
  HDRINST usr/include/linux/if_arcnet.h
  HDRINST usr/include/linux/romfs_fs.h
  HDRINST usr/include/linux/posix_types.h
  HDRINST usr/include/linux/rtc.h
  HDRINST usr/include/linux/landlock.h
  HDRINST usr/include/linux/gpio.h
  HDRINST usr/include/linux/selinux_netlink.h
  HDRINST usr/include/linux/pps.h
  HDRINST usr/include/linux/ndctl.h
  HDRINST usr/include/linux/virtio_gpu.h
  HDRINST usr/include/linux/android/binderfs.h
  HDRINST usr/include/linux/android/binder.h
  HDRINST usr/include/linux/virtio_vsock.h
  HDRINST usr/include/linux/sound.h
  HDRINST usr/include/linux/vtpm_proxy.h
  HDRINST usr/include/linux/nfs_fs.h
  HDRINST usr/include/linux/elf-fdpic.h
  HDRINST usr/include/linux/adfs_fs.h
  HDRINST usr/include/linux/target_core_user.h
  HDRINST usr/include/linux/vesa.h
  HDRINST usr/include/linux/netlink_diag.h
  HDRINST usr/include/linux/const.h
  HDRINST usr/include/linux/firewire-cdev.h
  HDRINST usr/include/linux/vdpa.h
  HDRINST usr/include/linux/if_infiniband.h
  HDRINST usr/include/linux/serial.h
  HDRINST usr/include/linux/iio/types.h
  HDRINST usr/include/linux/iio/buffer.h
  HDRINST usr/include/linux/iio/events.h
  HDRINST usr/include/linux/baycom.h
  HDRINST usr/include/linux/major.h
  HDRINST usr/include/linux/atmppp.h
  HDRINST usr/include/linux/lsm.h
  HDRINST usr/include/linux/ipv6_route.h
  HDRINST usr/include/linux/spi/spidev.h
  HDRINST usr/include/linux/spi/spi.h
  HDRINST usr/include/linux/virtio_ring.h
  HDRINST usr/include/linux/hdlc/ioctl.h
  HDRINST usr/include/linux/remoteproc_cdev.h
  HDRINST usr/include/linux/hyperv.h
  HDRINST usr/include/linux/rpl_iptunnel.h
  HDRINST usr/include/linux/sync_file.h
  HDRINST usr/include/linux/igmp.h
  HDRINST usr/include/linux/v4l2-dv-timings.h
  HDRINST usr/include/linux/virtio_i2c.h
  HDRINST usr/include/linux/xfrm.h
  HDRINST usr/include/linux/capability.h
  HDRINST usr/include/linux/gtp.h
  HDRINST usr/include/linux/xdp_diag.h
  HDRINST usr/include/linux/pkt_cls.h
  HDRINST usr/include/linux/suspend_ioctls.h
  HDRINST usr/include/linux/vt.h
  HDRINST usr/include/linux/loadpin.h
  HDRINST usr/include/linux/dlm_plock.h
  HDRINST usr/include/linux/fb.h
  HDRINST usr/include/linux/max2175.h
  HDRINST usr/include/linux/sunrpc/debug.h
  HDRINST usr/include/linux/gsmmux.h
  HDRINST usr/include/linux/watchdog.h
  HDRINST usr/include/linux/vhost_types.h
  HDRINST usr/include/linux/vduse.h
  HDRINST usr/include/linux/ila.h
  HDRINST usr/include/linux/tdx-guest.h
  HDRINST usr/include/linux/close_range.h
  HDRINST usr/include/linux/ivtv.h
  HDRINST usr/include/linux/cryptouser.h
  HDRINST usr/include/linux/netfilter/xt_string.h
  HDRINST usr/include/linux/netfilter/nfnetlink_compat.h
  HDRINST usr/include/linux/netfilter/nf_nat.h
  HDRINST usr/include/linux/netfilter/xt_recent.h
  HDRINST usr/include/linux/netfilter/xt_addrtype.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tcp.h
  HDRINST usr/include/linux/netfilter/xt_SYNPROXY.h
  HDRINST usr/include/linux/netfilter/xt_MARK.h
  HDRINST usr/include/linux/netfilter/xt_multiport.h
  HDRINST usr/include/linux/netfilter/nfnetlink.h
  HDRINST usr/include/linux/netfilter/xt_cgroup.h
  HDRINST usr/include/linux/netfilter/nf_synproxy.h
  HDRINST usr/include/linux/netfilter/xt_TCPOPTSTRIP.h
  HDRINST usr/include/linux/netfilter/nfnetlink_log.h
  HDRINST usr/include/linux/netfilter/xt_TPROXY.h
  HDRINST usr/include/linux/netfilter/xt_u32.h
  HDRINST usr/include/linux/netfilter/nfnetlink_osf.h
  HDRINST usr/include/linux/netfilter/xt_ecn.h
  HDRINST usr/include/linux/netfilter/xt_esp.h
  HDRINST usr/include/linux/netfilter/nfnetlink_hook.h
  HDRINST usr/include/linux/netfilter/xt_mac.h
  HDRINST usr/include/linux/netfilter/xt_comment.h
  HDRINST usr/include/linux/netfilter/xt_NFQUEUE.h
  HDRINST usr/include/linux/netfilter/xt_osf.h
  HDRINST usr/include/linux/netfilter/xt_hashlimit.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_sctp.h
  HDRINST usr/include/linux/netfilter/xt_socket.h
  HDRINST usr/include/linux/netfilter/xt_connmark.h
  HDRINST usr/include/linux/netfilter/xt_sctp.h
  HDRINST usr/include/linux/netfilter/xt_tcpudp.h
  HDRINST usr/include/linux/netfilter/xt_DSCP.h
  HDRINST usr/include/linux/netfilter/xt_time.h
  HDRINST usr/include/linux/netfilter/xt_IDLETIMER.h
  HDRINST usr/include/linux/netfilter/xt_policy.h
  HDRINST usr/include/linux/netfilter/xt_rpfilter.h
  HDRINST usr/include/linux/netfilter/xt_SECMARK.h
  HDRINST usr/include/linux/netfilter/xt_nfacct.h
  HDRINST usr/include/linux/netfilter/xt_length.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cthelper.h
  HDRINST usr/include/linux/netfilter/xt_quota.h
  HDRINST usr/include/linux/netfilter/xt_CLASSIFY.h
  HDRINST usr/include/linux/netfilter/xt_ipcomp.h
  HDRINST usr/include/linux/netfilter/xt_iprange.h
  HDRINST usr/include/linux/netfilter/xt_bpf.h
  HDRINST usr/include/linux/netfilter/xt_LOG.h
  HDRINST usr/include/linux/netfilter/xt_rateest.h
  HDRINST usr/include/linux/netfilter/xt_CONNSECMARK.h
  HDRINST usr/include/linux/netfilter/xt_HMARK.h
  HDRINST usr/include/linux/netfilter/xt_CONNMARK.h
  HDRINST usr/include/linux/netfilter/xt_pkttype.h
  HDRINST usr/include/linux/netfilter/xt_ipvs.h
  HDRINST usr/include/linux/netfilter/xt_devgroup.h
  HDRINST usr/include/linux/netfilter/xt_AUDIT.h
  HDRINST usr/include/linux/netfilter/xt_realm.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_common.h
  HDRINST usr/include/linux/netfilter/xt_set.h
  HDRINST usr/include/linux/netfilter/xt_LED.h
  HOSTLD  scripts/genksyms/genksyms
  HDRINST usr/include/linux/netfilter/xt_owner.h
  HDRINST usr/include/linux/netfilter/xt_connlabel.h
  HDRINST usr/include/linux/netfilter/xt_dccp.h
  HDRINST usr/include/linux/netfilter/xt_limit.h
  HDRINST usr/include/linux/netfilter/xt_conntrack.h
  HDRINST usr/include/linux/netfilter/xt_TEE.h
  HDRINST usr/include/linux/netfilter/xt_RATEEST.h
  HDRINST usr/include/linux/netfilter/xt_connlimit.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_list.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_hash.h
  HDRINST usr/include/linux/netfilter/ipset/ip_set_bitmap.h
  HDRINST usr/include/linux/netfilter/x_tables.h
  HDRINST usr/include/linux/netfilter/xt_dscp.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_ftp.h
  HDRINST usr/include/linux/netfilter/xt_cluster.h
  HDRINST usr/include/linux/netfilter/nf_conntrack_tuple_common.h
  HDRINST usr/include/linux/netfilter/nf_log.h
  HDRINST usr/include/linux/netfilter/xt_tcpmss.h
  HDRINST usr/include/linux/netfilter/xt_NFLOG.h
  HDRINST usr/include/linux/netfilter/xt_l2tp.h
  HDRINST usr/include/linux/netfilter/xt_helper.h
  HDRINST usr/include/linux/netfilter/xt_statistic.h
  HDRINST usr/include/linux/netfilter/nfnetlink_queue.h
  HDRINST usr/include/linux/netfilter/nfnetlink_cttimeout.h
  HDRINST usr/include/linux/netfilter/xt_CT.h
  HDRINST usr/include/linux/netfilter/xt_CHECKSUM.h
  HDRINST usr/include/linux/netfilter/xt_connbytes.h
  HDRINST usr/include/linux/netfilter/xt_state.h
  HDRINST usr/include/linux/netfilter/nf_tables.h
  HDRINST usr/include/linux/netfilter/xt_mark.h
  HDRINST usr/include/linux/netfilter/xt_cpu.h
  HDRINST usr/include/linux/netfilter/nf_tables_compat.h
  HDRINST usr/include/linux/netfilter/xt_physdev.h
  HDRINST usr/include/linux/netfilter/nfnetlink_conntrack.h
  HDRINST usr/include/linux/netfilter/nfnetlink_acct.h
  HDRINST usr/include/linux/tty_flags.h
  HDRINST usr/include/linux/netfilter/xt_TCPMSS.h
  HDRINST usr/include/linux/if_phonet.h
  HDRINST usr/include/linux/elf-em.h
  HDRINST usr/include/linux/vm_sockets.h
  HDRINST usr/include/linux/dlmconstants.h
  HDRINST usr/include/linux/bsg.h
  HDRINST usr/include/linux/matroxfb.h
  HDRINST usr/include/linux/sysctl.h
  HDRINST usr/include/linux/unix_diag.h
  HDRINST usr/include/linux/pcitest.h
  HDRINST usr/include/linux/mman.h
  HDRINST usr/include/linux/if_plip.h
  HDRINST usr/include/linux/virtio_balloon.h
  HDRINST usr/include/linux/pidfd.h
  HDRINST usr/include/linux/f2fs.h
  HDRINST usr/include/linux/x25.h
  HDRINST usr/include/linux/if_cablemodem.h
  HDRINST usr/include/linux/utsname.h
  HDRINST usr/include/linux/counter.h
  HDRINST usr/include/linux/atm_tcp.h
  HDRINST usr/include/linux/atalk.h
  HDRINST usr/include/linux/virtio_rng.h
  HDRINST usr/include/linux/vboxguest.h
  HDRINST usr/include/linux/bpf_perf_event.h
  HDRINST usr/include/linux/ipmi_ssif_bmc.h
  CC      scripts/mod/empty.o
  HDRINST usr/include/linux/nfs_mount.h
  HOSTCC  scripts/mod/mk_elfconfig
  HDRINST usr/include/linux/sonet.h
  HDRINST usr/include/linux/netfilter.h
  CC      scripts/mod/devicetable-offsets.s
  HDRINST usr/include/linux/keyctl.h
  HDRINST usr/include/linux/nl80211.h
  HDRINST usr/include/linux/misc/bcm_vk.h
  HDRINST usr/include/linux/audit.h
  HDRINST usr/include/linux/tipc_config.h
  HDRINST usr/include/linux/tipc_sockets_diag.h
  HDRINST usr/include/linux/futex.h
  HDRINST usr/include/linux/sev-guest.h
  HDRINST usr/include/linux/ublk_cmd.h
  HDRINST usr/include/linux/types.h
  HDRINST usr/include/linux/virtio_input.h
  LD      /kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  HDRINST usr/include/linux/if_slip.h
  HDRINST usr/include/linux/personality.h
  HDRINST usr/include/linux/openat2.h
  HDRINST usr/include/linux/poll.h
  HDRINST usr/include/linux/posix_acl.h
  HDRINST usr/include/linux/smc_diag.h
  HDRINST usr/include/linux/snmp.h
  HDRINST usr/include/linux/errqueue.h
  HDRINST usr/include/linux/if_tunnel.h
  HDRINST usr/include/linux/fanotify.h
  HDRINST usr/include/linux/kernel.h
  HDRINST usr/include/linux/rtnetlink.h
  HDRINST usr/include/linux/rpl.h
  HDRINST usr/include/linux/memfd.h
  HDRINST usr/include/linux/serial_core.h
  HDRINST usr/include/linux/dns_resolver.h
  HDRINST usr/include/linux/pr.h
  HDRINST usr/include/linux/atm_eni.h
  HDRINST usr/include/linux/lp.h
  HDRINST usr/include/linux/virtio_mem.h
  HDRINST usr/include/linux/ultrasound.h
  HDRINST usr/include/linux/sctp.h
  HDRINST usr/include/linux/uio.h
  HDRINST usr/include/linux/tcp_metrics.h
  HDRINST usr/include/linux/wwan.h
  HDRINST usr/include/linux/atmbr2684.h
  AR      /kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  HDRINST usr/include/linux/in_route.h
  HDRINST usr/include/linux/qemu_fw_cfg.h
  HDRINST usr/include/linux/if_macsec.h
  HDRINST usr/include/linux/usb/charger.h
  HDRINST usr/include/linux/usb/g_uvc.h
  HDRINST usr/include/linux/usb/gadgetfs.h
  HDRINST usr/include/linux/usb/raw_gadget.h
  HDRINST usr/include/linux/usb/cdc-wdm.h
  HDRINST usr/include/linux/usb/g_printer.h
  HDRINST usr/include/linux/usb/midi.h
  HDRINST usr/include/linux/usb/tmc.h
  HDRINST usr/include/linux/usb/video.h
  HDRINST usr/include/linux/usb/functionfs.h
  HDRINST usr/include/linux/usb/audio.h
  HDRINST usr/include/linux/usb/ch11.h
  HDRINST usr/include/linux/usb/ch9.h
  HDRINST usr/include/linux/usb/cdc.h
  HDRINST usr/include/linux/jffs2.h
  HDRINST usr/include/linux/auto_fs.h
  HDRINST usr/include/linux/ax25.h
  HDRINST usr/include/linux/tiocl.h
  HDRINST usr/include/linux/scc.h
  HDRINST usr/include/linux/psci.h
  HDRINST usr/include/linux/swab.h
  HDRINST usr/include/linux/cec.h
  HDRINST usr/include/linux/kfd_ioctl.h
  HDRINST usr/include/linux/smc.h
  HDRINST usr/include/linux/qrtr.h
  HDRINST usr/include/linux/screen_info.h
  HDRINST usr/include/linux/nfsacl.h
  HDRINST usr/include/linux/seg6_hmac.h
  HDRINST usr/include/linux/gameport.h
  HDRINST usr/include/linux/wireless.h
  HDRINST usr/include/linux/fdreg.h
  HDRINST usr/include/linux/cciss_defs.h
  HDRINST usr/include/linux/serial_reg.h
  HDRINST usr/include/linux/perf_event.h
  HDRINST usr/include/linux/in6.h
  HDRINST usr/include/linux/hid.h
  HDRINST usr/include/linux/thp7312.h
  HDRINST usr/include/linux/netlink.h
  HDRINST usr/include/linux/fuse.h
  HDRINST usr/include/linux/magic.h
  HDRINST usr/include/linux/ioam6_iptunnel.h
  HDRINST usr/include/linux/stm.h
  HDRINST usr/include/linux/vsockmon.h
  HDRINST usr/include/linux/seg6.h
  HDRINST usr/include/linux/idxd.h
  HDRINST usr/include/linux/nitro_enclaves.h
  HDRINST usr/include/linux/ptrace.h
  HDRINST usr/include/linux/ioam6_genl.h
  HDRINST usr/include/linux/qnx4_fs.h
  HDRINST usr/include/linux/fsl_mc.h
  HDRINST usr/include/linux/net_tstamp.h
  HDRINST usr/include/linux/msg.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_TTL.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ttl.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ah.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ECN.h
  CC      /kernel/build64-default/tools/objtool/weak.o
  HDRINST usr/include/linux/netfilter_ipv4/ip_tables.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_ecn.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
  CC      /kernel/build64-default/tools/objtool/check.o
  HDRINST usr/include/linux/netfilter_ipv4/ipt_LOG.h
  HDRINST usr/include/linux/netfilter_ipv4/ipt_REJECT.h
  CC      /kernel/build64-default/tools/objtool/special.o
  MKDIR   /kernel/build64-default/tools/objtool/arch/x86/
  HDRINST usr/include/linux/sem.h
  HDRINST usr/include/linux/net_namespace.h
  MKDIR   /kernel/build64-default/tools/objtool/arch/x86/lib/
  CC      /kernel/build64-default/tools/objtool/builtin-check.o
  CC      /kernel/build64-default/tools/objtool/elf.o
  MKDIR   /kernel/build64-default/tools/objtool/arch/x86/
  HDRINST usr/include/linux/radeonfb.h
  HDRINST usr/include/linux/tee.h
  CC      /kernel/build64-default/tools/objtool/objtool.o
  HDRINST usr/include/linux/udp.h
  CC      /kernel/build64-default/tools/objtool/orc_gen.o
  CC      /kernel/build64-default/tools/objtool/arch/x86/special.o
  GEN     /kernel/build64-default/tools/objtool/arch/x86/lib/inat-tables.c
  HDRINST usr/include/linux/virtio_bt.h
  HDRINST usr/include/linux/v4l2-subdev.h
  CC      /kernel/build64-default/tools/objtool/orc_dump.o
  HDRINST usr/include/linux/posix_acl_xattr.h
  CC      /kernel/build64-default/tools/objtool/libstring.o
  HDRINST usr/include/linux/v4l2-mediabus.h
  HDRINST usr/include/linux/atmapi.h
  CC      /kernel/build64-default/tools/objtool/arch/x86/orc.o
  CC      /kernel/build64-default/tools/objtool/libctype.o
  HDRINST usr/include/linux/raid/md_p.h
  HDRINST usr/include/linux/raid/md_u.h
  CC      /kernel/build64-default/tools/objtool/str_error_r.o
  CC      /kernel/build64-default/tools/objtool/librbtree.o
  HDRINST usr/include/linux/zorro_ids.h
  HDRINST usr/include/linux/nbd.h
  HDRINST usr/include/linux/isst_if.h
  HDRINST usr/include/linux/rxrpc.h
  HDRINST usr/include/linux/unistd.h
  HDRINST usr/include/linux/if_arp.h
  HDRINST usr/include/linux/atm_zatm.h
  HDRINST usr/include/linux/io_uring.h
  HDRINST usr/include/linux/if_fddi.h
  HDRINST usr/include/linux/bpqether.h
  HDRINST usr/include/linux/sysinfo.h
  HDRINST usr/include/linux/auto_dev-ioctl.h
  HDRINST usr/include/linux/nfs4_mount.h
  HDRINST usr/include/linux/keyboard.h
  HDRINST usr/include/linux/virtio_mmio.h
  HDRINST usr/include/linux/input.h
  HDRINST usr/include/linux/qnxtypes.h
  HDRINST usr/include/linux/mdio.h
  HDRINST usr/include/linux/lwtunnel.h
  HDRINST usr/include/linux/gfs2_ondisk.h
  MKELF   scripts/mod/elfconfig.h
  HDRINST usr/include/linux/eventfd.h
  HDRINST usr/include/linux/nfs4.h
  HDRINST usr/include/linux/ptp_clock.h
  HDRINST usr/include/linux/nubus.h
  HOSTCC  scripts/mod/modpost.o
  HDRINST usr/include/linux/if_bonding.h
  HOSTCC  scripts/mod/sumversion.o
  HDRINST usr/include/linux/kcov.h
  HOSTCC  scripts/mod/symsearch.o
  HDRINST usr/include/linux/fadvise.h
  HDRINST usr/include/linux/taskstats.h
  HDRINST usr/include/linux/veth.h
  HDRINST usr/include/linux/atm.h
  HDRINST usr/include/linux/ipmi.h
  HDRINST usr/include/linux/kdev_t.h
  HDRINST usr/include/linux/mount.h
  HDRINST usr/include/linux/shm.h
  HDRINST usr/include/linux/resource.h
  HDRINST usr/include/linux/prctl.h
  HDRINST usr/include/linux/watch_queue.h
  HDRINST usr/include/linux/sched.h
  HDRINST usr/include/linux/phonet.h
  HDRINST usr/include/linux/random.h
  HDRINST usr/include/linux/tty.h
  HDRINST usr/include/linux/apm_bios.h
  HDRINST usr/include/linux/fd.h
  CC      /kernel/build64-default/tools/objtool/arch/x86/decode.o
  HDRINST usr/include/linux/um_timetravel.h
  HDRINST usr/include/linux/tls.h
  HDRINST usr/include/linux/rpmsg_types.h
  HDRINST usr/include/linux/pfrut.h
  HDRINST usr/include/linux/mei.h
  HDRINST usr/include/linux/fsi.h
  HDRINST usr/include/linux/rds.h
  HDRINST usr/include/linux/if_x25.h
  HDRINST usr/include/linux/param.h
  HDRINST usr/include/linux/netdevice.h
  HDRINST usr/include/linux/binfmts.h
  HDRINST usr/include/linux/if_pppox.h
  HDRINST usr/include/linux/sockios.h
  HDRINST usr/include/linux/kcm.h
  HDRINST usr/include/linux/virtio_9p.h
  HDRINST usr/include/linux/genwqe/genwqe_card.h
  HDRINST usr/include/linux/if_tun.h
  HDRINST usr/include/linux/ext4.h
  HDRINST usr/include/linux/if_ether.h
  HDRINST usr/include/linux/kvm_para.h
  HDRINST usr/include/linux/kernel-page-flags.h
  HDRINST usr/include/linux/cdrom.h
  HDRINST usr/include/linux/un.h
  HDRINST usr/include/linux/module.h
  UPD     scripts/mod/devicetable-offsets.h
  HDRINST usr/include/linux/mqueue.h
  HDRINST usr/include/linux/a.out.h
  HDRINST usr/include/linux/input-event-codes.h
  HDRINST usr/include/linux/coda.h
  HDRINST usr/include/linux/rio_mport_cdev.h
  HDRINST usr/include/linux/ipsec.h
  HDRINST usr/include/linux/blkpg.h
  HDRINST usr/include/linux/blkzoned.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arpreply.h
  HOSTCC  scripts/mod/file2alias.o
  HDRINST usr/include/linux/netfilter_bridge/ebt_redirect.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nflog.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_802_3.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_nat.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_m.h
  HDRINST usr/include/linux/netfilter_bridge/ebtables.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_vlan.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_limit.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_log.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_stp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_pkttype.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_ip6.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_arp.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_mark_t.h
  HDRINST usr/include/linux/netfilter_bridge/ebt_among.h
  HDRINST usr/include/linux/reiserfs_fs.h
  HDRINST usr/include/linux/cciss_ioctl.h
  HDRINST usr/include/linux/fsmap.h
  HDRINST usr/include/linux/smiapp.h
  HDRINST usr/include/linux/switchtec_ioctl.h
  HDRINST usr/include/linux/atmdev.h
  HDRINST usr/include/linux/hpet.h
  HDRINST usr/include/linux/virtio_config.h
  HDRINST usr/include/linux/string.h
  HDRINST usr/include/linux/nsm.h
  HDRINST usr/include/linux/inet_diag.h
  HDRINST usr/include/linux/kfd_sysfs.h
  HDRINST usr/include/linux/netdev.h
  HDRINST usr/include/linux/xattr.h
  HDRINST usr/include/linux/iommufd.h
  HDRINST usr/include/linux/user_events.h
  HDRINST usr/include/linux/errno.h
  HDRINST usr/include/linux/icmp.h
  HDRINST usr/include/linux/i2o-dev.h
  HDRINST usr/include/linux/pg.h
  HDRINST usr/include/linux/if_bridge.h
  HDRINST usr/include/linux/thermal.h
  HDRINST usr/include/linux/uinput.h
  HDRINST usr/include/linux/handshake.h
  HDRINST usr/include/linux/dqblk_xfs.h
  HDRINST usr/include/linux/v4l2-common.h
  HDRINST usr/include/linux/nvram.h
  HDRINST usr/include/linux/if_vlan.h
  HDRINST usr/include/linux/uhid.h
  HDRINST usr/include/linux/omap3isp.h
  HDRINST usr/include/linux/rose.h
  HDRINST usr/include/linux/phantom.h
  HDRINST usr/include/linux/dpll.h
  HDRINST usr/include/linux/ipmi_msgdefs.h
  HDRINST usr/include/linux/bcm933xx_hcs.h
  HDRINST usr/include/linux/bpf.h
  HDRINST usr/include/linux/mempolicy.h
  HDRINST usr/include/linux/efs_fs_sb.h
  HDRINST usr/include/linux/nexthop.h
  HDRINST usr/include/linux/net_dropmon.h
  HDRINST usr/include/linux/surface_aggregator/cdev.h
  HDRINST usr/include/linux/surface_aggregator/dtx.h
  HDRINST usr/include/linux/net.h
  HDRINST usr/include/linux/mii.h
  HDRINST usr/include/linux/virtio_pcidev.h
  HDRINST usr/include/linux/termios.h
  HDRINST usr/include/linux/cgroupstats.h
  HDRINST usr/include/linux/mpls.h
  HDRINST usr/include/linux/toshiba.h
  HDRINST usr/include/linux/virtio_scsi.h
  HDRINST usr/include/linux/zorro.h
  HDRINST usr/include/linux/chio.h
  HDRINST usr/include/linux/pkt_sched.h
  HDRINST usr/include/linux/cramfs_fs.h
  HDRINST usr/include/linux/nfs3.h
  HDRINST usr/include/linux/vfio_ccw.h
  HDRINST usr/include/linux/atm_nicstar.h
  HDRINST usr/include/linux/ncsi.h
  HDRINST usr/include/linux/virtio_net.h
  HDRINST usr/include/linux/stddef.h
  HDRINST usr/include/linux/ioctl.h
  HDRINST usr/include/linux/limits.h
  HDRINST usr/include/linux/ipmi_bmc.h
  HDRINST usr/include/linux/netfilter_arp.h
  HDRINST usr/include/linux/if_addr.h
  HDRINST usr/include/linux/rpmsg.h
  HDRINST usr/include/linux/media-bus-format.h
  HDRINST usr/include/linux/kernelcapi.h
  HDRINST usr/include/linux/ppp_defs.h
  HDRINST usr/include/linux/ethtool.h
  HDRINST usr/include/linux/aspeed-video.h
  HDRINST usr/include/linux/hdlc.h
  HDRINST usr/include/linux/fscrypt.h
  HDRINST usr/include/linux/batadv_packet.h
  HDRINST usr/include/linux/uuid.h
  HDRINST usr/include/linux/capi.h
  HDRINST usr/include/linux/mptcp.h
  HDRINST usr/include/linux/hidraw.h
  HDRINST usr/include/linux/virtio_console.h
  HDRINST usr/include/linux/irqnr.h
  HDRINST usr/include/linux/coresight-stm.h
  HDRINST usr/include/linux/cxl_mem.h
  HDRINST usr/include/linux/iso_fs.h
  HDRINST usr/include/linux/virtio_blk.h
  HDRINST usr/include/linux/udf_fs_i.h
  HDRINST usr/include/linux/coff.h
  HDRINST usr/include/linux/dma-buf.h
  HDRINST usr/include/linux/ife.h
  HDRINST usr/include/linux/agpgart.h
  HDRINST usr/include/linux/socket.h
  HDRINST usr/include/linux/nilfs2_ondisk.h
  HDRINST usr/include/linux/connector.h
  HDRINST usr/include/linux/auto_fs4.h
  HDRINST usr/include/linux/bt-bmc.h
  HDRINST usr/include/linux/map_to_7segment.h
  HDRINST usr/include/linux/tc_act/tc_skbedit.h
  HDRINST usr/include/linux/tc_act/tc_ctinfo.h
  HDRINST usr/include/linux/tc_act/tc_defact.h
  HDRINST usr/include/linux/tc_act/tc_gact.h
  HDRINST usr/include/linux/tc_act/tc_vlan.h
  HDRINST usr/include/linux/tc_act/tc_skbmod.h
  HDRINST usr/include/linux/tc_act/tc_sample.h
  HDRINST usr/include/linux/tc_act/tc_tunnel_key.h
  HDRINST usr/include/linux/tc_act/tc_gate.h
  HDRINST usr/include/linux/tc_act/tc_mirred.h
  HDRINST usr/include/linux/tc_act/tc_nat.h
  HDRINST usr/include/linux/tc_act/tc_csum.h
  HDRINST usr/include/linux/tc_act/tc_connmark.h
  HDRINST usr/include/linux/tc_act/tc_ife.h
  HDRINST usr/include/linux/tc_act/tc_mpls.h
  HDRINST usr/include/linux/tc_act/tc_ct.h
  HDRINST usr/include/linux/tc_act/tc_pedit.h
  HDRINST usr/include/linux/tc_act/tc_bpf.h
  HDRINST usr/include/linux/netrom.h
  HDRINST usr/include/linux/joystick.h
  HDRINST usr/include/linux/falloc.h
  HDRINST usr/include/linux/cycx_cfm.h
  HDRINST usr/include/linux/omapfb.h
  HDRINST usr/include/linux/msdos_fs.h
  HDRINST usr/include/linux/virtio_types.h
  HDRINST usr/include/linux/mroute.h
  HDRINST usr/include/linux/psample.h
  HDRINST usr/include/linux/ipv6.h
  HDRINST usr/include/linux/nfsd_netlink.h
  HDRINST usr/include/linux/dw100.h
  HDRINST usr/include/linux/psp-sev.h
  HDRINST usr/include/linux/vfio.h
  HDRINST usr/include/linux/if_ppp.h
  HDRINST usr/include/linux/byteorder/big_endian.h
  HDRINST usr/include/linux/byteorder/little_endian.h
  HDRINST usr/include/linux/comedi.h
  HDRINST usr/include/linux/scif_ioctl.h
  HDRINST usr/include/linux/timerfd.h
  HDRINST usr/include/linux/time_types.h
  HDRINST usr/include/linux/firewire-constants.h
  HDRINST usr/include/linux/virtio_snd.h
  HDRINST usr/include/linux/ppp-ioctl.h
  HDRINST usr/include/linux/fib_rules.h
  HDRINST usr/include/linux/gen_stats.h
  HDRINST usr/include/linux/virtio_iommu.h
  HDRINST usr/include/linux/uvcvideo.h
  HDRINST usr/include/linux/genetlink.h
  HDRINST usr/include/linux/pfkeyv2.h
  HDRINST usr/include/linux/soundcard.h
  HDRINST usr/include/linux/times.h
  HDRINST usr/include/linux/nfc.h
  HDRINST usr/include/linux/affs_hardblocks.h
  HDRINST usr/include/linux/nilfs2_api.h
  HDRINST usr/include/linux/rseq.h
  HDRINST usr/include/linux/caif/caif_socket.h
  HDRINST usr/include/linux/caif/if_caif.h
  HDRINST usr/include/linux/i2c-dev.h
  HDRINST usr/include/linux/cuda.h
  HDRINST usr/include/linux/mei_uuid.h
  HDRINST usr/include/linux/cn_proc.h
  HDRINST usr/include/linux/parport.h
  HDRINST usr/include/linux/v4l2-controls.h
  HDRINST usr/include/linux/hsi/cs-protocol.h
  HDRINST usr/include/linux/hsi/hsi_char.h
  HDRINST usr/include/linux/seg6_genl.h
  HDRINST usr/include/linux/am437x-vpfe.h
  HDRINST usr/include/linux/amt.h
  HDRINST usr/include/linux/netconf.h
  HDRINST usr/include/linux/erspan.h
  HDRINST usr/include/linux/nsfs.h
  HDRINST usr/include/linux/xilinx-v4l2-controls.h
  HDRINST usr/include/linux/aspeed-p2a-ctrl.h
  HDRINST usr/include/linux/vfio_zdev.h
  HDRINST usr/include/linux/serio.h
  HDRINST usr/include/linux/acrn.h
  HDRINST usr/include/linux/nfs2.h
  HDRINST usr/include/linux/mptcp_pm.h
  HDRINST usr/include/linux/virtio_pci.h
  HDRINST usr/include/linux/ipc.h
  HDRINST usr/include/linux/ethtool_netlink.h
  HDRINST usr/include/linux/kd.h
  HDRINST usr/include/linux/elf.h
  HDRINST usr/include/linux/videodev2.h
  HDRINST usr/include/linux/if_alg.h
  HDRINST usr/include/linux/sonypi.h
  HDRINST usr/include/linux/fsverity.h
  HDRINST usr/include/linux/if.h
  HDRINST usr/include/linux/btrfs.h
  HDRINST usr/include/linux/vm_sockets_diag.h
  HDRINST usr/include/linux/netfilter_bridge.h
  HDRINST usr/include/linux/packet_diag.h
  HDRINST usr/include/linux/netfilter_ipv4.h
  HDRINST usr/include/linux/kvm.h
  HDRINST usr/include/linux/pci.h
  HDRINST usr/include/linux/if_addrlabel.h
  HDRINST usr/include/linux/hdlcdrv.h
  HDRINST usr/include/linux/cfm_bridge.h
  HDRINST usr/include/linux/fiemap.h
  HDRINST usr/include/linux/dm-ioctl.h
  HDRINST usr/include/linux/aspeed-lpc-ctrl.h
  HDRINST usr/include/linux/atmioc.h
  HDRINST usr/include/linux/dlm.h
  HDRINST usr/include/linux/pci_regs.h
  HDRINST usr/include/linux/cachefiles.h
  HDRINST usr/include/linux/membarrier.h
  HDRINST usr/include/linux/nfs_idmap.h
  HDRINST usr/include/linux/ip.h
  HDRINST usr/include/linux/atm_he.h
  HDRINST usr/include/linux/nfsd/export.h
  HDRINST usr/include/linux/nfsd/stats.h
  HDRINST usr/include/linux/nfsd/debug.h
  HDRINST usr/include/linux/nfsd/cld.h
  HDRINST usr/include/linux/ip_vs.h
  HDRINST usr/include/linux/vmcore.h
  HDRINST usr/include/linux/vbox_vmmdev_types.h
  HDRINST usr/include/linux/dvb/osd.h
  HDRINST usr/include/linux/dvb/dmx.h
  HDRINST usr/include/linux/dvb/net.h
  HDRINST usr/include/linux/dvb/frontend.h
  HDRINST usr/include/linux/dvb/ca.h
  HDRINST usr/include/linux/dvb/version.h
  HDRINST usr/include/linux/dvb/video.h
  HDRINST usr/include/linux/dvb/audio.h
  HDRINST usr/include/linux/nfs.h
  HDRINST usr/include/linux/if_link.h
  HDRINST usr/include/linux/wait.h
  HDRINST usr/include/linux/icmpv6.h
  HDRINST usr/include/linux/media.h
  HDRINST usr/include/linux/seg6_local.h
  HDRINST usr/include/linux/tps6594_pfsm.h
  HDRINST usr/include/linux/openvswitch.h
  HDRINST usr/include/linux/atmsap.h
  HDRINST usr/include/linux/fpga-dfl.h
  HDRINST usr/include/linux/userio.h
  HDRINST usr/include/linux/signal.h
  HDRINST usr/include/linux/map_to_14segment.h
  HDRINST usr/include/linux/hdreg.h
  HDRINST usr/include/linux/utime.h
  HDRINST usr/include/linux/usbdevice_fs.h
  HDRINST usr/include/linux/timex.h
  HDRINST usr/include/linux/if_fc.h
  HDRINST usr/include/linux/reiserfs_xattr.h
  HDRINST usr/include/linux/hw_breakpoint.h
  HDRINST usr/include/linux/quota.h
  HDRINST usr/include/linux/ioprio.h
  HDRINST usr/include/linux/eventpoll.h
  HDRINST usr/include/linux/atmclip.h
  HDRINST usr/include/linux/can.h
  HDRINST usr/include/linux/if_team.h
  HDRINST usr/include/linux/usbip.h
  HDRINST usr/include/linux/stat.h
  HDRINST usr/include/linux/fou.h
  HDRINST usr/include/linux/hash_info.h
  HDRINST usr/include/linux/ppp-comp.h
  HDRINST usr/include/linux/ip6_tunnel.h
  HDRINST usr/include/linux/tipc_netlink.h
  HDRINST usr/include/linux/in.h
  HDRINST usr/include/linux/wireguard.h
  HDRINST usr/include/linux/btf.h
  HDRINST usr/include/linux/batman_adv.h
  HDRINST usr/include/linux/fcntl.h
  HDRINST usr/include/linux/if_ltalk.h
  HDRINST usr/include/linux/i2c.h
  HDRINST usr/include/linux/atm_idt77105.h
  HDRINST usr/include/linux/kexec.h
  HDRINST usr/include/linux/arm_sdei.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6_tables.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ah.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_NPT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_rt.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_REJECT.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_opts.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_srh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_LOG.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_mh.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_HL.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_hl.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_frag.h
  HDRINST usr/include/linux/netfilter_ipv6/ip6t_ipv6header.h
  HDRINST usr/include/linux/minix_fs.h
  HDRINST usr/include/linux/aio_abi.h
  HDRINST usr/include/linux/pktcdvd.h
  HDRINST usr/include/linux/libc-compat.h
  HDRINST usr/include/linux/atmlec.h
  HDRINST usr/include/linux/signalfd.h
  HDRINST usr/include/linux/bpf_common.h
  HDRINST usr/include/linux/seg6_iptunnel.h
  HDRINST usr/include/linux/synclink.h
  HDRINST usr/include/linux/mpls_iptunnel.h
  HDRINST usr/include/linux/mctp.h
  HDRINST usr/include/linux/if_xdp.h
  HDRINST usr/include/linux/llc.h
  HDRINST usr/include/linux/atmsvc.h
  HDRINST usr/include/linux/sed-opal.h
  HDRINST usr/include/linux/sock_diag.h
  HDRINST usr/include/linux/time.h
  HDRINST usr/include/linux/securebits.h
  HDRINST usr/include/linux/fsl_hypervisor.h
  HDRINST usr/include/linux/if_hippi.h
  HDRINST usr/include/linux/seccomp.h
  HDRINST usr/include/linux/oom.h
  HDRINST usr/include/linux/filter.h
  HDRINST usr/include/linux/inotify.h
  HDRINST usr/include/linux/rfkill.h
  HDRINST usr/include/linux/reboot.h
  HDRINST usr/include/linux/bits.h
  HDRINST usr/include/linux/can/vxcan.h
  HDRINST usr/include/linux/can/j1939.h
  HDRINST usr/include/linux/can/netlink.h
  HDRINST usr/include/linux/can/bcm.h
  HDRINST usr/include/linux/can/raw.h
  HDRINST usr/include/linux/can/gw.h
  HDRINST usr/include/linux/can/error.h
  HDRINST usr/include/linux/can/isotp.h
  HDRINST usr/include/linux/if_eql.h
  HDRINST usr/include/linux/psp-dbc.h
  HDRINST usr/include/linux/hiddev.h
  HDRINST usr/include/linux/blktrace_api.h
  HDRINST usr/include/linux/ccs.h
  HDRINST usr/include/linux/ioam6.h
  HDRINST usr/include/linux/hsr_netlink.h
  HDRINST usr/include/linux/mmc/ioctl.h
  HDRINST usr/include/linux/bfs_fs.h
  HDRINST usr/include/linux/npcm-video.h
  HDRINST usr/include/linux/rio_cm_cdev.h
  HDRINST usr/include/linux/uleds.h
  HDRINST usr/include/linux/mrp_bridge.h
  HDRINST usr/include/linux/adb.h
  HDRINST usr/include/linux/pmu.h
  HDRINST usr/include/linux/udmabuf.h
  HDRINST usr/include/linux/kcmp.h
  HDRINST usr/include/linux/dma-heap.h
  HDRINST usr/include/linux/userfaultfd.h
  HDRINST usr/include/linux/netfilter_arp/arpt_mangle.h
  HDRINST usr/include/linux/netfilter_arp/arp_tables.h
  HDRINST usr/include/linux/tipc.h
  HDRINST usr/include/linux/virtio_ids.h
  HDRINST usr/include/linux/l2tp.h
  HDRINST usr/include/linux/devlink.h
  HDRINST usr/include/linux/virtio_gpio.h
  HDRINST usr/include/linux/dcbnl.h
  HDRINST usr/include/linux/cyclades.h
  HDRINST usr/include/regulator/regulator.h
  HDRINST usr/include/sound/intel/avs/tokens.h
  HDRINST usr/include/sound/sof/fw.h
  HDRINST usr/include/sound/sof/abi.h
  HDRINST usr/include/sound/sof/tokens.h
  HDRINST usr/include/sound/sof/header.h
  HDRINST usr/include/sound/usb_stream.h
  HDRINST usr/include/sound/sfnt_info.h
  HDRINST usr/include/sound/asequencer.h
  HDRINST usr/include/sound/tlv.h
  HDRINST usr/include/sound/scarlett2.h
  HDRINST usr/include/sound/asound.h
  HDRINST usr/include/sound/asoc.h
  HDRINST usr/include/sound/sb16_csp.h
  HDRINST usr/include/sound/compress_offload.h
  HDRINST usr/include/sound/hdsp.h
  HDRINST usr/include/sound/emu10k1.h
  HDRINST usr/include/sound/snd_ar_tokens.h
  HDRINST usr/include/sound/snd_sst_tokens.h
  HDRINST usr/include/sound/asound_fm.h
  HDRINST usr/include/sound/hdspm.h
  HDRINST usr/include/sound/compress_params.h
  HDRINST usr/include/sound/firewire.h
  HDRINST usr/include/sound/skl-tplg-interface.h
  HDRINST usr/include/scsi/scsi_bsg_ufs.h
  HDRINST usr/include/scsi/scsi_netlink_fc.h
  HDRINST usr/include/scsi/scsi_bsg_mpi3mr.h
  HDRINST usr/include/scsi/fc/fc_ns.h
  HDRINST usr/include/scsi/fc/fc_fs.h
  HDRINST usr/include/scsi/fc/fc_els.h
  HDRINST usr/include/scsi/fc/fc_gs.h
  HDRINST usr/include/scsi/scsi_bsg_fc.h
  HDRINST usr/include/scsi/cxlflash_ioctl.h
  HDRINST usr/include/scsi/scsi_netlink.h
  HDRINST usr/include/linux/version.h
  HDRINST usr/include/asm/processor-flags.h
  HDRINST usr/include/asm/auxvec.h
  HDRINST usr/include/asm/svm.h
  HDRINST usr/include/asm/bitsperlong.h
  HDRINST usr/include/asm/kvm_perf.h
  HDRINST usr/include/asm/mce.h
  HDRINST usr/include/asm/posix_types.h
  HDRINST usr/include/asm/sigcontext32.h
  HDRINST usr/include/asm/msr.h
  HDRINST usr/include/asm/mman.h
  HDRINST usr/include/asm/e820.h
  HDRINST usr/include/asm/shmbuf.h
  HDRINST usr/include/asm/posix_types_64.h
  HDRINST usr/include/asm/vsyscall.h
  HDRINST usr/include/asm/msgbuf.h
  HDRINST usr/include/asm/swab.h
  HDRINST usr/include/asm/statfs.h
  HDRINST usr/include/asm/posix_types_x32.h
  HDRINST usr/include/asm/ptrace.h
  HDRINST usr/include/asm/unistd.h
  HDRINST usr/include/asm/ist.h
  HDRINST usr/include/asm/prctl.h
  HDRINST usr/include/asm/setup_data.h
  HDRINST usr/include/asm/sigcontext.h
  HDRINST usr/include/asm/boot.h
  HDRINST usr/include/asm/posix_types_32.h
  HDRINST usr/include/asm/kvm_para.h
  HDRINST usr/include/asm/a.out.h
  HDRINST usr/include/asm/mtrr.h
  HDRINST usr/include/asm/amd_hsmp.h
  HDRINST usr/include/asm/hwcap2.h
  HDRINST usr/include/asm/ptrace-abi.h
  HDRINST usr/include/asm/vm86.h
  HDRINST usr/include/asm/vmx.h
  HDRINST usr/include/asm/ldt.h
  HDRINST usr/include/asm/kvm.h
  HDRINST usr/include/asm/perf_regs.h
  HDRINST usr/include/asm/debugreg.h
  HDRINST usr/include/asm/signal.h
  HDRINST usr/include/asm/bootparam.h
  HDRINST usr/include/asm/siginfo.h
  HDRINST usr/include/asm/hw_breakpoint.h
  HDRINST usr/include/asm/stat.h
  HDRINST usr/include/asm/setup.h
  HDRINST usr/include/asm/sembuf.h
  HDRINST usr/include/asm/sgx.h
  HDRINST usr/include/asm/ucontext.h
  HDRINST usr/include/asm/byteorder.h
  HDRINST usr/include/asm/unistd_64.h
  HDRINST usr/include/asm/ioctls.h
  HDRINST usr/include/asm/bpf_perf_event.h
  HDRINST usr/include/asm/types.h
  HDRINST usr/include/asm/poll.h
  HDRINST usr/include/asm/resource.h
  HDRINST usr/include/asm/param.h
  HDRINST usr/include/asm/sockios.h
  HDRINST usr/include/asm/errno.h
  HDRINST usr/include/asm/unistd_x32.h
  HDRINST usr/include/asm/termios.h
  HDRINST usr/include/asm/ioctl.h
  HDRINST usr/include/asm/socket.h
  HDRINST usr/include/asm/unistd_32.h
  HDRINST usr/include/asm/termbits.h
  HDRINST usr/include/asm/fcntl.h
  HDRINST usr/include/asm/ipcbuf.h
  LD      /kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 ../include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 ../include/linux/atomic/atomic-instrumented.h
  CHKSHA1 ../include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    ../scripts/checksyscalls.sh
  SYMLINK scripts/gdb/linux/clk.py
  SYMLINK scripts/gdb/linux/vmalloc.py
  SYMLINK scripts/gdb/linux/config.py
  SYMLINK scripts/gdb/linux/genpd.py
  SYMLINK scripts/gdb/linux/tasks.py
  SYMLINK scripts/gdb/linux/modules.py
  SYMLINK scripts/gdb/linux/proc.py
  SYMLINK scripts/gdb/linux/utils.py
  SYMLINK scripts/gdb/linux/timerlist.py
  SYMLINK scripts/gdb/linux/stackdepot.py
  SYMLINK scripts/gdb/linux/vfs.py
  SYMLINK scripts/gdb/linux/radixtree.py
  SYMLINK scripts/gdb/linux/pgtable.py
  SYMLINK scripts/gdb/linux/lists.py
  SYMLINK scripts/gdb/linux/symbols.py
  SYMLINK scripts/gdb/linux/interrupts.py
  SYMLINK scripts/gdb/linux/__init__.py
  SYMLINK scripts/gdb/linux/cpus.py
  SYMLINK scripts/gdb/linux/mm.py
  SYMLINK scripts/gdb/linux/rbtree.py
  SYMLINK scripts/gdb/linux/page_owner.py
  SYMLINK scripts/gdb/linux/device.py
  SYMLINK scripts/gdb/linux/slab.py
  SYMLINK scripts/gdb/linux/dmesg.py
  GEN     scripts/gdb/linux/constants.py
  LD      /kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /kernel/build64-default/tools/objtool/objtool
  LDS     scripts/module.lds
  CC      ipc/compat.o
  HOSTCC  usr/gen_init_cpio
  AS      arch/x86/lib/clear_page_64.o
  CC      ipc/util.o
  CC      arch/x86/lib/cmdline.o
  AS      arch/x86/lib/cmpxchg16b_emu.o
  CC      init/main.o
  CC      ipc/msgutil.o
  CC      arch/x86/lib/copy_mc.o
  CC      ipc/msg.o
  AS      arch/x86/lib/copy_mc_64.o
  CC      arch/x86/pci/i386.o
  CC      certs/system_keyring.o
  AS      arch/x86/lib/copy_page_64.o
  CC      init/do_mounts.o
  CC      io_uring/io_uring.o
  CC      arch/x86/realmode/init.o
  UPD     init/utsversion-tmp.h
  CC      arch/x86/video/fbdev.o
  CC      arch/x86/power/cpu.o
  CC      arch/x86/platform/pvh/enlighten.o
  AR      samples/vfio-mdev/built-in.a
  AR      drivers/irqchip/built-in.a
  AR      drivers/cache/built-in.a
  CC      virt/lib/irqbypass.o
  CC      arch/x86/xen/enlighten.o
  CC      net/ethernet/eth.o
  CC      net/802/fc.o
  CC      block/partitions/core.o
  CC      mm/kfence/core.o
  CC      net/core/sock.o
  AS      arch/x86/crypto/blake2s-core.o
  GEN     security/selinux/flask.h security/selinux/av_permissions.h
  CC      arch/x86/ia32/audit.o
  CC      arch/x86/mm/pat/set_memory.o
  AR      samples/built-in.a
  CC      arch/x86/coco/tdx/tdx.o
  ASN.1   security/keys/trusted-keys/tpm2key.asn1.[ch]
  CC      fs/notify/dnotify/dnotify.o
  CC      arch/x86/entry/vsyscall/vsyscall_64.o
  CC      arch/x86/crypto/blake2s-glue.o
  CC      arch/x86/kernel/fpu/init.o
  CC      security/keys/trusted-keys/trusted_core.o
  CC      security/selinux/avc.o
  CC      arch/x86/events/amd/core.o
  CC [M]  sound/core/seq/seq.o
  AR      drivers/bus/mhi/built-in.a
  CC      lib/math/div64.o
  CC      lib/kunit/hooks.o
  CC      arch/x86/entry/vdso/vma.o
  AR      drivers/bus/built-in.a
  AS      arch/x86/lib/copy_user_64.o
  AS      arch/x86/lib/copy_user_uncached_64.o
  CC      arch/x86/lib/cpu.o
  CC      kernel/sched/core.o
  AS      arch/x86/lib/csum-copy_64.o
  AR      arch/x86/ia32/built-in.a
  AR      drivers/phy/allwinner/built-in.a
  CC      mm/filemap.o
  AR      drivers/phy/amlogic/built-in.a
  CC      arch/x86/lib/csum-partial_64.o
  CC      crypto/asymmetric_keys/asymmetric_type.o
  CC [M]  crypto/async_tx/async_tx.o
  AR      drivers/phy/broadcom/built-in.a
  CC      lib/math/gcd.o
  AR      drivers/phy/cadence/built-in.a
  CC [M]  sound/core/seq/seq_lock.o
  CC [M]  crypto/async_tx/async_memcpy.o
  AR      drivers/phy/freescale/built-in.a
  AR      drivers/phy/hisilicon/built-in.a
  GEN     usr/initramfs_data.cpio
  CC      fs/crypto/crypto.o
  AR      drivers/phy/ingenic/built-in.a
  CC      lib/math/lcm.o
  COPY    usr/initramfs_inc_data
  AR      drivers/phy/intel/built-in.a
  AS      usr/initramfs_data.o
  AR      drivers/phy/lantiq/built-in.a
  CC      mm/kfence/report.o
  AR      drivers/phy/marvell/built-in.a
  AR      usr/built-in.a
  CC      mm/mempool.o
  AR      drivers/phy/mediatek/built-in.a
  CC      lib/math/int_log.o
  CC      arch/x86/crypto/crc32c-intel_glue.o
  AR      drivers/phy/microchip/built-in.a
  AR      drivers/phy/motorola/built-in.a
  CC      lib/crypto/mpi/generic_mpih-lshift.o
  HOSTCC  certs/extract-cert
  CC      arch/x86/kernel/cpu/mce/core.o
  AR      drivers/phy/mscc/built-in.a
  AR      drivers/phy/qualcomm/built-in.a
  CC [M]  lib/kunit/test.o
  AR      drivers/phy/ralink/built-in.a
  AR      drivers/phy/realtek/built-in.a
  AR      drivers/phy/renesas/built-in.a
  AR      drivers/phy/rockchip/built-in.a
  CC      lib/math/int_pow.o
  AR      drivers/phy/samsung/built-in.a
  CC      lib/math/int_sqrt.o
  CC      lib/math/reciprocal_div.o
  AR      drivers/phy/socionext/built-in.a
  AR      drivers/phy/st/built-in.a
  AS      arch/x86/realmode/rm/header.o
  CC      arch/x86/mm/init.o
  CC      lib/math/rational.o
  AR      drivers/phy/starfive/built-in.a
  AS      arch/x86/platform/pvh/head.o
  AS      arch/x86/realmode/rm/trampoline_64.o
  AR      drivers/phy/sunplus/built-in.a
  CC      arch/x86/kernel/fpu/bugs.o
  AR      drivers/phy/tegra/built-in.a
  CC [M]  lib/math/prime_numbers.o
  AR      arch/x86/platform/pvh/built-in.a
  AR      drivers/phy/ti/built-in.a
  COPY    certs/x509.genkey
  CC      certs/blacklist.o
  AS      arch/x86/realmode/rm/stack.o
  AR      drivers/phy/xilinx/built-in.a
  CC      drivers/phy/phy-core.o
  AR      arch/x86/platform/atom/built-in.a
  AR      arch/x86/platform/ce4100/built-in.a
  GEN     certs/blacklist_hash_list
  CC      arch/x86/pci/init.o
  CC      arch/x86/platform/efi/memmap.o
  AS      arch/x86/realmode/rm/reboot.o
  AR      arch/x86/platform/geode/built-in.a
  AR      arch/x86/platform/iris/built-in.a
  CC      ipc/sem.o
  CC      ipc/shm.o
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      arch/x86/kernel/fpu/core.o
  CC      arch/x86/realmode/rm/wakemain.o
  CC      arch/x86/entry/vdso/extable.o
  AR      fs/notify/dnotify/built-in.a
  AR      virt/lib/built-in.a
  CC      arch/x86/power/hibernate_64.o
  AR      virt/built-in.a
  CC      arch/x86/lib/csum-wrappers_64.o
  CC      fs/notify/inotify/inotify_fsnotify.o
  CC      arch/x86/realmode/rm/video-mode.o
  CC      net/802/fddi.o
  CC [M]  sound/core/seq/seq_clientmgr.o
  CC      arch/x86/coco/tdx/tdx-shared.o
  AS      arch/x86/entry/vsyscall/vsyscall_emu_64.o
  CC      fs/notify/inotify/inotify_user.o
  AS      arch/x86/crypto/crc32c-pcl-intel-asm_64.o
  CC      lib/crypto/mpi/generic_mpih-mul1.o
  AS      arch/x86/realmode/rm/copy.o
  CC      crypto/asymmetric_keys/restrict.o
  CC      crypto/asymmetric_keys/signature.o
  AR      arch/x86/entry/vsyscall/built-in.a
  CC      arch/x86/events/amd/lbr.o
  AS [M]  arch/x86/crypto/aesni-intel_asm.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      mm/oom_kill.o
  CC [M]  net/802/p8022.o
  CC      security/keys/trusted-keys/trusted_tpm1.o
  CC      crypto/api.o
  CC [M]  crypto/async_tx/async_xor.o
  AR      arch/x86/video/built-in.a
  CC      arch/x86/realmode/rm/regs.o
  CC      mm/fadvise.o
  CC [M]  arch/x86/crypto/aesni-intel_glue.o
  CC      arch/x86/realmode/rm/video-vga.o
  CC      arch/x86/xen/mmu.o
  AS      arch/x86/coco/tdx/tdcall.o
  CC      arch/x86/lib/delay.o
  CC      block/partitions/amiga.o
  CC      arch/x86/pci/mmconfig_64.o
  CC      fs/crypto/fname.o
  AR      arch/x86/coco/tdx/built-in.a
  CC      arch/x86/realmode/rm/video-vesa.o
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  CC      arch/x86/coco/core.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/platform/efi/quirks.o
  CC      arch/x86/kernel/cpu/microcode/core.o
  AR      mm/kfence/built-in.a
  CC      arch/x86/realmode/rm/video-bios.o
  AS [M]  arch/x86/crypto/aesni-intel_avx-x86_64.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CERT    certs/x509_revocation_list
  CERT    certs/x509_certificate_list
  CC      security/selinux/hooks.o
  GENKEY  certs/signing_key.pem
  AS [M]  arch/x86/crypto/aes_ctrby8_avx-x86_64.o
Generating a RSA private key
  CC [M]  lib/kunit/resource.o
..........  CC      certs/blacklist_hashes.o
  PASYMS  arch/x86/realmode/rm/pasyms.h
.  AR      lib/math/built-in.a
.  AS      arch/x86/power/hibernate_asm_64.o
..  CC      lib/crypto/mpi/generic_mpih-mul2.o
  LDS     arch/x86/realmode/rm/realmode.lds
  LDS     arch/x86/entry/vdso/vdso.lds
  CC      lib/crypto/mpi/generic_mpih-mul3.o
.  AS      arch/x86/entry/vdso/vdso-note.o
..........  LD      arch/x86/realmode/rm/realmode.elf
  CC      arch/x86/events/intel/core.o
....+  RELOCS  arch/x86/realmode/rm/realmode.relocs
  CC      arch/x86/entry/vdso/vclock_gettime.o
+  AS      arch/x86/entry/entry.o
++
  OBJCOPY arch/x86/realmode/rm/realmode.bin
..  CC      arch/x86/power/hibernate.o
...  AS      arch/x86/realmode/rmpiggy.o
  CC      arch/x86/net/bpf_jit_comp.o
...............................  AR      arch/x86/realmode/built-in.a
.  CC      security/keys/encrypted-keys/encrypted.o
.........  CC      crypto/asymmetric_keys/public_key.o
.  AR      arch/x86/coco/built-in.a
.  CC      security/keys/encrypted-keys/ecryptfs_format.o
..++  CC      arch/x86/lib/error-inject.o
  AS      certs/revocation_certificates.o
++
writing new private key to 'certs/signing_key.pem'
-----
  CC [M]  crypto/async_tx/async_pq.o
  CC      arch/x86/mm/pat/memtype.o
  AR      net/ethernet/built-in.a
  CC      fs/verity/enable.o
  CERT    certs/signing_key.x509
  AS      certs/system_certificates.o
  CC      arch/x86/events/amd/brs.o
  AR      fs/notify/inotify/built-in.a
  CC      fs/notify/fanotify/fanotify.o
  AR      certs/built-in.a
  CC      fs/notify/fanotify/fanotify_user.o
  AR      drivers/phy/built-in.a
  CC      io_uring/xattr.o
  CC      mm/maccess.o
  CC      arch/x86/pci/direct.o
  CC      init/do_mounts_initrd.o
  AR      drivers/pinctrl/actions/built-in.a
  AS [M]  arch/x86/crypto/sha1_avx2_x86_64_asm.o
  CC      arch/x86/kernel/cpu/resctrl/core.o
  AR      drivers/pinctrl/bcm/built-in.a
  CC      arch/x86/kernel/cpu/resctrl/rdtgroup.o
  CC      fs/verity/hash_algs.o
  CC      block/partitions/atari.o
  AR      drivers/pinctrl/cirrus/built-in.a
  CC      arch/x86/kernel/cpu/microcode/intel.o
  CC      arch/x86/entry/vdso/vgetcpu.o
  AS      arch/x86/entry/vdso/vsgx.o
  AR      drivers/pinctrl/freescale/built-in.a
  AS [M]  arch/x86/crypto/sha1_ssse3_asm.o
  CC      lib/crypto/mpi/generic_mpih-rshift.o
  AS      arch/x86/entry/entry_64.o
  CC      drivers/pinctrl/intel/pinctrl-baytrail.o
  CC      lib/crypto/mpi/generic_mpih-sub1.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC [M]  arch/x86/crypto/sha1_ssse3_glue.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  AS [M]  arch/x86/crypto/sha1_ni_asm.o
  CC      ipc/syscall.o
  CC      arch/x86/xen/time.o
  CC [M]  net/802/psnap.o
  AS      arch/x86/lib/getuser.o
  AR      arch/x86/power/built-in.a
  CC      ipc/ipc_sysctl.o
  CC      arch/x86/kernel/cpu/mce/severity.o
  CC      mm/page-writeback.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC [M]  sound/core/seq/seq_memory.o
  CC [M]  lib/kunit/static_stub.o
  CC      fs/crypto/hkdf.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      arch/x86/kernel/fpu/regset.o
  CC      security/keys/trusted-keys/trusted_tpm2.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      arch/x86/pci/mmconfig-shared.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC      mm/folio-compat.o
  CC      fs/verity/init.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  CC      fs/verity/measure.o
  CC      init/initramfs.o
  GEN     arch/x86/lib/inat-tables.c
  CC      arch/x86/platform/efi/efi.o
  CC      net/core/request_sock.o
  CC      arch/x86/kernel/fpu/xstate.o
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  CC      arch/x86/lib/insn-eval.o
  CC      arch/x86/kernel/acpi/boot.o
  ASN.1   crypto/asymmetric_keys/x509.asn1.[ch]
  CC      lib/crypto/mpi/generic_mpih-add1.o
  CC      arch/x86/kernel/apic/apic.o
  ASN.1   crypto/asymmetric_keys/x509_akid.asn1.[ch]
  CC      crypto/asymmetric_keys/x509_loader.o
  CC      block/partitions/aix.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC [M]  crypto/async_tx/async_raid6_recov.o
  CC      arch/x86/kernel/cpu/resctrl/monitor.o
  CC      arch/x86/mm/pat/memtype_interval.o
  AS [M]  arch/x86/crypto/sha256-ssse3-asm.o
  CC      arch/x86/kernel/kprobes/core.o
  CC      ipc/mqueue.o
  CC      security/keys/encrypted-keys/masterkey_trusted.o
  AS [M]  arch/x86/crypto/sha256-avx-asm.o
  CC      drivers/pinctrl/intel/pinctrl-cherryview.o
  CC      arch/x86/platform/efi/efi_64.o
  AS [M]  arch/x86/crypto/sha256-avx2-asm.o
  CC      arch/x86/xen/grant-table.o
  CC      fs/crypto/hooks.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      arch/x86/kernel/cpu/microcode/amd.o
  CC [M]  arch/x86/crypto/sha256_ssse3_glue.o
  AR      fs/notify/fanotify/built-in.a
  CC      fs/verity/open.o
  CC      mm/readahead.o
  AR      fs/nfs_common/built-in.a
  CC [M]  fs/nfs_common/grace.o
  CC      mm/swap.o
  CC      fs/notify/fsnotify.o
  CC      arch/x86/events/amd/ibs.o
  CC      crypto/asymmetric_keys/x509_public_key.o
  CC [M]  lib/kunit/string-stream.o
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  CC      lib/crypto/mpi/ec.o
  CC      security/keys/trusted-keys/tpm2key.asn1.o
  CC      arch/x86/kernel/cpu/mce/amd.o
  CC      arch/x86/pci/xen.o
  CC      io_uring/nop.o
  AR      security/keys/trusted-keys/built-in.a
  CC [M]  sound/core/seq/seq_queue.o
  CC      arch/x86/kernel/apic/apic_noop.o
  AR      arch/x86/mm/pat/built-in.a
  CC      arch/x86/lib/insn.o
  CC      arch/x86/mm/init_64.o
  CC      mm/truncate.o
  CC      mm/vmscan.o
  CC      init/calibrate.o
  CC      net/core/skbuff.o
  AR      security/keys/encrypted-keys/built-in.a
  CC [M]  net/802/stp.o
  CC      security/keys/gc.o
  CC      block/partitions/cmdline.o
  AR      arch/x86/net/built-in.a
  CC      ipc/namespace.o
  CC      arch/x86/xen/suspend.o
  CC      kernel/locking/mutex.o
  CC      arch/x86/events/intel/bts.o
  ASN.1   crypto/asymmetric_keys/pkcs7.asn1.[ch]
  CC      crypto/asymmetric_keys/pkcs7_trust.o
  AS      arch/x86/lib/memcpy_64.o
  CC      arch/x86/kernel/cpu/resctrl/ctrlmondata.o
  CC      fs/verity/read_metadata.o
  CC [M]  lib/kunit/assert.o
  CC      kernel/locking/semaphore.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      arch/x86/kernel/kprobes/opt.o
  AS [M]  arch/x86/crypto/sha256_ni_asm.o
  AR      drivers/pinctrl/mediatek/built-in.a
  VDSO    arch/x86/entry/vdso/vdso64.so.dbg
  CC      mm/shrinker.o
  AS [M]  arch/x86/crypto/sha512-ssse3-asm.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a
  CC      drivers/pinctrl/intel/pinctrl-intel.o
  CC [M]  drivers/pinctrl/intel/pinctrl-alderlake.o
  AR      drivers/pinctrl/mvebu/built-in.a
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  AS [M]  arch/x86/crypto/sha512-avx-asm.o
  OBJCOPY arch/x86/entry/vdso/vdso64.so
  AR      drivers/pinctrl/nomadik/built-in.a
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  CC      init/init_task.o
  CC      arch/x86/xen/enlighten_hvm.o
  VDSO2C  arch/x86/entry/vdso/vdso-image-64.c
  CC      kernel/power/qos.o
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  CC      kernel/printk/printk.o
  CC      arch/x86/entry/vdso/vdso-image-64.o
  AS [M]  arch/x86/crypto/sha512-avx2-asm.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      kernel/printk/printk_safe.o
  AS      arch/x86/platform/efi/efi_stub_64.o
  CC [M]  sound/core/seq/seq_fifo.o
  CC      io_uring/fs.o
  AS      arch/x86/lib/memmove_64.o
  CC [M]  arch/x86/crypto/sha512_ssse3_glue.o
  AS      arch/x86/platform/efi/efi_thunk_64.o
  AR      arch/x86/kernel/fpu/built-in.a
  CC      arch/x86/platform/efi/runtime-map.o
  CC      fs/crypto/keyring.o
  CC      io_uring/splice.o
  CC      fs/notify/notification.o
  CC      kernel/locking/rwsem.o
  CC      arch/x86/mm/fault.o
  CC      arch/x86/entry/vdso/vdso-image-32.o
  CC      crypto/asymmetric_keys/pkcs7_verify.o
  CC      security/keys/key.o
  CC      block/partitions/mac.o
  CC      ipc/mq_sysctl.o
  CC [M]  sound/core/seq/seq_prioq.o
  CC [M]  sound/core/seq/seq_timer.o
  AS      arch/x86/lib/memset_64.o
  CC      security/selinux/selinuxfs.o
  CC      lib/crypto/mpi/mpicoder.o
  CC      arch/x86/lib/misc.o
  AR      arch/x86/entry/vdso/built-in.a
  CC      arch/x86/kernel/cpu/resctrl/pseudo_lock.o
  CC      arch/x86/events/intel/ds.o
  CC      arch/x86/entry/syscall_64.o
  CC      arch/x86/kernel/kprobes/ftrace.o
  CC      arch/x86/lib/pc-conf-reg.o
  CC      arch/x86/events/amd/iommu.o
  CC [M]  lib/kunit/try-catch.o
  CC      arch/x86/pci/fixup.o
  CC      arch/x86/events/intel/knc.o
  CC      block/partitions/ldm.o
  AS      arch/x86/kernel/acpi/wakeup_64.o
  CC      fs/notify/group.o
  CC      arch/x86/kernel/acpi/apei.o
  AS [M]  arch/x86/crypto/ghash-clmulni-intel_asm.o
  CC      kernel/locking/percpu-rwsem.o
  CC      io_uring/sync.o
  AR      ipc/built-in.a
  AS      arch/x86/lib/putuser.o
  CC      fs/verity/verify.o
  CC      io_uring/advise.o
  CC [M]  arch/x86/crypto/ghash-clmulni-intel_glue.o
  CC      arch/x86/kernel/apic/ipi.o
  LDS     arch/x86/kernel/vmlinux.lds
  AR      arch/x86/platform/efi/built-in.a
  CC      lib/crypto/memneq.o
  AS      arch/x86/lib/retpoline.o
  AR      net/802/built-in.a
  CC      arch/x86/lib/usercopy.o
  CC      arch/x86/platform/intel/iosf_mbi.o
  CC      fs/notify/mark.o
  CC      crypto/asymmetric_keys/verify_pefile.o
  ASN.1   crypto/asymmetric_keys/mscode.asn1.[ch]
  CC      fs/notify/fdinfo.o
  CC      arch/x86/mm/ioremap.o
  CC      init/version.o
  CC      mm/shmem.o
  CC [M]  sound/core/seq/seq_system.o
  CC      mm/util.o
  CC      arch/x86/kernel/cpu/mce/apei.o
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      arch/x86/lib/usercopy_64.o
  CC [M]  lib/kunit/executor.o
  CC [M]  drivers/pinctrl/intel/pinctrl-meteorlake.o
  CC      arch/x86/kernel/cpu/sgx/driver.o
  CC      arch/x86/kernel/acpi/cppc.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  AS [M]  arch/x86/crypto/polyval-clmulni_asm.o
  CC      mm/mmzone.o
  CC      fs/crypto/keysetup.o
  CC      arch/x86/kernel/apic/vector.o
  CC      kernel/power/main.o
  AR      arch/x86/events/amd/built-in.a
  CC      arch/x86/kernel/cpu/sgx/encl.o
  CC      arch/x86/entry/common.o
  CC      arch/x86/kernel/cpu/sgx/ioctl.o
  CC      block/partitions/msdos.o
  CC      arch/x86/kernel/cpu/sgx/main.o
  CC [M]  arch/x86/crypto/polyval-clmulni_glue.o
  AR      init/built-in.a
  CC      arch/x86/lib/msr-smp.o
  CC      io_uring/filetable.o
  CC      lib/crypto/mpi/mpi-add.o
  CC      block/partitions/osf.o
  CC      arch/x86/pci/acpi.o
  CC      arch/x86/xen/mmu_hvm.o
  CC      net/sched/sch_generic.o
  CC      arch/x86/pci/legacy.o
  CC      arch/x86/kernel/cpu/scattered.o
  AR      arch/x86/kernel/cpu/resctrl/built-in.a
  CC      kernel/power/console.o
  CC      crypto/asymmetric_keys/x509.asn1.o
  CC [M]  sound/core/seq/seq_ports.o
  CC      security/keys/keyring.o
  CC      security/keys/keyctl.o
  CC [M]  sound/core/seq/seq_info.o
  CC      arch/x86/mm/extable.o
  CC      crypto/asymmetric_keys/x509_akid.asn1.o
  CC      kernel/locking/irqflag-debug.o
  CC      crypto/asymmetric_keys/x509_cert_parser.o
  CC [M]  lib/kunit/attributes.o
  CC [M]  drivers/pinctrl/intel/pinctrl-tigerlake.o
  CC      security/selinux/netlink.o
  CC      kernel/sched/fair.o
  CC      arch/x86/events/intel/lbr.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC      kernel/sched/build_policy.o
  AR      arch/x86/platform/intel/built-in.a
  CC      lib/crypto/mpi/mpi-bit.o
  CC      fs/verity/signature.o
  CC      lib/crypto/mpi/mpi-cmp.o
  AR      arch/x86/platform/intel-mid/built-in.a
  AR      arch/x86/platform/intel-quark/built-in.a
  AR      fs/notify/built-in.a
  AS [M]  arch/x86/crypto/crc32-pclmul_asm.o
  CC      arch/x86/xen/suspend_hvm.o
  AR      arch/x86/platform/olpc/built-in.a
  CC [M]  arch/x86/crypto/crc32-pclmul_glue.o
  CC      kernel/locking/mutex-debug.o
  CC      kernel/printk/nbcon.o
  AR      arch/x86/platform/scx200/built-in.a
  CC      arch/x86/kernel/cpu/mce/dev-mcelog.o
  CC      arch/x86/events/intel/p4.o
  AR      arch/x86/platform/ts5500/built-in.a
  CC      fs/crypto/keysetup_v1.o
  CC      arch/x86/platform/uv/bios_uv.o
  CC      block/partitions/sgi.o
  CC      arch/x86/lib/cache-smp.o
  CC      crypto/asymmetric_keys/pkcs7.asn1.o
  CC      crypto/asymmetric_keys/pkcs7_parser.o
  CC      arch/x86/lib/msr.o
  CC      io_uring/openclose.o
  CC      kernel/power/process.o
  AS      arch/x86/entry/thunk_64.o
  CC      kernel/power/suspend.o
  CC [M]  lib/kunit/device.o
  CC      arch/x86/kernel/cpu/topology_common.o
  AR      drivers/pinctrl/intel/built-in.a
  CC      arch/x86/events/intel/p6.o
  AR      drivers/pinctrl/nuvoton/built-in.a
  CC      arch/x86/pci/irq.o
  CC      lib/crypto/utils.o
  CC      arch/x86/mm/mmap.o
  AR      drivers/pinctrl/nxp/built-in.a
  CC      lib/crypto/mpi/mpi-sub-ui.o
  CC      arch/x86/kernel/cpu/sgx/virt.o
  AR      fs/verity/built-in.a
  CC      mm/vmstat.o
  AR      drivers/pinctrl/qcom/built-in.a
  AS      arch/x86/lib/msr-reg.o
  CC      lib/crypto/mpi/mpi-div.o
  AR      drivers/pinctrl/sprd/built-in.a
  CC      security/selinux/nlmsgtab.o
  LD [M]  sound/core/seq/snd-seq.o
  AR      drivers/pinctrl/sunplus/built-in.a
  AS [M]  arch/x86/crypto/crct10dif-pcl-asm_64.o
  CC      arch/x86/kernel/cpu/topology_ext.o
  AS      arch/x86/entry/entry_64_compat.o
  AR      drivers/pinctrl/ti/built-in.a
  CC [M]  sound/core/sound.o
  CC      arch/x86/entry/syscall_32.o
  CC      drivers/pinctrl/core.o
  CC      kernel/printk/printk_ringbuffer.o
  CC [M]  arch/x86/crypto/crct10dif-pclmul_glue.o
  CC      arch/x86/xen/platform-pci-unplug.o
  CC      arch/x86/kernel/cpu/topology_amd.o
  LD [M]  arch/x86/crypto/aesni-intel.o
  CC      arch/x86/mm/pgtable.o
  CC      fs/crypto/policy.o
  CC      fs/crypto/bio.o
  CC      crypto/asymmetric_keys/mscode_parser.o
  CC      fs/crypto/inline_crypt.o
  CC      arch/x86/kernel/apic/init.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      block/partitions/sun.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      kernel/printk/sysctl.o
  CC      crypto/cipher.o
  CC      kernel/locking/lockdep.o
  LD [M]  arch/x86/crypto/sha1-ssse3.o
  AS      arch/x86/kernel/head_64.o
  CC      net/core/datagram.o
  CC      io_uring/uring_cmd.o
  CC      arch/x86/kernel/head64.o
  AR      arch/x86/kernel/cpu/mce/built-in.a
  CC      block/partitions/ultrix.o
  CC      kernel/locking/lockdep_proc.o
  LD [M]  arch/x86/crypto/sha256-ssse3.o
  CC      lib/crypto/chacha.o
  CC      lib/crypto/aes.o
  LD [M]  arch/x86/crypto/sha512-ssse3.o
  CC      security/keys/permission.o
  CC      fs/iomap/trace.o
  CC      fs/quota/dquot.o
  LD [M]  arch/x86/crypto/ghash-clmulni-intel.o
  CC      crypto/asymmetric_keys/mscode.asn1.o
  LD [M]  arch/x86/crypto/polyval-clmulni.o
  LD [M]  arch/x86/crypto/crc32-pclmul.o
  LD [M]  arch/x86/crypto/crct10dif-pclmul.o
  AR      kernel/printk/built-in.a
  CC      fs/proc/task_mmu.o
  AR      arch/x86/crypto/built-in.a
  CC      fs/kernfs/mount.o
  CC      arch/x86/kernel/cpu/common.o
  CC [M]  sound/core/init.o
  CC      kernel/power/hibernate.o
  AR      crypto/asymmetric_keys/built-in.a
  CC      kernel/locking/spinlock.o
  CC      arch/x86/platform/uv/uv_irq.o
  CC [M]  lib/kunit/debugfs.o
  CC      kernel/locking/osq_lock.o
  CC      lib/zlib_inflate/inffast.o
  CC      arch/x86/pci/numachip.o
  CC      lib/crypto/mpi/mpi-inv.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      security/selinux/netif.o
  CC      arch/x86/events/intel/pt.o
  CC      lib/crypto/mpi/mpi-mod.o
  CC      security/smack/smack_lsm.o
  CC      arch/x86/lib/msr-reg-export.o
  AS      arch/x86/lib/hweight.o
  CC      lib/zlib_inflate/inflate.o
  CC      arch/x86/xen/setup.o
  CC      lib/zlib_inflate/infutil.o
  AR      arch/x86/entry/built-in.a
  CC [M]  sound/pci/hda/hda_bind.o
  CC      net/netlink/af_netlink.o
  CC [M]  sound/pci/hda/hda_codec.o
  CC      net/netlink/genetlink.o
  CC      block/partitions/efi.o
  CC      crypto/compress.o
  CC      arch/x86/kernel/apic/msi.o
  AR      arch/x86/kernel/cpu/sgx/built-in.a
  CC      security/selinux/netnode.o
  AR      lib/kunit/built-in.a
  CC      security/selinux/netport.o
  LD [M]  lib/kunit/kunit.o
  CC      net/sched/sch_mq.o
  CC      arch/x86/lib/iomem.o
  AS      arch/x86/lib/iomap_copy_64.o
  CC      lib/zlib_deflate/deflate.o
  CC      fs/proc/inode.o
  CC      arch/x86/platform/uv/uv_time.o
  CC      kernel/irq/irqdesc.o
  CC      drivers/pinctrl/pinctrl-utils.o
  CC      io_uring/epoll.o
  CC      io_uring/statx.o
  CC      arch/x86/pci/common.o
  CC      arch/x86/mm/physaddr.o
  CC      lib/zlib_inflate/inftrees.o
  CC      fs/kernfs/inode.o
  CC      arch/x86/pci/early.o
  CC      io_uring/net.o
  AR      fs/crypto/built-in.a
  CC      lib/crypto/mpi/mpi-mul.o
  CC      lib/crypto/gf128mul.o
  CC      fs/iomap/iter.o
  CC      security/keys/process_keys.o
  CC      lib/zlib_inflate/inflate_syms.o
  CC      net/core/stream.o
  CC      net/core/scm.o
  CC      net/core/gen_stats.o
  CC      fs/quota/quota.o
  CC [M]  sound/core/memory.o
  CC      arch/x86/xen/apic.o
  CC      arch/x86/platform/uv/uv_nmi.o
  CC      block/partitions/karma.o
  CC      arch/x86/pci/bus_numa.o
  CC      arch/x86/kernel/ebda.o
  CC      arch/x86/pci/amd_bus.o
  CC      crypto/algapi.o
  CC      crypto/scatterwalk.o
  CC      kernel/irq/handle.o
  CC      kernel/irq/manage.o
  CC      lib/zlib_deflate/deftree.o
  CC      arch/x86/lib/inat.o
  CC      lib/zlib_deflate/deflate_syms.o
  CC      fs/kernfs/dir.o
  CC      io_uring/msg_ring.o
  CC      drivers/pinctrl/pinmux.o
  CC      net/sched/sch_frag.o
  CC      arch/x86/mm/tlb.o
  CC      security/selinux/status.o
  CC      kernel/power/snapshot.o
  CC      fs/iomap/buffered-io.o
  CC      fs/kernfs/file.o
  AR      arch/x86/lib/built-in.a
  CC      arch/x86/xen/pmu.o
  AR      arch/x86/lib/lib.a
  CC      lib/crypto/mpi/mpih-cmp.o
  CC [M]  sound/core/control.o
  CC      arch/x86/events/intel/uncore.o
  CC      net/netlink/policy.o
  CC      fs/proc/root.o
  CC      arch/x86/kernel/apic/apic_numachip.o
  CC      kernel/irq/spurious.o
  AR      lib/zlib_inflate/built-in.a
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      mm/backing-dev.o
  CC      arch/x86/kernel/cpu/match.o
  CC      kernel/irq/resend.o
  CC      arch/x86/events/zhaoxin/core.o
  CC      security/keys/request_key.o
  CC      lib/lzo/lzo1x_compress.o
  CC      block/partitions/sysv68.o
  CC      lib/crypto/blake2s.o
  CC      security/keys/request_key_auth.o
  CC      security/keys/user_defined.o
  CC      fs/quota/kqid.o
  AR      arch/x86/pci/built-in.a
  CC      fs/quota/netlink.o
  CC      security/smack/smack_access.o
  AR      lib/zlib_deflate/built-in.a
  CC      drivers/pinctrl/pinconf.o
  CC      security/smack/smackfs.o
  CC      io_uring/timeout.o
  CC      security/selinux/ss/ebitmap.o
  CC      lib/crypto/mpi/mpih-div.o
  CC      fs/proc/base.o
  CC      fs/proc/generic.o
  CC      security/keys/compat.o
  AR      arch/x86/platform/uv/built-in.a
  CC      kernel/power/swap.o
  CC      arch/x86/kernel/apic/x2apic_uv_x.o
  AR      arch/x86/platform/built-in.a
  CC      kernel/power/user.o
  CC      crypto/proc.o
  CC      crypto/aead.o
  CC [M]  sound/pci/hda/hda_jack.o
  CC      kernel/irq/chip.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      kernel/irq/dummychip.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      arch/x86/events/intel/uncore_snb.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      kernel/irq/devres.o
  CC      kernel/locking/qspinlock.o
  CC      net/core/gen_estimator.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  AR      block/partitions/built-in.a
  CC      block/bdev.o
  CC      arch/x86/mm/cpu_entry_area.o
  CC      drivers/pinctrl/pinconf-generic.o
  CC      fs/iomap/direct-io.o
  CC      kernel/sched/build_utility.o
  CC      lib/crypto/mpi/mpih-mul.o
  CC      security/tomoyo/audit.o
  CC      arch/x86/kernel/apic/x2apic_phys.o
  CC      arch/x86/kernel/apic/x2apic_cluster.o
  CC      fs/kernfs/symlink.o
  CC      lib/lz4/lz4_decompress.o
  CC      arch/x86/events/intel/uncore_discovery.o
  CC      lib/zstd/zstd_compress_module.o
  CC      security/keys/compat_dh.o
  CC      lib/zstd/compress/fse_compress.o
  CC      drivers/gpio/gpiolib.o
  CC      lib/zstd/compress/hist.o
  CC      security/keys/proc.o
  CC      net/sched/sch_api.o
  AR      net/netlink/built-in.a
  CC      net/core/net_namespace.o
  CC      io_uring/sqpoll.o
  CC      io_uring/fdinfo.o
  CC [M]  sound/pci/hda/hda_auto_parser.o
  CC      security/selinux/ss/hashtab.o
  CC [M]  sound/pci/hda/hda_sysfs.o
  AR      lib/lzo/built-in.a
  CC [M]  sound/core/misc.o
  CC [M]  sound/core/device.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC [M]  sound/core/info.o
  CC [M]  arch/x86/events/intel/cstate.o
  CC      drivers/gpio/gpiolib-devres.o
  AR      fs/quota/built-in.a
  CC      arch/x86/purgatory/purgatory.o
  AS      arch/x86/purgatory/stack.o
  CC      kernel/power/wakelock.o
  AR      arch/x86/virt/svm/built-in.a
  AR      arch/x86/virt/vmx/built-in.a
  AS      arch/x86/purgatory/setup-x86_64.o
  CC      crypto/geniv.o
  CC      net/core/secure_seq.o
  CC      mm/mm_init.o
  AR      arch/x86/virt/built-in.a
  CC      net/core/flow_dissector.o
  CC      arch/x86/purgatory/sha256.o
  CC      lib/crypto/mpi/mpi-pow.o
  CC      net/bpf/test_run.o
  CC      fs/proc/array.o
  POLICY  security/tomoyo/builtin-policy.h
  AS      arch/x86/purgatory/entry64.o
  CC      lib/crypto/mpi/mpiutil.o
  CC      security/smack/smack_netfilter.o
  CC      security/selinux/ss/symtab.o
  CC      kernel/irq/autoprobe.o
  AR      fs/kernfs/built-in.a
  CC      security/keys/sysctl.o
  CC      arch/x86/mm/maccess.o
  CC      drivers/pinctrl/pinctrl-amd.o
  CC      kernel/locking/rtmutex_api.o
  CC      kernel/locking/spinlock_debug.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/kvm_main.o
  CC      kernel/locking/qrwlock.o
  CC      security/keys/persistent.o
  CC      lib/zstd/compress/huf_compress.o
  CC      lib/zstd/compress/zstd_compress.o
  CC      security/selinux/ss/sidtab.o
  CC      security/keys/dh.o
  CC      arch/x86/mm/pgprot.o
  CC      security/tomoyo/condition.o
  CC      lib/crypto/blake2s-generic.o
  CC      kernel/rcu/update.o
  CC      arch/x86/purgatory/string.o
  CC      kernel/power/poweroff.o
  CC      crypto/lskcipher.o
  CC      kernel/power/energy_model.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  CC [M]  sound/pci/hda/hda_controller.o
  AR      arch/x86/events/intel/built-in.a
  CC      fs/iomap/fiemap.o
  LD [M]  arch/x86/events/intel/intel-cstate.o
  CC      arch/x86/events/core.o
  LD      arch/x86/purgatory/purgatory.ro
  CC      fs/sysfs/file.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/eventfd.o
  LD      arch/x86/purgatory/purgatory.chk
  AS      arch/x86/purgatory/kexec-purgatory.o
  CC      drivers/pinctrl/pinctrl-sx150x.o
  CC      fs/sysfs/dir.o
  CC      block/fops.o
  CC [M]  sound/core/info_oss.o
  CC      io_uring/tctx.o
  AR      lib/lz4/built-in.a
  AR      arch/x86/purgatory/built-in.a
  CC      lib/crypto/sha1.o
  CC      net/core/sysctl_net_core.o
  CC      net/core/dev.o
  CC      fs/configfs/inode.o
  CC [M]  sound/pci/hda/hda_proc.o
  CC      fs/configfs/file.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      fs/sysfs/symlink.o
  CC      fs/sysfs/mount.o
  CC      security/keys/keyctl_pkey.o
  CC      kernel/irq/irqdomain.o
  CC      fs/proc/fd.o
  CC      arch/x86/mm/hugetlbpage.o
  CC      arch/x86/kernel/cpu/powerflags.o
  AR      lib/crypto/mpi/built-in.a
  CC      fs/proc/proc_tty.o
  CC      security/tomoyo/domain.o
  AR      security/smack/built-in.a
  CC      security/tomoyo/environ.o
  CC      fs/sysfs/group.o
  CC      net/sched/sch_blackhole.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      lib/xz/xz_dec_syms.o
  CC      lib/crypto/sha256.o
  CC      arch/x86/kernel/apic/probe_64.o
  CC      security/selinux/ss/avtab.o
  AR      kernel/locking/built-in.a
  CC      fs/configfs/dir.o
  CC      fs/devpts/inode.o
  CC      block/bio.o
  CC      net/core/dev_addr_lists.o
  CC      net/core/dst.o
  CC      io_uring/poll.o
  CC      mm/percpu.o
  CC [M]  sound/core/isadma.o
  CC      fs/iomap/seek.o
  CC      net/core/netevent.o
  AR      drivers/pinctrl/built-in.a
  CC      fs/proc/cmdline.o
  CC      mm/slab_common.o
  CC      lib/zstd/compress/zstd_compress_literals.o
  AR      security/keys/built-in.a
  CC      fs/ext4/balloc.o
  CC      lib/raid6/algos.o
  CC      arch/x86/mm/dump_pagetables.o
  AR      kernel/power/built-in.a
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      lib/raid6/recov.o
  CC      lib/dim/dim.o
  CC      security/apparmor/apparmorfs.o
  CC [M]  sound/pci/hda/hda_beep.o
  CC      drivers/pwm/core.o
  CC      crypto/skcipher.o
  CC      lib/xz/xz_dec_stream.o
  AR      arch/x86/kernel/apic/built-in.a
  CC      lib/dim/net_dim.o
  CC      drivers/gpio/gpiolib-legacy.o
  CC      arch/x86/events/probe.o
  CC      net/sched/cls_api.o
  CC      lib/zstd/compress/zstd_compress_sequences.o
  CC      security/tomoyo/file.o
  AR      fs/sysfs/built-in.a
  CC      fs/proc/consoles.o
  CC      io_uring/cancel.o
  AR      fs/devpts/built-in.a
  CC      net/bpf/bpf_dummy_struct_ops.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      security/tomoyo/gc.o
  AR      lib/crypto/built-in.a
  CC      security/tomoyo/group.o
  CC      kernel/irq/proc.o
  CC      net/core/neighbour.o
  CC      lib/dim/rdma_dim.o
  CC      block/elevator.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      lib/fonts/fonts.o
  CC      lib/zstd/compress/zstd_compress_superblock.o
  CC      lib/zstd/compress/zstd_double_fast.o
  CC      drivers/pci/msi/pcidev_msi.o
  CC      fs/configfs/symlink.o
  CC [M]  sound/core/sound_oss.o
  CC      security/selinux/ss/policydb.o
  CC      fs/proc/cpuinfo.o
  CC      fs/proc/devices.o
  CC      kernel/rcu/sync.o
  CC      security/tomoyo/load_policy.o
  CC      arch/x86/events/utils.o
  CC      fs/iomap/swapfile.o
  CC      net/core/rtnetlink.o
  HOSTCC  lib/raid6/mktables
  CC      arch/x86/events/msr.o
  CC      arch/x86/mm/kmmio.o
  CC [M]  arch/x86/events/rapl.o
  CC      arch/x86/mm/pf_in.o
  CC      kernel/rcu/srcutree.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/binary_stats.o
  UNROLL  lib/raid6/int1.c
  UNROLL  lib/raid6/int2.c
  CC      fs/configfs/mount.o
  UNROLL  lib/raid6/int4.c
  CC      drivers/gpio/gpiolib-cdev.o
  UNROLL  lib/raid6/int8.c
  CC      io_uring/kbuf.o
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC      lib/raid6/recov_ssse3.o
  CC      net/sched/act_api.o
  CC      kernel/irq/migration.o
  CC      fs/ext4/bitmap.o
  CC      drivers/pci/msi/api.o
  CC      kernel/irq/cpuhotplug.o
  CC      lib/xz/xz_dec_bcj.o
  CC      mm/compaction.o
  CC      arch/x86/kernel/platform-quirks.o
  AR      lib/dim/built-in.a
  CC      kernel/irq/pm.o
  AR      net/bpf/built-in.a
  CC      lib/fonts/font_8x8.o
  CC      fs/proc/interrupts.o
  CC      net/ethtool/ioctl.o
  CC      fs/proc/loadavg.o
  CC      kernel/irq/msi.o
  CC      lib/fonts/font_8x16.o
  CC      drivers/pci/pcie/portdrv.o
  CC      drivers/pwm/sysfs.o
  CC      net/netfilter/core.o
  CC      drivers/pci/pcie/rcec.o
  CC [M]  sound/core/vmaster.o
  CC      crypto/seqiv.o
  CC      drivers/pci/pcie/aspm.o
  CC      drivers/pwm/pwm-crc.o
  AR      lib/xz/built-in.a
  CC      security/tomoyo/memory.o
  CC      net/netfilter/nf_log.o
  CC      fs/configfs/item.o
  CC      lib/raid6/recov_avx2.o
  CC      arch/x86/mm/mmio-mod.o
  CC      drivers/pci/pcie/aer.o
  AR      arch/x86/events/built-in.a
  CC [M]  sound/pci/hda/hda_eld.o
  CC      drivers/pci/msi/msi.o
  CC [M]  sound/pci/hda/hda_intel.o
  CC      drivers/pci/msi/irqdomain.o
  CC      mm/show_mem.o
  CC      fs/ext4/block_validity.o
  CC      arch/x86/mm/numa.o
  CC      mm/shmem_quota.o
  AR      fs/iomap/built-in.a
  CC      fs/proc/meminfo.o
  CC      mm/interval_tree.o
  CC      io_uring/rsrc.o
  CC      block/blk-core.o
  CC      fs/jbd2/transaction.o
  CC      arch/x86/kernel/process_64.o
  CC      security/apparmor/audit.o
  CC      crypto/ahash.o
  CC      drivers/pci/pcie/err.o
  CC      drivers/pci/pcie/pme.o
  CC      drivers/pwm/pwm-lpss.o
  CC      crypto/shash.o
  CC      lib/fonts/font_acorn_8x8.o
  CC      kernel/rcu/tree.o
  CC      lib/fonts/font_6x10.o
  CC      lib/raid6/mmx.o
  CC      lib/fonts/font_ter16x32.o
  CC      lib/raid6/sse1.o
  CC      drivers/gpio/gpiolib-sysfs.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/vfio.o
  CC      lib/raid6/sse2.o
  CC      fs/squashfs/block.o
  CC [M]  sound/core/ctljack.o
  CC [M]  sound/core/jack.o
  CC      security/tomoyo/mount.o
  AR      fs/configfs/built-in.a
  CC      security/selinux/ss/services.o
  CC      lib/zstd/compress/zstd_fast.o
  CC      lib/raid6/avx2.o
  CC      lib/zstd/compress/zstd_lazy.o
  CC      fs/proc/stat.o
  CC      net/netfilter/nf_queue.o
  CC      net/netfilter/nf_sockopt.o
  CC      fs/ext4/dir.o
  CC      net/sched/sch_fifo.o
  CC      kernel/irq/affinity.o
  CC      net/sched/ematch.o
  CC [M]  sound/core/hwdep.o
  AR      lib/fonts/built-in.a
  AR      kernel/sched/built-in.a
  CC [M]  sound/core/timer.o
  AR      drivers/pci/msi/built-in.a
  CC [M]  lib/reed_solomon/reed_solomon.o
  CC [M]  sound/core/pcm.o
  CC [M]  sound/core/pcm_native.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  CC      drivers/pci/hotplug/cpci_hotplug_core.o
  CC      io_uring/rw.o
  CC      drivers/pwm/pwm-lpss-pci.o
  AR      drivers/pci/endpoint/functions/built-in.a
  CC      drivers/pci/endpoint/pci-ep-cfs.o
  CC      drivers/pwm/pwm-lpss-platform.o
  GEN     security/apparmor/capability_names.h
  CC      security/apparmor/task.o
  CC      fs/proc/uptime.o
  CC      fs/proc/util.o
  CC      drivers/pci/pcie/dpc.o
  CC      drivers/pci/controller/dwc/pcie-designware.o
  CC      fs/squashfs/cache.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/coalesced_mmio.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  CC      arch/x86/mm/numa_64.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/async_pf.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  LD [M]  sound/pci/hda/snd-hda-intel.o
  CC      kernel/irq/matrix.o
  CC      lib/raid6/avx512.o
  CC      security/yama/yama_lsm.o
  CC      drivers/gpio/gpiolib-acpi.o
  CC      security/tomoyo/network.o
  CC      net/ethtool/common.o
  CC      fs/ext4/ext4_jbd2.o
  CC      crypto/akcipher.o
  CC      drivers/pci/controller/dwc/pcie-designware-host.o
  CC      drivers/pci/controller/dwc/pcie-designware-ep.o
  CC      mm/list_lru.o
  CC      mm/workingset.o
  CC [M]  sound/core/pcm_lib.o
  AR      drivers/pwm/built-in.a
  CC      crypto/sig.o
  CC      fs/proc/version.o
  CC      fs/jbd2/commit.o
  CC      drivers/pci/pcie/ptm.o
  CC      arch/x86/mm/amdtopology.o
  CC      mm/debug.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      net/core/utils.o
  CC      fs/squashfs/dir.o
  CC      lib/raid6/recov_avx512.o
  AR      drivers/pci/controller/mobiveil/built-in.a
  CC      lib/zstd/compress/zstd_ldm.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/irqchip.o
  CC      kernel/livepatch/core.o
  CC      fs/squashfs/export.o
  CC      fs/squashfs/file.o
  CC      fs/proc/softirqs.o
  CC      arch/x86/xen/suspend_pv.o
  CC [M]  net/sched/sch_fq_codel.o
  CC      fs/ext4/extents.o
  CC      io_uring/opdef.o
  CC      drivers/pci/hotplug/cpci_hotplug_pci.o
  CC      security/apparmor/ipc.o
  CC      drivers/pci/endpoint/pci-epc-core.o
  CC      lib/zstd/compress/zstd_opt.o
  CC      drivers/gpio/gpiolib-swnode.o
  AR      security/yama/built-in.a
  CC      fs/squashfs/fragment.o
  CC      net/netfilter/utils.o
  AR      kernel/irq/built-in.a
  CC      arch/x86/mm/srat.o
  CC      net/netfilter/nf_bpf_link.o
  CC      net/netfilter/nf_hooks_lwtunnel.o
  CC      drivers/pci/controller/dwc/pcie-designware-plat.o
  CC      arch/x86/xen/p2m.o
  CC      block/blk-sysfs.o
  CC      drivers/gpio/gpio-mmio.o
  CC      kernel/livepatch/patch.o
  CC      mm/gup.o
  CC      security/tomoyo/realpath.o
  CC      security/tomoyo/securityfs_if.o
  TABLE   lib/raid6/tables.c
  CC      drivers/pci/pcie/edr.o
  CC      lib/raid6/int1.o
  CC      fs/proc/namespaces.o
  CC      fs/ext4/extents_status.o
  CC      net/ethtool/netlink.o
  AR      drivers/rapidio/switches/built-in.a
  CC      mm/mmap_lock.o
  CC      drivers/rapidio/rio.o
  AR      drivers/rapidio/devices/built-in.a
  CC      kernel/livepatch/shadow.o
  CC      security/selinux/ss/conditional.o
  CC      crypto/kpp.o
  CC      security/selinux/ss/mls.o
  CC      security/tomoyo/tomoyo.o
  CC      security/selinux/ss/context.o
  CC      fs/squashfs/id.o
  CC      fs/squashfs/inode.o
  CC      drivers/pci/endpoint/pci-epf-core.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      fs/proc/self.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/dirty_ring.o
  CC      io_uring/notif.o
  CC      arch/x86/mm/numa_emulation.o
  AR      drivers/pci/controller/dwc/built-in.a
  CC      mm/highmem.o
  CC      drivers/pci/controller/vmd.o
  CC [M]  sound/core/pcm_misc.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      security/apparmor/lib.o
  CC      fs/jbd2/recovery.o
  CC      lib/raid6/int2.o
  AR      drivers/pci/pcie/built-in.a
  CC      arch/x86/mm/pkeys.o
  CC      security/selinux/xfrm.o
  CC      security/tomoyo/util.o
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      block/blk-flush.o
  CC      kernel/livepatch/state.o
  CC      crypto/dh.o
  CC      drivers/pci/endpoint/pci-epc-mem.o
  AR      net/sched/built-in.a
  CC      fs/proc/thread_self.o
  CC      fs/squashfs/namei.o
  CC      drivers/gpio/gpio-crystalcove.o
  AR      net/ipv4/netfilter/built-in.a
  CC [M]  net/ipv4/netfilter/nf_defrag_ipv4.o
  CC      net/ipv4/route.o
  CC      net/ipv4/inetpeer.o
  CC [M]  net/netfilter/nfnetlink.o
  CC      kernel/livepatch/transition.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      security/selinux/netlabel.o
  CC      mm/memory.o
  CC      net/core/link_watch.o
  CC      net/ethtool/bitset.o
  CC [M]  arch/x86/kvm/../../../virt/kvm/pfncache.o
  CC      arch/x86/xen/enlighten_pv.o
  CC [M]  arch/x86/kvm/x86.o
  CC      drivers/rapidio/rio-access.o
  CC      io_uring/waitid.o
  CC      arch/x86/xen/mmu_pv.o
  CC      drivers/pci/hotplug/pciehp_core.o
  CC      fs/proc/proc_sysctl.o
  CC      lib/raid6/int4.o
  CC      arch/x86/mm/pti.o
  CC      drivers/pci/hotplug/pciehp_ctrl.o
  CC      fs/proc/proc_net.o
  AR      drivers/pci/controller/built-in.a
  CC      lib/zstd/decompress/zstd_ddict.o
  CC      drivers/pci/access.o
  CC      crypto/dh_helper.o
  AR      drivers/pci/switch/built-in.a
  ASN.1   crypto/rsapubkey.asn1.[ch]
  CC      fs/squashfs/super.o
  CC      drivers/pci/bus.o
  CC      security/tomoyo/common.o
  CC      fs/jbd2/checkpoint.o
  CC      drivers/gpio/gpio-palmas.o
  CC      fs/jbd2/revoke.o
  CC      mm/mincore.o
  CC [M]  sound/core/pcm_memory.o
  CC      drivers/rapidio/rio-driver.o
  CC      drivers/pci/probe.o
  CC      mm/mlock.o
  CC      lib/zstd/decompress/zstd_decompress.o
  CC      security/apparmor/match.o
  AR      kernel/rcu/built-in.a
  CC      mm/mmap.o
  CC [M]  sound/core/memalloc.o
  CC      net/ethtool/strset.o
  CC      drivers/gpio/gpio-rc5t583.o
  AR      drivers/pci/endpoint/built-in.a
  CC      net/ethtool/linkinfo.o
  CC      lib/raid6/int8.o
  CC      security/selinux/ima.o
  ASN.1   crypto/rsaprivkey.asn1.[ch]
  CC      crypto/rsa.o
  CC      arch/x86/mm/mem_encrypt.o
  CC      block/blk-settings.o
  CC      io_uring/register.o
  CC      drivers/pci/hotplug/pciehp_pci.o
  CC [M]  net/ipv4/netfilter/ip_tables.o
  CC      mm/mmu_gather.o
  CC      drivers/pci/host-bridge.o
  CC      crypto/rsa_helper.o
  AR      kernel/livepatch/built-in.a
  CC      drivers/rapidio/rio-sysfs.o
  CC      kernel/dma/mapping.o
  CC      fs/squashfs/symlink.o
  CC      fs/ext4/file.o
  CC      kernel/entry/common.o
  CC      crypto/rsa-pkcs1pad.o
  CC      fs/ext4/fsmap.o
  CC      fs/ext4/fsync.o
  CC      drivers/gpio/gpio-tps6586x.o
  CC      fs/jbd2/journal.o
  CC [M]  net/ipv4/netfilter/iptable_filter.o
  CC      fs/squashfs/decompressor.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      kernel/dma/direct.o
  CC      io_uring/truncate.o
  CC      security/apparmor/path.o
  CC      kernel/module/main.o
  CC      drivers/pci/remove.o
  CC      arch/x86/mm/mem_encrypt_amd.o
  CC      kernel/module/strict_rwx.o
  CC      lib/raid6/tables.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      net/core/filter.o
  CC      drivers/pci/hotplug/pciehp_hpc.o
  CC      drivers/pci/hotplug/shpchp_core.o
  AR      security/selinux/built-in.a
  CC      kernel/module/kmod.o
  CC      arch/x86/xen/irq.o
  CC      net/ethtool/linkmodes.o
  CC [M]  net/netfilter/nf_conntrack_core.o
  AR      drivers/rapidio/built-in.a
  CC [M]  net/netfilter/nf_conntrack_standalone.o
  CC [M]  net/netfilter/nf_conntrack_expect.o
  CC [M]  sound/core/pcm_timer.o
  CC      fs/squashfs/page_actor.o
  CC      drivers/gpio/gpio-tps65910.o
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      crypto/acompress.o
  CC      kernel/entry/kvm.o
  CC      lib/zstd/zstd_common_module.o
  CC      fs/proc/kcore.o
  CC      kernel/dma/ops_helpers.o
  CC      drivers/pci/pci.o
  CC      drivers/pci/hotplug/shpchp_ctrl.o
  CC      kernel/time/time.o
  CC      kernel/futex/core.o
  CC      net/xfrm/xfrm_policy.o
  CC      net/xfrm/xfrm_state.o
  CC      io_uring/io-wq.o
  AR      security/tomoyo/built-in.a
  CC      arch/x86/xen/multicalls.o
  CC      io_uring/futex.o
  AS      arch/x86/xen/xen-asm.o
  CC      block/blk-ioc.o
  CC      io_uring/napi.o
  CC      drivers/pci/hotplug/shpchp_pci.o
  CC [M]  sound/core/seq_device.o
  CC      kernel/cgroup/cgroup.o
  CC      fs/squashfs/file_direct.o
  CC      security/apparmor/domain.o
  CC      kernel/debug/kdb/kdb_io.o
  CC      fs/ext4/hash.o
  CC      fs/squashfs/decompressor_single.o
  CC      kernel/debug/debug_core.o
  CC      arch/x86/mm/mem_encrypt_identity.o
  CC      mm/mprotect.o
  AR      drivers/gpio/built-in.a
  CC      arch/x86/kernel/cpu/intel_pconfig.o
  CC      net/ethtool/rss.o
  AR      lib/raid6/built-in.a
  CC      kernel/dma/dummy.o
  CC      mm/mremap.o
  CC [M]  net/netfilter/nf_conntrack_helper.o
  CC      lib/zstd/common/debug.o
  CC      kernel/module/livepatch.o
  CC      fs/proc/vmcore.o
  CC      mm/msync.o
  CC      net/ethtool/linkstate.o
  CC      drivers/pci/hotplug/shpchp_sysfs.o
  CC [M]  net/netfilter/nf_conntrack_proto.o
  CC      kernel/futex/syscalls.o
  CC      fs/squashfs/decompressor_multi.o
  CC      arch/x86/xen/enlighten_pvh.o
  CC      lib/zstd/common/entropy_common.o
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  CC      arch/x86/xen/trace.o
  CC      fs/ext4/ialloc.o
  CC      block/blk-map.o
  CC      crypto/scompress.o
  AS      arch/x86/mm/mem_encrypt_boot.o
  CC      net/ipv4/protocol.o
  CC      kernel/dma/swiotlb.o
  AR      arch/x86/mm/built-in.a
  CC      kernel/debug/gdbstub.o
  CC [M]  sound/core/compress_offload.o
  LD [M]  sound/core/snd.o
  AR      kernel/entry/built-in.a
  CC      net/ipv4/ip_input.o
  LD [M]  sound/core/snd-hwdep.o
  CC      kernel/bpf/core.o
  CC      kernel/trace/rv/rv.o
  CC      kernel/bpf/syscall.o
  CC      kernel/trace/rv/monitors/wwnr/wwnr.o
  CC      kernel/bpf/verifier.o
  CC [M]  net/netfilter/nf_conntrack_proto_generic.o
  AR      io_uring/built-in.a
  CC      kernel/debug/kdb/kdb_main.o
  CC      fs/proc/kmsg.o
  CC [M]  net/netfilter/nf_conntrack_proto_tcp.o
  CC      kernel/events/core.o
  CC      drivers/pci/hotplug/shpchp_hpc.o
  CC      kernel/fork.o
  CC      mm/page_vma_mapped.o
  CC      kernel/time/timer.o
  CC      fs/squashfs/decompressor_multi_percpu.o
  CC      kernel/module/tree_lookup.o
  CC      fs/proc/page.o
  CC      net/ethtool/debug.o
  CC      net/ethtool/wol.o
  CC      kernel/futex/pi.o
  CC      net/ipv4/ip_fragment.o
  AR      fs/jbd2/built-in.a
  CC      fs/proc/bootconfig.o
  CC      fs/ramfs/inode.o
  CC      fs/ramfs/file-mmu.o
  CC      net/ipv4/ip_forward.o
  CC      drivers/pci/pci-driver.o
  CC [M]  net/netfilter/nf_conntrack_proto_udp.o
  CC      fs/hugetlbfs/inode.o
  CC      kernel/trace/rv/rv_reactors.o
  CC      kernel/dma/pool.o
  CC      fs/squashfs/xattr.o
  CC      kernel/trace/trace_clock.o
  CC      lib/zstd/common/error_private.o
  CC      kernel/module/debug_kmemleak.o
  CC      kernel/debug/kdb/kdb_support.o
  CC      security/apparmor/policy.o
  CC      crypto/algboss.o
  CC      lib/zstd/common/fse_decompress.o
  CC      drivers/pci/hotplug/acpiphp_core.o
  LD [M]  sound/core/snd-timer.o
  CC      kernel/debug/kdb/kdb_bt.o
  LD [M]  sound/core/snd-pcm.o
  CC      block/blk-merge.o
  LD [M]  sound/core/snd-seq-device.o
  LD [M]  sound/core/snd-compress.o
  CC      lib/argv_split.o
  CC      mm/pagewalk.o
  CC      arch/x86/xen/smp.o
  CC      arch/x86/xen/smp_pv.o
  CC      kernel/futex/requeue.o
  AR      fs/proc/built-in.a
  CC      lib/bug.o
  CC      kernel/futex/waitwake.o
  CC      block/blk-timeout.o
  CC      fs/squashfs/xattr_id.o
  CC      net/core/sock_diag.o
  CC      fs/ext4/indirect.o
  CC      fs/squashfs/lz4_wrapper.o
  AR      fs/ramfs/built-in.a
  CC      net/ethtool/features.o
  CC      arch/x86/xen/smp_hvm.o
  CC [M]  sound/soc/codecs/hdac_hda.o
  CC      kernel/trace/ftrace.o
  CC      kernel/dma/remap.o
  CC      lib/buildid.o
  CC      kernel/trace/ring_buffer.o
  CC      kernel/module/kallsyms.o
  CC      lib/zstd/common/zstd_common.o
  AR      lib/zstd/built-in.a
  CC      net/ipv4/ip_options.o
  CC      kernel/trace/rv/reactor_printk.o
  CC      net/ipv4/ip_output.o
  CC      drivers/pci/search.o
  CC      fs/fat/cache.o
  CC      kernel/trace/trace.o
  CC      kernel/bpf/inode.o
  GENKDB  kernel/debug/kdb/gen-kdb_cmds.c
  CC      kernel/events/ring_buffer.o
  CC      net/core/dev_ioctl.o
  CC      net/ipv4/ip_sockglue.o
  AR      kernel/futex/built-in.a
  CC      block/blk-lib.o
  CC      lib/clz_tab.o
  CC      crypto/testmgr.o
  CC      drivers/pci/rom.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmp.o
  CC      kernel/exec_domain.o
  CC      kernel/trace/rv/reactor_panic.o
  AR      fs/hugetlbfs/built-in.a
  CC      fs/squashfs/lzo_wrapper.o
  CC      net/ethtool/privflags.o
  CC      mm/pgtable-generic.o
  CC      drivers/pci/hotplug/acpiphp_glue.o
  AR      kernel/dma/built-in.a
  CC      mm/rmap.o
  CC      lib/cmdline.o
  CC      fs/ecryptfs/dentry.o
  CC      kernel/debug/kdb/kdb_bp.o
  CC      fs/ecryptfs/file.o
  CC      arch/x86/xen/spinlock.o
  CC      kernel/module/procfs.o
  CC      arch/x86/xen/vga.o
  CC      kernel/debug/kdb/kdb_debugger.o
  CC      block/blk-mq.o
  CC      drivers/pci/setup-res.o
  CC      lib/cpumask.o
  CC      net/xfrm/xfrm_hash.o
  CC      fs/fat/dir.o
  CC      fs/fat/fatent.o
  CC      kernel/time/hrtimer.o
  AR      kernel/trace/rv/built-in.a
  CC      drivers/pci/irq.o
  LD [M]  sound/soc/codecs/snd-soc-hdac-hda.o
  CC      security/apparmor/policy_unpack.o
  CC      fs/ext4/inline.o
  CC      fs/squashfs/xz_wrapper.o
  CC      fs/squashfs/zlib_wrapper.o
  CC [M]  sound/soc/amd/acp-config.o
  CC      crypto/hmac.o
  CC      fs/ecryptfs/inode.o
  CC      kernel/events/callchain.o
  CC      arch/x86/kernel/signal.o
  CC      kernel/module/sysfs.o
  CC      kernel/panic.o
  CC      fs/ecryptfs/main.o
  CC      kernel/module/kdb.o
  CC      fs/exportfs/expfs.o
  CC      lib/ctype.o
  CC      net/ethtool/rings.o
  CC      net/xfrm/xfrm_input.o
  CC      arch/x86/xen/efi.o
  CC      net/ethtool/channels.o
  AR      drivers/pci/hotplug/built-in.a
  CC      fs/ecryptfs/super.o
  CC [M]  net/netfilter/nf_conntrack_extend.o
  CC      drivers/video/console/dummycon.o
  CC      drivers/video/backlight/backlight.o
  CC      net/core/tso.o
  CC      net/core/sock_reuseport.o
  CC      kernel/debug/kdb/kdb_keyboard.o
  CC      kernel/cgroup/rstat.o
  CC      lib/dec_and_lock.o
  CC      fs/fat/file.o
  CC      crypto/crypto_null.o
  CC      fs/squashfs/zstd_wrapper.o
  CC      kernel/module/version.o
  CC      net/ethtool/coalesce.o
  CC      kernel/cgroup/namespace.o
  CC      drivers/video/fbdev/core/fb_notify.o
  AR      drivers/video/fbdev/omap/built-in.a
  CC      net/ipv4/inet_hashtables.o
  CC      lib/decompress.o
  CC      net/ipv4/inet_timewait_sock.o
  CC      drivers/pci/vpd.o
  CC      crypto/md5.o
  AR      arch/x86/xen/built-in.a
  CC      net/ipv4/inet_connection_sock.o
  CC      net/ipv4/tcp.o
  CC [M]  net/netfilter/nf_conntrack_acct.o
  CC      kernel/trace/trace_output.o
  CC [M]  net/netfilter/nf_conntrack_seqadj.o
  CC      fs/ecryptfs/mmap.o
  CC      lib/decompress_bunzip2.o
  CC      arch/x86/kernel/cpu/tsx.o
  CC      kernel/trace/trace_seq.o
  AR      fs/exportfs/built-in.a
  CC      kernel/debug/kdb/gen-kdb_cmds.o
  CC      fs/ext4/inode.o
  CC      net/ethtool/pause.o
  CC      drivers/video/console/vgacon.o
  LD [M]  sound/soc/amd/snd-acp-config.o
  CC      fs/fat/inode.o
  CC      kernel/trace/trace_stat.o
  CC      kernel/trace/trace_printk.o
  AR      fs/squashfs/built-in.a
  CC      net/core/fib_notifier.o
  CC      mm/vmalloc.o
  CC      net/ipv4/tcp_input.o
  CC      security/apparmor/procattr.o
  CC      security/apparmor/lsm.o
  CC      net/ipv4/tcp_output.o
  AR      kernel/debug/kdb/built-in.a
  AR      kernel/debug/built-in.a
  CC [M]  sound/soc/intel/common/soc-acpi-intel-byt-match.o
  CC      kernel/time/timekeeping.o
  CC      fs/fat/misc.o
  CC      kernel/cgroup/cgroup-v1.o
  CC      drivers/pci/setup-bus.o
  AR      drivers/video/backlight/built-in.a
  AR      kernel/module/built-in.a
  CC      kernel/time/ntp.o
  CC      lib/decompress_inflate.o
  CC [M]  sound/soc/intel/atom/sst/sst.o
  CC      drivers/video/aperture.o
  CC [M]  sound/soc/intel/atom/sst/sst_ipc.o
  CC      fs/ecryptfs/read_write.o
  CC [M]  net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      net/ipv4/tcp_timer.o
  CC      net/xfrm/xfrm_output.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-cht-match.o
  CC      crypto/sha1_generic.o
  CC      kernel/cpu.o
  CC      kernel/trace/pid_list.o
  CC      kernel/cgroup/freezer.o
  CC      net/ethtool/eee.o
  CC      mm/process_vm_access.o
  CC      drivers/video/fbdev/core/fb_info.o
  CC      fs/ecryptfs/crypto.o
  CC      kernel/trace/tracing_map.o
  CC      lib/decompress_unlz4.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      fs/ecryptfs/keystore.o
  CC      net/core/xdp.o
  AR      drivers/video/console/built-in.a
  CC      net/ipv4/tcp_ipv4.o
  CC      fs/ecryptfs/kthread.o
  CC      lib/decompress_unlzma.o
  CC      net/ipv4/tcp_minisocks.o
  CC      crypto/sha256_generic.o
  CC      kernel/trace/trace_sched_switch.o
  CC      net/core/flow_offload.o
  CC [M]  net/netfilter/nf_conntrack_timeout.o
  CC      kernel/trace/trace_functions.o
  CC      net/ethtool/tsinfo.o
  CC      drivers/video/screen_info_generic.o
  CC      net/ethtool/cabletest.o
  CC      drivers/video/fbdev/core/fbmem.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-hsw-bdw-match.o
  CC      net/ipv4/tcp_cong.o
  CC      fs/fat/nfs.o
  CC      mm/page_alloc.o
  CC      mm/shuffle.o
  CC      crypto/sha512_generic.o
  CC      kernel/events/hw_breakpoint.o
  CC      drivers/video/fbdev/core/fbcmap.o
  CC      crypto/sha3_generic.o
  CC [M]  sound/soc/intel/atom/sst/sst_stream.o
  CC      drivers/video/screen_info_pci.o
  CC      block/blk-mq-tag.o
  CC      block/blk-stat.o
  CC      block/blk-mq-sysfs.o
  CC      kernel/time/clocksource.o
  CC      net/ipv4/tcp_metrics.o
  CC      net/ipv4/tcp_fastopen.o
  CC      drivers/idle/intel_idle.o
  CC      fs/ecryptfs/debug.o
  CC      lib/decompress_unlzo.o
  CC      drivers/pci/vc.o
  CC      crypto/blake2b_generic.o
  CC      kernel/cgroup/legacy_freezer.o
  CC      kernel/cgroup/pids.o
  CC [M]  arch/x86/kvm/emulate.o
  CC      lib/decompress_unxz.o
  CC      fs/fat/namei_vfat.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  CC      kernel/time/jiffies.o
  CC      fs/fat/namei_msdos.o
  CC      net/core/gro.o
  CC      kernel/trace/trace_preemptirq.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-skl-match.o
  CC [M]  sound/soc/intel/atom/sst/sst_drv_interface.o
  CC      net/core/netdev-genl.o
  CC      drivers/video/fbdev/core/modedb.o
  CC      fs/ecryptfs/messaging.o
  CC      fs/nls/nls_base.o
  GEN     security/apparmor/rlim_names.h
  CC      fs/ecryptfs/miscdev.o
  CC      crypto/ecb.o
  CC      lib/decompress_unzstd.o
  CC      drivers/video/fbdev/core/fbcvt.o
  CC      net/xfrm/xfrm_replay.o
  CC      security/apparmor/secid.o
  CC      drivers/pci/mmap.o
  CC      drivers/pci/devres.o
  CC      kernel/cgroup/rdma.o
  CC      drivers/pci/proc.o
  CC      drivers/video/fbdev/core/fb_cmdline.o
  CC      lib/dump_stack.o
  CC      net/core/netdev-genl-gen.o
  CC      block/blk-mq-cpumap.o
  CC [M]  net/netfilter/nf_conntrack_timestamp.o
  CC      net/ethtool/tunnels.o
  CC      lib/earlycpio.o
  CC      drivers/video/fbdev/core/fb_backlight.o
  CC      fs/ext4/ioctl.o
  AR      drivers/idle/built-in.a
  CC      drivers/video/cmdline.o
  AR      fs/fat/built-in.a
  CC      drivers/char/ipmi/ipmi_dmi.o
  CC      drivers/char/ipmi/ipmi_plat_data.o
  CC      kernel/time/timer_list.o
  CC [M]  drivers/char/ipmi/ipmi_msghandler.o
  CC      block/blk-mq-sched.o
  CC      security/safesetid/lsm.o
  CC      security/safesetid/securityfs.o
  CC [M]  sound/soc/intel/atom/sst/sst_loader.o
  CC      crypto/cbc.o
  CC      security/bpf/hooks.o
  CC [M]  drivers/char/ipmi/ipmi_devintf.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      kernel/bpf/helpers.o
  CC      kernel/events/uprobes.o
  CC      block/ioctl.o
  CC      drivers/pci/pci-sysfs.o
  CC      net/xfrm/xfrm_device.o
  CC      block/genhd.o
  CC [M]  net/netfilter/nf_conntrack_ecache.o
  AR      fs/ecryptfs/built-in.a
  CC [M]  net/netfilter/nf_conntrack_labels.o
  CC      kernel/cgroup/cpuset.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-kbl-match.o
  CC      fs/nls/nls_cp437.o
  CC      kernel/cgroup/misc.o
  CC      mm/init-mm.o
  CC      kernel/trace/trace_sched_wakeup.o
  CC      drivers/pci/slot.o
  CC      kernel/trace/trace_hwlat.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-bxt-match.o
  CC      security/apparmor/file.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-glk-match.o
  CC      crypto/cts.o
  CC      kernel/time/timeconv.o
  CC      kernel/trace/trace_osnoise.o
  CC      mm/memblock.o
  CC      lib/extable.o
  CC [M]  sound/soc/intel/atom/sst/sst_pvt.o
  AR      security/bpf/built-in.a
  CC      fs/ext4/mballoc.o
  CC      crypto/xts.o
  CC [M]  drivers/char/ipmi/ipmi_si_intf.o
  CC      security/apparmor/policy_ns.o
  AR      security/safesetid/built-in.a
  CC [M]  net/netfilter/nf_conntrack_proto_dccp.o
  CC      net/ethtool/fec.o
  CC      net/core/gso.o
  CC      net/ethtool/eeprom.o
  CC      mm/memory_hotplug.o
  CC      drivers/video/fbdev/core/fbmon.o
  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
  CC [M]  fs/nls/nls_iso8859-1.o
  CC [M]  fs/nls/nls_ucs2_utils.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-cnl-match.o
  CC [M]  net/netfilter/nf_conntrack_netlink.o
  CC [M]  arch/x86/kvm/i8259.o
  CC      net/core/net-sysfs.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-cfl-match.o
  CC      drivers/video/nomodeset.o
  CC      lib/flex_proportions.o
  CC      net/ipv4/tcp_rate.o
  CC      net/xfrm/xfrm_proc.o
  CC [M]  net/xfrm/xfrm_algo.o
  CC      fs/ext4/migrate.o
  CC      arch/x86/kernel/cpu/hygon.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      fs/unicode/utf8-norm.o
  CC      crypto/ctr.o
  CC      fs/unicode/utf8-core.o
  CC      kernel/time/timecounter.o
  CC      fs/fuse/dev.o
  CC      mm/slub.o
  CC      fs/fuse/dir.o
  CC      kernel/trace/trace_nop.o
  CC      kernel/time/alarmtimer.o
  CC      fs/fuse/file.o
  CC      drivers/pci/pci-acpi.o
  CC      net/ethtool/stats.o
  CC      net/ethtool/phc_vclocks.o
  CC      lib/idr.o
  CC      fs/fuse/inode.o
  CC      net/ethtool/mm.o
  CC      kernel/time/posix-timers.o
  CC      kernel/bpf/tnum.o
  CC [M]  arch/x86/kvm/irq.o
  CC [M]  net/xfrm/xfrm_user.o
  CC      block/ioprio.o
  AR      fs/nls/built-in.a
  CC      fs/ext4/mmp.o
  CC      security/apparmor/label.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-cml-match.o
  AR      fs/hostfs/built-in.a
  CC      net/ipv4/tcp_recovery.o
  CC      net/ipv4/tcp_ulp.o
  CC [M]  sound/soc/intel/atom/sst/sst_acpi.o
  CC      kernel/time/posix-cpu-timers.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      kernel/bpf/log.o
  CC      kernel/bpf/token.o
  AR      kernel/events/built-in.a
  CC      crypto/gcm.o
  CC      net/ipv4/tcp_offload.o
  CC      kernel/exit.o
  CC      net/ipv4/tcp_plb.o
  CC      drivers/video/hdmi.o
  CC      net/ipv4/datagram.o
  COPY    fs/unicode/utf8data.c
  CC      kernel/softirq.o
  CC      fs/ext4/move_extent.o
  CC      fs/ext4/namei.o
  CC      lib/irq_regs.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC [M]  drivers/char/ipmi/ipmi_kcs_sm.o
  CC      fs/unicode/utf8data.o
  CC      lib/is_single_threaded.o
  CC      drivers/pci/iomap.o
  CC      drivers/video/fbdev/core/fb_defio.o
  CC      fs/fuse/control.o
  CC      arch/x86/kernel/signal_64.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  CC      fs/fuse/xattr.o
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  CC      kernel/trace/trace_stack.o
  LD [M]  sound/soc/intel/atom/sst/snd-intel-sst-core.o
  AR      drivers/video/fbdev/omap2/built-in.a
  LD [M]  sound/soc/intel/atom/sst/snd-intel-sst-acpi.o
  CC      drivers/video/fbdev/imsttfb.o
  CC [M]  sound/soc/intel/atom/sst-mfld-platform-pcm.o
  CC      block/badblocks.o
  CC      kernel/bpf/bpf_iter.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-icl-match.o
  CC      net/core/hotdata.o
  CC      drivers/video/fbdev/asiliantfb.o
  CC      drivers/pci/quirks.o
  CC      lib/klist.o
  CC      net/core/page_pool.o
  CC      mm/madvise.o
  CC      crypto/aes_generic.o
  CC [M]  drivers/char/ipmi/ipmi_smic_sm.o
  CC      drivers/video/fbdev/core/fb_chrdev.o
  CC      block/blk-rq-qos.o
  CC      mm/page_io.o
  CC      kernel/time/posix-clock.o
  CC [M]  net/netfilter/nf_nat_core.o
  CC      kernel/time/itimer.o
  AR      kernel/cgroup/built-in.a
  CC [M]  arch/x86/kvm/lapic.o
  CC      net/ethtool/module.o
  CC      net/ethtool/pse-pd.o
  CC      kernel/resource.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      fs/fuse/acl.o
  CC [M]  arch/x86/kvm/i8254.o
  CC      kernel/time/clockevents.o
  AR      fs/unicode/built-in.a
  CC [M]  drivers/char/ipmi/ipmi_bt_sm.o
  CC      kernel/time/tick-common.o
  CC      crypto/deflate.o
  CC      drivers/video/fbdev/vesafb.o
  CC      lib/kobject.o
  CC      kernel/trace/trace_mmiotrace.o
  CC      drivers/pci/ats.o
  CC      net/core/page_pool_user.o
  CC      net/core/net-procfs.o
  CC      block/disk-events.o
  CC [M]  arch/x86/kvm/ioapic.o
  CC [M]  arch/x86/kvm/irq_comm.o
  CC      block/blk-ia-ranges.o
  CC      drivers/video/fbdev/efifb.o
  CC      security/apparmor/mount.o
  CC      kernel/sysctl.o
  CC      drivers/video/fbdev/core/fb_procfs.o
  CC      security/landlock/setup.o
  CC      fs/debugfs/inode.o
  CC      security/landlock/syscalls.o
  CC      kernel/bpf/map_iter.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-tgl-match.o
  CC      drivers/video/fbdev/core/fbsysfs.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-ehl-match.o
  CC [M]  sound/soc/intel/atom/sst-mfld-platform-compress.o
  CC      drivers/video/fbdev/core/fbcon.o
  CC      net/ipv4/raw.o
  CC      fs/fuse/readdir.o
  CC      fs/debugfs/file.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC [M]  sound/hda/ext/hdac_ext_bus.o
  CC [M]  sound/hda/ext/hdac_ext_controller.o
  CC [M]  sound/hda/ext/hdac_ext_stream.o
  CC      net/ethtool/plca.o
  CC      crypto/crc32c_generic.o
  CC [M]  drivers/char/ipmi/ipmi_si_hotmod.o
  CC [M]  drivers/char/ipmi/ipmi_si_hardcode.o
  CC      fs/tracefs/inode.o
  CC [M]  arch/x86/kvm/cpuid.o
  CC      mm/swap_state.o
  CC      net/core/netpoll.o
  CC      fs/fuse/ioctl.o
  CC      kernel/trace/trace_functions_graph.o
  CC      lib/kobject_uevent.o
  CC      fs/ext4/page-io.o
  CC      lib/logic_pio.o
  CC      block/early-lookup.o
  AR      net/xfrm/built-in.a
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      drivers/pci/iov.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-jsl-match.o
  CC [M]  sound/hda/hda_bus_type.o
  CC [M]  sound/soc/intel/atom/sst-atom-controls.o
  CC      drivers/pci/pci-label.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-adl-match.o
  CC      mm/swapfile.o
  CC      kernel/capability.o
  CC      crypto/crct10dif_common.o
  CC      security/landlock/object.o
  CC      net/core/fib_rules.o
  CC      fs/ext4/readpage.o
  CC      kernel/bpf/task_iter.o
  CC      arch/x86/kernel/traps.o
  CC [M]  drivers/char/ipmi/ipmi_si_platform.o
  CC      arch/x86/kernel/idt.o
  CC      kernel/time/tick-broadcast.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC      mm/swap_slots.o
  CC      kernel/ptrace.o
  CC      arch/x86/kernel/cpu/acrn.o
  AR      net/ethtool/built-in.a
  GEN     security/apparmor/net_names.h
  CC [M]  sound/soc/intel/common/soc-acpi-intel-rpl-match.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-mtl-match.o
  CC      arch/x86/kernel/cpu/debugfs.o
  CC      security/landlock/ruleset.o
  GEN     security/apparmor/net_names.h
  CC      security/apparmor/policy_compat.o
  CC [M]  net/netfilter/nf_nat_proto.o
  CC      mm/zswap.o
  CC      fs/tracefs/event_inode.o
  CC [M]  drivers/char/ipmi/ipmi_si_port_io.o
  CC      security/landlock/cred.o
  CC [M]  net/netfilter/nf_nat_helper.o
  LD [M]  sound/hda/ext/snd-hda-ext-core.o
  CC [M]  drivers/char/ipmi/ipmi_si_mem_io.o
  CC      block/bsg.o
  CC      fs/fuse/iomode.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-arl-match.o
  CC [M]  arch/x86/kvm/pmu.o
  CC      kernel/trace/blktrace.o
  CC      kernel/trace/fgraph.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC [M]  arch/x86/kvm/mtrr.o
  CC      drivers/video/fbdev/core/bitblit.o
  CC      lib/maple_tree.o
  AR      fs/debugfs/built-in.a
  CC      crypto/crct10dif_generic.o
  CC [M]  sound/hda/hdac_bus.o
  CC      security/commoncap.o
  CC      security/integrity/ima/ima_fs.o
  CC      security/integrity/ima/ima_queue.o
  CC      fs/fuse/passthrough.o
  CC      security/landlock/task.o
  LD [M]  sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform.o
  CC      mm/dmapool.o
  CC      fs/ext4/resize.o
  CC      block/bsg-lib.o
  CC      drivers/acpi/acpica/dsargs.o
  CC      drivers/acpi/acpica/dscontrol.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC      drivers/pci/p2pdma.o
  CC [M]  drivers/char/ipmi/ipmi_si_pci.o
  CC      kernel/trace/trace_events.o
  CC      kernel/user.o
  CC      kernel/bpf/prog_iter.o
  CC      kernel/signal.o
  CC      kernel/time/tick-oneshot.o
  CC      kernel/sys.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-lnl-match.o
  CC      kernel/trace/trace_export.o
  CC      net/unix/af_unix.o
  AR      fs/tracefs/built-in.a
  CC      net/ipv4/udp.o
  CC      kernel/trace/trace_syscalls.o
  CC      kernel/time/tick-sched.o
  CC      crypto/crc64_rocksoft_generic.o
  CC [M]  sound/soc/sof/intel/hda.o
  CC      fs/pstore/inode.o
  CC      fs/pstore/platform.o
  CC      security/apparmor/crypto.o
  CC      net/ipv4/udplite.o
  CC      drivers/acpi/acpica/dsfield.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-hda-match.o
  CC      fs/btrfs/super.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC      net/ipv4/udp_offload.o
  CC      arch/x86/kernel/irq.o
  CC      drivers/video/fbdev/core/softcursor.o
  CC      security/landlock/fs.o
  AR      fs/fuse/built-in.a
  CC      security/landlock/net.o
  CC      mm/hugetlb.o
  CC      security/integrity/ima/ima_init.o
  CC [M]  arch/x86/kvm/debugfs.o
  CC      mm/hugetlb_vmemmap.o
  CC      fs/efivarfs/inode.o
  CC [M]  arch/x86/kvm/mmu/mmu.o
  CC [M]  drivers/char/ipmi/ipmi_ssif.o
  CC [M]  sound/hda/hdac_device.o
  CC [M]  fs/netfs/buffered_read.o
  CC      crypto/lzo.o
  CC [M]  fs/netfs/buffered_write.o
  CC [M]  fs/nfs/client.o
  CC      drivers/acpi/acpica/dsinit.o
  CC [M]  fs/nfs/dir.o
  CC      net/core/net-traces.o
  CC      kernel/bpf/link_iter.o
  CC      drivers/video/fbdev/core/tileblit.o
  CC      net/unix/garbage.o
  CC [M]  sound/soc/intel/common/soc-acpi-intel-sdw-mockup-match.o
  CC [M]  arch/x86/kvm/mmu/page_track.o
  CC      net/core/drop_monitor.o
  CC      block/blk-cgroup.o
  CC      security/apparmor/capability.o
  CC      fs/btrfs/ctree.o
  CC      kernel/trace/trace_event_perf.o
  CC      fs/efivarfs/file.o
  CC      drivers/acpi/acpica/dsmethod.o
  CC      kernel/trace/trace_events_filter.o
  CC      fs/ext4/super.o
  CC      fs/pstore/pmsg.o
  CC      net/ipv4/arp.o
  CC      security/integrity/ima/ima_main.o
  CC      kernel/umh.o
  CC      crypto/lzo-rle.o
  CC [M]  net/netfilter/nf_nat_masquerade.o
  CC      drivers/pci/vgaarb.o
  CC      net/unix/sysctl_net_unix.o
  AR      security/landlock/built-in.a
  CC      fs/efivarfs/super.o
  CC      kernel/time/timer_migration.o
  CC [M]  arch/x86/kvm/mmu/spte.o
  CC      kernel/time/vsyscall.o
  LD [M]  sound/soc/intel/common/snd-soc-acpi-intel-match.o
  CC      drivers/video/fbdev/core/fbcon_rotate.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      kernel/bpf/hashtab.o
  CC      drivers/acpi/numa/srat.o
  CC      kernel/trace/trace_events_trigger.o
  CC      drivers/acpi/numa/hmat.o
  CC [M]  fs/pstore/ram.o
  LD [M]  drivers/char/ipmi/ipmi_si.o
  CC [M]  sound/hda/hdac_sysfs.o
  AR      drivers/char/ipmi/built-in.a
  CC [M]  sound/hda/hdac_regmap.o
  CC [M]  sound/hda/hdac_controller.o
  CC      crypto/xxhash_generic.o
  CC [M]  sound/hda/hdac_stream.o
  CC      drivers/pnp/pnpacpi/core.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  CC [M]  fs/nfs/file.o
  CC      security/apparmor/resource.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC [M]  fs/nfs/getroot.o
  CC      net/unix/unix_bpf.o
  CC      net/ipv4/icmp.o
  CC      fs/efivarfs/vars.o
  CC [M]  sound/soc/sof/intel/hda-loader.o
  CC      net/core/timestamping.o
  CC      kernel/trace/trace_eprobe.o
  CC      crypto/rng.o
  CC      drivers/video/fbdev/core/fbcon_cw.o
  CC      kernel/trace/trace_events_inject.o
  CC [M]  fs/netfs/direct_read.o
  CC [M]  fs/pstore/ram_core.o
  CC      drivers/acpi/acpica/dspkginit.o
  CC      block/blk-cgroup-rwstat.o
  CC      kernel/workqueue.o
  CC      arch/x86/kernel/irq_64.o
  CC      kernel/trace/trace_events_synth.o
  CC      drivers/pci/doe.o
  CC      security/integrity/ima/ima_crypto.o
  CC      kernel/trace/trace_events_hist.o
  CC      kernel/time/timekeeping_debug.o
  CC [M]  drivers/pci/pci-stub.o
  CC [M]  fs/nfs/inode.o
  CC [M]  fs/netfs/direct_write.o
  CC      block/blk-throttle.o
  AR      fs/efivarfs/built-in.a
  CC      block/blk-ioprio.o
  CC      drivers/acpi/acpica/dsutils.o
  AR      drivers/pnp/pnpacpi/built-in.a
  CC [M]  arch/x86/kvm/mmu/tdp_iter.o
  CC      drivers/pnp/core.o
  CC [M]  sound/hda/array.o
  CC      drivers/acpi/acpica/dswexec.o
  CC      kernel/trace/bpf_trace.o
  CC [M]  sound/soc/sof/intel/hda-stream.o
  CC [M]  fs/lockd/clntlock.o
  AR      drivers/acpi/numa/built-in.a
  CC      security/apparmor/net.o
  CC      drivers/acpi/acpica/dswload.o
  CC [M]  fs/pstore/zone.o
  CC [M]  net/netfilter/nf_tables_core.o
  CC [M]  fs/nfs/super.o
  AR      net/unix/built-in.a
  CC      drivers/acpi/acpica/dswload2.o
  CC      drivers/video/fbdev/core/fbcon_ud.o
  CC      security/integrity/evm/evm_main.o
  CC      arch/x86/kernel/dumpstack_64.o
  CC      security/integrity/evm/evm_crypto.o
  CC      security/integrity/evm/evm_secfs.o
  CC      kernel/time/namespace.o
  CC      crypto/drbg.o
  CC      kernel/trace/trace_kprobe.o
  CC      security/integrity/evm/evm_posix_acl.o
  CC      drivers/acpi/acpica/dswscope.o
  CC      kernel/trace/error_report-traces.o
  CC      kernel/trace/power-traces.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      kernel/trace/rpm-traces.o
  CC      kernel/trace/trace_kdb.o
  CC [M]  fs/netfs/io.o
  CC      crypto/jitterentropy.o
  CC      kernel/trace/trace_dynevent.o
  CC [M]  fs/nfs/io.o
  CC      security/integrity/ima/ima_api.o
  CC [M]  fs/nfs/direct.o
  CC      security/integrity/ima/ima_policy.o
  AR      drivers/pci/built-in.a
  CC      kernel/bpf/arraymap.o
  CC      mm/mempolicy.o
  CC      arch/x86/kernel/time.o
  CC      drivers/video/fbdev/core/fbcon_ccw.o
  CC      security/integrity/iint.o
  CC      lib/memcat_p.o
  CC      drivers/pnp/card.o
  CC      security/integrity/integrity_audit.o
  CC      drivers/acpi/acpica/evevent.o
  CC      drivers/video/fbdev/core/cfbfillrect.o
  CC      security/integrity/digsig.o
  CC [M]  sound/hda/hdmi_chmap.o
  CC      drivers/video/fbdev/core/cfbcopyarea.o
  CC      security/integrity/digsig_asymmetric.o
  AR      security/apparmor/built-in.a
  CC [M]  sound/soc/sof/intel/hda-trace.o
  CC [M]  sound/soc/sof/intel/hda-dsp.o
  AR      kernel/time/built-in.a
  CC      security/lsm_syscalls.o
  CC      security/min_addr.o
  CC      lib/nmi_backtrace.o
  CC      kernel/trace/trace_probe.o
  CC [M]  fs/pstore/blk.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      net/ipv4/devinet.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      kernel/trace/trace_uprobe.o
  CC      lib/objpool.o
  CC      arch/x86/kernel/ioport.o
  AR      security/integrity/evm/built-in.a
  CC      crypto/jitterentropy-kcapi.o
  CC      security/integrity/platform_certs/platform_keyring.o
  CC      crypto/ghash-generic.o
  CC      lib/plist.o
  CC      net/ipv4/af_inet.o
  CC [M]  fs/lockd/clntproc.o
  CC      block/blk-iocost.o
  CC [M]  fs/lockd/clntxdr.o
  CC [M]  fs/lockd/host.o
  LD [M]  fs/pstore/ramoops.o
  CC      fs/ext4/symlink.o
  CC      kernel/bpf/percpu_freelist.o
  CC [M]  net/netfilter/nf_tables_api.o
  CC [M]  sound/hda/trace.o
  CC      fs/ext4/sysfs.o
  CC      fs/btrfs/extent-tree.o
  CC      fs/ext4/xattr.o
  CC      fs/ext4/xattr_hurd.o
  CC      fs/btrfs/print-tree.o
  CC      crypto/xor.o
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      drivers/video/fbdev/core/cfbimgblt.o
  CC [M]  arch/x86/kvm/mmu/tdp_mmu.o
  CC      drivers/pnp/driver.o
  CC      security/integrity/ima/ima_template.o
  CC      kernel/pid.o
  CC      security/integrity/ima/ima_template_lib.o
  CC [M]  sound/soc/sof/intel/hda-ipc.o
  CC [M]  fs/netfs/iterator.o
  LD [M]  fs/pstore/pstore_zone.o
  CC      kernel/bpf/bpf_lru_list.o
  CC      security/integrity/platform_certs/machine_keyring.o
  CC      drivers/video/fbdev/core/fb_io_fops.o
  CC [M]  fs/nfs/pagelist.o
  CC [M]  fs/nfs/read.o
  CC      kernel/task_work.o
  CC      lib/radix-tree.o
  CC [M]  fs/nfs/symlink.o
  CC [M]  fs/nfs/unlink.o
  CC      security/integrity/platform_certs/efi_parser.o
  CC      arch/x86/kernel/dumpstack.o
  CC      drivers/acpi/acpica/evgpeutil.o
  CC      kernel/bpf/lpm_trie.o
  CC [M]  sound/soc/sof/amd/acp.o
  CC [M]  sound/soc/sof/amd/acp-loader.o
  CC [M]  fs/netfs/locking.o
  CC [M]  sound/soc/sof/amd/acp-ipc.o
  CC      crypto/hash_info.o
  AR      fs/pstore/built-in.a
  CC      crypto/kdf_sp800108.o
  LD [M]  fs/pstore/pstore_blk.o
  CC      kernel/extable.o
  CC      arch/x86/kernel/nmi.o
  CC      security/integrity/ima/ima_appraise.o
  AR      drivers/amba/built-in.a
  CC      fs/btrfs/root-tree.o
  CC      fs/btrfs/dir-item.o
  CC [M]  sound/hda/hdac_component.o
  CC      mm/sparse.o
  CC [M]  sound/soc/sof/amd/acp-pcm.o
  CC      drivers/acpi/acpica/evglock.o
  CC      block/mq-deadline.o
  CC      kernel/params.o
  CC      security/integrity/platform_certs/load_uefi.o
  CC      kernel/kthread.o
  CC      net/core/ptp_classifier.o
  CC      drivers/pnp/resource.o
  CC [M]  sound/soc/sof/intel/hda-ctrl.o
  CC      drivers/pnp/manager.o
  CC      arch/x86/kernel/ldt.o
  CC      kernel/trace/trace_boot.o
  CC      security/integrity/platform_certs/keyring_handler.o
  CC [M]  net/netfilter/nft_chain_filter.o
  CC      block/bio-integrity.o
  CC      lib/ratelimit.o
  CC      drivers/acpi/acpica/evhandler.o
  AR      net/ipv6/netfilter/built-in.a
  CC [M]  net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  CC      drivers/acpi/apei/apei-base.o
  CC      security/security.o
  CC      net/ipv4/igmp.o
  CC [M]  fs/lockd/svc.o
  CC      fs/ext4/xattr_trusted.o
  CC      drivers/video/fbdev/core/sysfillrect.o
  CC [M]  crypto/cmac.o
  CC      kernel/bpf/map_in_map.o
  CC      drivers/acpi/acpica/evmisc.o
  CC      security/inode.o
  CC      lib/rbtree.o
  CC      lib/seq_buf.o
  CC [M]  fs/netfs/main.o
  CC      security/integrity/ima/ima_modsig.o
  CC      kernel/sys_ni.o
  CC      drivers/acpi/pmic/intel_pmic.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC [M]  sound/soc/sof/intel/hda-pcm.o
  CC [M]  sound/hda/hdac_i915.o
  CC [M]  arch/x86/kvm/hyperv.o
  CC      kernel/nsproxy.o
  CC      kernel/bpf/bloom_filter.o
  CC      kernel/notifier.o
  CC      kernel/bpf/local_storage.o
  CC      kernel/ksysfs.o
  CC      kernel/cred.o
  CC [M]  sound/soc/sof/amd/acp-stream.o
  CC      net/ipv6/af_inet6.o
  CC      drivers/acpi/acpica/evregion.o
  CC      net/ipv4/fib_frontend.o
  CC      kernel/trace/fprobe.o
  CC      drivers/pnp/support.o
  CC      block/blk-integrity.o
  CC      kernel/reboot.o
  CC [M]  crypto/ccm.o
  CC      net/ipv4/fib_semantics.o
  CC [M]  drivers/acpi/nfit/core.o
  CC      kernel/bpf/queue_stack_maps.o
  CC      net/ipv4/fib_trie.o
  CC      mm/sparse-vmemmap.o
  CC      arch/x86/kernel/setup.o
  CC      net/ipv4/fib_notifier.o
  CC      kernel/async.o
  CC [M]  net/netfilter/nf_tables_trace.o
  CC      fs/ext4/xattr_user.o
  AR      drivers/acpi/dptf/built-in.a
  CC      block/t10-pi.o
  CC      net/core/netprio_cgroup.o
  CC      net/ipv4/inet_fragment.o
  CC [M]  crypto/cryptd.o
  CC      security/integrity/ima/ima_kexec.o
  CC      drivers/acpi/acpica/evrgnini.o
  CC      drivers/acpi/apei/hest.o
  CC      lib/siphash.o
  CC [M]  fs/nfs/write.o
  CC      drivers/acpi/acpica/evsci.o
  CC      kernel/range.o
  CC      block/blk-mq-pci.o
  CC [M]  sound/soc/sof/intel/hda-dai.o
  CC      fs/btrfs/file-item.o
  CC      drivers/video/fbdev/core/syscopyarea.o
  CC [M]  sound/soc/sof/amd/acp-trace.o
  CC      drivers/acpi/pmic/intel_pmic_bytcrc.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC [M]  net/ipv6/netfilter/nf_conntrack_reasm.o
  CC [M]  sound/hda/intel-nhlt.o
  CC      arch/x86/kernel/x86_init.o
  CC      block/blk-mq-virtio.o
  CC      drivers/pnp/interface.o
  CC      kernel/bpf/ringbuf.o
  CC [M]  fs/lockd/svclock.o
  CC      mm/mmu_notifier.o
  CC      drivers/acpi/acpica/evxface.o
  CC      fs/ext4/fast_commit.o
  AR      drivers/clk/actions/built-in.a
  CC      drivers/acpi/acpica/evxfevnt.o
  AR      drivers/clk/analogbits/built-in.a
  CC      drivers/acpi/apei/erst.o
  CC [M]  fs/lockd/svcshare.o
  AR      drivers/clk/bcm/built-in.a
  AR      drivers/clk/imgtec/built-in.a
  CC      net/ipv4/ping.o
  CC      security/integrity/ima/ima_asymmetric_keys.o
  AR      drivers/clk/imx/built-in.a
  TEST    lib/test_fortify/read_overflow2-memmove.log
  AR      drivers/clk/ingenic/built-in.a
  AR      drivers/clk/mediatek/built-in.a
  CC [M]  fs/nfs/namespace.o
  AR      drivers/clk/microchip/built-in.a
  CC      kernel/trace/rethook.o
  CC [M]  net/netfilter/nft_immediate.o
  CC [M]  drivers/acpi/nfit/intel.o
  AR      drivers/clk/mstar/built-in.a
  CC      drivers/acpi/pmic/intel_pmic_chtcrc.o
  CC [M]  fs/netfs/misc.o
  CC      net/core/netclassid_cgroup.o
  AR      drivers/clk/mvebu/built-in.a
  AR      drivers/clk/ralink/built-in.a
  CC      net/ipv6/anycast.o
  AR      drivers/clk/renesas/built-in.a
  CC      security/lsm_audit.o
  AR      drivers/clk/socfpga/built-in.a
  CC      drivers/acpi/acpica/evxfgpe.o
  TEST    lib/test_fortify/read_overflow-memcmp.log
  AR      drivers/clk/sprd/built-in.a
  CC      drivers/pnp/quirks.o
  CC [M]  crypto/polyval-generic.o
  AR      drivers/clk/starfive/built-in.a
  AR      drivers/clk/sunxi-ng/built-in.a
  CC      mm/ksm.o
  CC [M]  arch/x86/kvm/xen.o
  AR      drivers/clk/ti/built-in.a
  CC [M]  arch/x86/kvm/smm.o
  AR      drivers/clk/versatile/built-in.a
  CC      block/blk-zoned.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  TEST    lib/test_fortify/write_overflow-memmove.log
  CC [M]  fs/nfs/mount_clnt.o
  CC      drivers/clk/x86/clk-fch.o
  CC [M]  sound/soc/sof/intel/hda-dai-ops.o
  CC [M]  sound/soc/sof/amd/acp-common.o
  CC      drivers/clk/x86/clk-lpss-atom.o
  CC      drivers/acpi/pmic/intel_pmic_chtwc.o
  CC      arch/x86/kernel/i8259.o
  CC      drivers/clk/x86/clk-pmc-atom.o
  CC      security/integrity/ima/ima_queue_keys.o
  CC      kernel/bpf/bpf_local_storage.o
  CC      kernel/trace/trace_fprobe.o
  CC      kernel/bpf/bpf_task_storage.o
  CC      fs/btrfs/inode-item.o
  CC      drivers/video/fbdev/core/sysimgblt.o
  CC [M]  sound/soc/sof/amd/acp-probes.o
  CC      fs/ext4/orphan.o
  CC      fs/ext4/acl.o
  CC      net/ipv4/ip_tunnel_core.o
  CC      security/integrity/ima/ima_efi.o
  CC [M]  fs/lockd/svcproc.o
  TEST    lib/test_fortify/read_overflow2_field-memcpy.log
  CC      net/core/lwtunnel.o
  CC      drivers/pnp/system.o
  CC      drivers/acpi/acpica/evxfregn.o
  CC      net/packet/af_packet.o
  CC      drivers/video/fbdev/core/fb_sys_fops.o
  CC      drivers/acpi/apei/bert.o
  CC      drivers/acpi/pmic/tps68470_pmic.o
  TEST    lib/test_fortify/read_overflow-memscan.log
  CC      net/core/lwt_bpf.o
  CC [M]  fs/nfs/nfstrace.o
  AR      drivers/clk/x86/built-in.a
  CC      security/integrity/ima/ima_iint.o
  CC      kernel/bpf/bpf_inode_storage.o
  CC [M]  drivers/acpi/nfit/mce.o
  AR      drivers/clk/xilinx/built-in.a
  CC      drivers/acpi/apei/ghes.o
  CC      drivers/clk/clk-devres.o
  CC [M]  crypto/simd.o
  CC [M]  fs/netfs/objects.o
  CC      net/ipv6/ip6_output.o
  CC [M]  sound/soc/sof/intel/hda-bus.o
  LD [M]  net/ipv6/netfilter/nf_defrag_ipv6.o
  TEST    lib/test_fortify/write_overflow_field-memcpy.log
  CC      net/ipv6/ip6_input.o
  CC [M]  sound/soc/sof/amd/pci-rn.o
  LD [M]  sound/hda/snd-hda-core.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  CC [M]  fs/lockd/svcsubs.o
  CC      security/device_cgroup.o
  CC      fs/btrfs/disk-io.o
  CC [M]  fs/lockd/mon.o
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  CC      arch/x86/kernel/irqinit.o
  AR      drivers/pnp/built-in.a
  CC      arch/x86/kernel/jump_label.o
  AR      sound/built-in.a
  CC [M]  sound/sound_core.o
  CC      drivers/dma/hsu/hsu.o
  CC [M]  arch/x86/kvm/vmx/vmx.o
  CC [M]  arch/x86/kvm/kvm-asm-offsets.s
  CC      fs/ext4/xattr_security.o
  CC      arch/x86/kernel/irq_work.o
  CC [M]  arch/x86/kvm/vmx/pmu_intel.o
  AR      drivers/soc/apple/built-in.a
  AR      drivers/soc/aspeed/built-in.a
  CC      drivers/acpi/acpica/exconcat.o
  CC      drivers/acpi/acpica/exconfig.o
  TEST    lib/test_fortify/read_overflow2-memcmp.log
  CC      drivers/acpi/acpica/exconvrt.o
  AR      drivers/acpi/pmic/built-in.a
  AR      drivers/soc/bcm/built-in.a
  CC      arch/x86/kernel/probe_roms.o
  CC      drivers/clk/clk-bulk.o
  AR      drivers/soc/fsl/built-in.a
  CC      drivers/clk/clkdev.o
  CC      drivers/clk/clk.o
  AR      drivers/soc/fujitsu/built-in.a
  CC      drivers/clk/clk-divider.o
  CC      block/blk-wbt.o
  CC [M]  sound/soc/sof/intel/skl.o
  AR      drivers/soc/hisilicon/built-in.a
  AR      kernel/trace/built-in.a
  CC      block/blk-mq-debugfs.o
  AR      drivers/soc/imx/built-in.a
  CC [M]  sound/soc/sof/amd/renoir.o
  AR      drivers/soc/ixp4xx/built-in.a
  AR      security/integrity/ima/built-in.a
  CC      drivers/acpi/tables.o
  AR      drivers/soc/loongson/built-in.a
  LD [M]  drivers/acpi/nfit/nfit.o
  AR      security/integrity/built-in.a
  LD [M]  sound/soc/sof/amd/snd-sof-amd-acp.o
  CC      drivers/acpi/blacklist.o
  CC [M]  fs/nfs/export.o
  AR      drivers/soc/mediatek/built-in.a
  AR      drivers/soc/microchip/built-in.a
  CC [M]  sound/soc/sof/intel/hda-loader-skl.o
  AR      drivers/soc/nuvoton/built-in.a
  AR      drivers/soc/pxa/built-in.a
  TEST    lib/test_fortify/write_overflow-strcpy-lit.log
  CC [M]  fs/netfs/output.o
  AR      drivers/soc/amlogic/built-in.a
  AR      drivers/soc/qcom/built-in.a
  CC      drivers/acpi/osi.o
  AR      drivers/soc/renesas/built-in.a
  CC      arch/x86/kernel/sys_ia32.o
  CC      block/blk-mq-debugfs-zoned.o
  CC      kernel/bpf/disasm.o
  AR      drivers/soc/rockchip/built-in.a
  CC      drivers/acpi/acpica/excreate.o
  CC      drivers/acpi/osl.o
  CC [M]  fs/nfs/sysfs.o
  AR      drivers/video/fbdev/core/built-in.a
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/video/fbdev/built-in.a
  LD [M]  crypto/crypto_simd.o
  AR      drivers/soc/ti/built-in.a
  CC      crypto/rsapubkey.asn1.o
  AR      drivers/video/built-in.a
  CC      drivers/acpi/utils.o
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  CC      arch/x86/kernel/signal_32.o
  CC      crypto/rsaprivkey.asn1.o
  CC      drivers/clk/clk-fixed-factor.o
  CC [M]  net/netfilter/nft_cmp.o
  TEST    lib/test_fortify/read_overflow2-memcpy.log
  AR      crypto/built-in.a
  CC      fs/ext4/verity.o
  CC      mm/page_poison.o
  CC      mm/memtest.o
  CC [M]  arch/x86/kvm/vmx/vmcs12.o
  LD [M]  sound/soundcore.o
  CC      net/core/dst_cache.o
  CC [M]  fs/smb/common/cifs_arc4.o
  CC [M]  fs/smb/common/cifs_md4.o
  CC      fs/ext4/crypto.o
  CC      drivers/acpi/acpica/exdebug.o
  CC [M]  fs/smb/client/trace.o
  CC      net/ipv4/gre_offload.o
  TEST    lib/test_fortify/write_overflow-strscpy.log
  AR      drivers/dma/hsu/built-in.a
  AR      drivers/acpi/apei/built-in.a
  AR      drivers/dma/idxd/built-in.a
  CC [M]  fs/smb/client/cifsfs.o
  CC      drivers/clk/clk-fixed-rate.o
  CC      drivers/clk/clk-gate.o
  CC      drivers/dma/lgm/lgm-dma.o
  CC [M]  net/netfilter/nft_range.o
  CC [M]  net/netfilter/nft_bitwise.o
  CC      block/sed-opal.o
  AR      drivers/dma/mediatek/built-in.a
  CC      kernel/bpf/mprog.o
  CC [M]  sound/soc/sof/xtensa/core.o
  CC      drivers/clk/clk-multiplier.o
  CC [M]  arch/x86/kvm/vmx/nested.o
  CC [M]  sound/soc/sof/intel/apl.o
  CC      kernel/bpf/trampoline.o
  CC      drivers/acpi/acpica/exdump.o
  CC [M]  arch/x86/kvm/vmx/posted_intr.o
  TEST    lib/test_fortify/write_overflow-memcpy.log
  LD [M]  sound/soc/sof/amd/snd-sof-amd-renoir.o
  CC      drivers/acpi/reboot.o
  CC      mm/migrate.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC [M]  sound/soc/sof/core.o
  CC [M]  fs/lockd/trace.o
  AR      security/built-in.a
  CC [M]  fs/lockd/xdr.o
  CC [M]  fs/lockd/procfs.o
  CC      drivers/clk/clk-mux.o
  CC      net/core/gro_cells.o
  AR      fs/ext4/built-in.a
  TEST    lib/test_fortify/read_overflow-memchr.log
  CC      arch/x86/kernel/espfix_64.o
  CC [M]  arch/x86/kvm/vmx/sgx.o
  CC      mm/memory-tiers.o
  CC      mm/migrate_device.o
  CC      drivers/clk/clk-composite.o
  CC      block/blk-pm.o
  CC      block/blk-crypto.o
  CC [M]  fs/nfs/fs_context.o
  LD [M]  fs/netfs/netfs.o
  CC      drivers/acpi/acpica/exfield.o
  CC      drivers/acpi/acpica/exfldio.o
  CC [M]  fs/autofs/init.o
  CC      block/blk-crypto-profile.o
  TEST    lib/test_fortify/write_overflow_field-memset.log
  CC [M]  fs/autofs/inode.o
  CC      mm/huge_memory.o
  CC      net/core/failover.o
  CC      drivers/clk/clk-fractional-divider.o
  CC      net/core/skmsg.o
  CC      net/devlink/core.o
  AR      drivers/pmdomain/actions/built-in.a
  CC      drivers/acpi/nvs.o
  CC      net/ipv4/metrics.o
  AR      drivers/pmdomain/amlogic/built-in.a
  AR      drivers/pmdomain/apple/built-in.a
  CC [M]  arch/x86/kvm/vmx/hyperv.o
  AR      drivers/pmdomain/arm/built-in.a
  CC      arch/x86/kernel/ksysfs.o
  AR      drivers/dma/lgm/built-in.a
  TEST    lib/test_fortify/read_overflow-memchr_inv.log
  CC [M]  sound/soc/sof/ops.o
  CC [M]  arch/x86/kvm/vmx/hyperv_evmcs.o
  AR      drivers/pmdomain/bcm/built-in.a
  AR      drivers/dma/qcom/built-in.a
  AR      drivers/pmdomain/imx/built-in.a
  AR      drivers/dma/ti/built-in.a
  LD [M]  sound/soc/sof/xtensa/snd-sof-xtensa-dsp.o
  CC [M]  sound/soc/sof/loader.o
  AR      drivers/dma/xilinx/built-in.a
  AR      drivers/pmdomain/mediatek/built-in.a
  AR      drivers/pmdomain/qcom/built-in.a
  CC      fs/btrfs/transaction.o
  CC [M]  sound/soc/sof/intel/cnl.o
  CC [M]  drivers/dma/dw/core.o
  AR      drivers/pmdomain/renesas/built-in.a
  CC [M]  sound/soc/sof/intel/tgl.o
  CC [M]  drivers/dma/dw/dw.o
  CC      drivers/acpi/acpica/exmisc.o
  AR      drivers/pmdomain/rockchip/built-in.a
  CC      kernel/bpf/btf.o
  CC      net/ipv4/netlink.o
  CC [M]  sound/soc/sof/intel/icl.o
  AR      drivers/pmdomain/samsung/built-in.a
  CC [M]  fs/nfs/sysctl.o
  AR      drivers/pmdomain/st/built-in.a
  TEST    lib/test_fortify/write_overflow-strcpy.log
  AR      net/packet/built-in.a
  AR      net/dsa/built-in.a
  AR      drivers/pmdomain/starfive/built-in.a
  CC      mm/khugepaged.o
  CC      net/core/sock_map.o
  CC      net/ipv4/nexthop.o
  CC      drivers/acpi/acpica/exmutex.o
  AR      drivers/pmdomain/sunxi/built-in.a
  LD [M]  fs/lockd/lockd.o
  AR      drivers/pmdomain/tegra/built-in.a
  CC [M]  fs/overlayfs/super.o
  CC [M]  net/netfilter/nft_byteorder.o
  CC [M]  fs/autofs/root.o
  AR      drivers/pmdomain/ti/built-in.a
  CC      net/ipv6/addrconf.o
  TEST    lib/test_fortify/read_overflow2_field-memmove.log
  AR      drivers/pmdomain/xilinx/built-in.a
  CC      drivers/pmdomain/core.o
  CC [M]  sound/soc/sof/ipc.o
  CC      arch/x86/kernel/bootflag.o
  CC [M]  fs/overlayfs/namei.o
  CC [M]  drivers/dma/ioat/init.o
  CC      drivers/virtio/virtio.o
  CC      mm/page_counter.o
  CC [M]  drivers/dma/ioat/dma.o
  CC [M]  net/netfilter/nft_payload.o
  CC      drivers/xen/events/events_base.o
  CC      drivers/acpi/acpica/exnames.o
  CC      net/core/bpf_sk_storage.o
  TEST    lib/test_fortify/write_overflow_field-memmove.log
  CC      drivers/acpi/acpica/exoparg1.o
  CC      block/blk-crypto-sysfs.o
  CC      block/blk-crypto-fallback.o
  CC      drivers/xen/xenbus/xenbus_client.o
  CC      fs/open.o
  CC      drivers/clk/clk-gpio.o
  TEST    lib/test_fortify/write_overflow-strncpy.log
  CC      drivers/regulator/core.o
  CC      arch/x86/kernel/e820.o
  CC      drivers/regulator/dummy.o
  CC [M]  net/core/selftests.o
  CC [M]  fs/smb/client/cifs_debug.o
  CC [M]  drivers/clk/clk-tps68470.o
  CC      net/ipv6/addrlabel.o
  CC      block/holder.o
  CC [M]  fs/autofs/symlink.o
  CC [M]  fs/overlayfs/util.o
  CC      drivers/acpi/acpica/exoparg2.o
  CC [M]  drivers/dma/ioat/prep.o
  CC [M]  sound/soc/sof/intel/mtl.o
  CC [M]  fs/smb/client/connect.o
  TEST    lib/test_fortify/write_overflow-memset.log
  CC      net/devlink/netlink.o
  CC      drivers/dma/dmaengine.o
  CC [M]  drivers/dma/dw/idma32.o
  CC      drivers/dma/virt-dma.o
  CC      drivers/xen/events/events_2l.o
  CC [M]  drivers/dma/ioat/dca.o
  CC      arch/x86/kernel/pci-dma.o
  CC      net/ipv4/udp_tunnel_stub.o
  CC      net/ipv4/sysctl_net_ipv4.o
  TEST    lib/test_fortify/write_overflow-strncpy-src.log
  CC [M]  fs/overlayfs/inode.o
  CC      drivers/virtio/virtio_ring.o
  CC      drivers/xen/xenbus/xenbus_comms.o
  CC      net/ipv6/route.o
  CC      drivers/xen/xenbus/xenbus_xs.o
  LD [M]  fs/nfs/nfs.o
  CC      drivers/xen/xenbus/xenbus_probe.o
  CC      mm/memcontrol.o
  CC      drivers/acpi/acpica/exoparg3.o
  AR      drivers/clk/built-in.a
  CC      fs/read_write.o
  CC      fs/btrfs/inode.o
  CC      drivers/pmdomain/governor.o
  CC [M]  net/netfilter/nft_lookup.o
  CC      lib/timerqueue.o
  CC [M]  fs/autofs/waitq.o
  CC [M]  net/netfilter/nft_dynset.o
  CC [M]  drivers/dma/ioat/sysfs.o
  CC      drivers/xen/events/events_fifo.o
  CC      drivers/acpi/acpica/exoparg6.o
  CC      drivers/acpi/acpica/exprep.o
  CC      drivers/acpi/acpica/exregion.o
  AR      block/built-in.a
  CC      lib/vsprintf.o
  CC [M]  sound/soc/sof/intel/lnl.o
  CC      drivers/regulator/fixed-helper.o
  CC      kernel/bpf/memalloc.o
  CC [M]  sound/soc/sof/intel/hda-common-ops.o
  CC [M]  drivers/dma/dw/acpi.o
  CC [M]  fs/overlayfs/file.o
  LD [M]  arch/x86/kvm/kvm.o
  CC [M]  net/netfilter/nft_meta.o
  AR      drivers/pmdomain/built-in.a
  UPD     arch/x86/kvm/kvm-asm-offsets.h
  CC      arch/x86/kernel/quirks.o
  CC      drivers/xen/xenbus/xenbus_probe_backend.o
  AS [M]  arch/x86/kvm/vmx/vmenter.o
  CC      net/devlink/netlink_gen.o
  CC      net/devlink/dev.o
  LD [M]  arch/x86/kvm/kvm-intel.o
  AR      drivers/reset/hisilicon/built-in.a
  CC      drivers/tty/vt/vt_ioctl.o
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/acpi/acpica/exresnte.o
  CC      drivers/acpi/acpica/exresolv.o
  CC      net/ipv4/proc.o
  AR      drivers/reset/starfive/built-in.a
  CC      net/strparser/strparser.o
  CC      drivers/xen/xenbus/xenbus_dev_frontend.o
  CC      drivers/reset/core.o
  CC [M]  fs/autofs/expire.o
  CC      drivers/reset/reset-simple.o
  LD [M]  drivers/dma/ioat/ioatdma.o
  AR      net/core/built-in.a
  CC      arch/x86/kernel/topology.o
  CC      drivers/xen/cpu_hotplug.o
  CC      drivers/dma/acpi-dma.o
  CC      net/devlink/port.o
  CC      fs/btrfs/file.o
  CC      drivers/tty/hvc/hvc_console.o
  CC      drivers/tty/hvc/hvc_irq.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC      drivers/tty/serial/serial_core.o
  CC      drivers/tty/serial/serial_base_bus.o
  CC      drivers/tty/serial/serial_ctrl.o
  CC [M]  drivers/dma/dw/platform.o
  CC      drivers/acpi/acpica/exresop.o
  CC      fs/file_table.o
  CC      fs/super.o
  AR      drivers/xen/events/built-in.a
  CC      kernel/smpboot.o
  CC      drivers/char/hw_random/core.o
  CC      drivers/tty/serdev/core.o
  CC [M]  fs/overlayfs/dir.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      net/ipv4/fib_rules.o
  CC      kernel/ucount.o
  CC      drivers/xen/grant-table.o
  CC      drivers/tty/tty_io.o
  CC      drivers/acpi/wakeup.o
  CC      drivers/char/agp/backend.o
  CC      drivers/char/agp/generic.o
  CC      drivers/acpi/sleep.o
  CC      drivers/char/agp/isoch.o
  CC      drivers/xen/xenbus/xenbus_dev_backend.o
  CC      drivers/acpi/acpica/exserial.o
  CC [M]  fs/autofs/dev-ioctl.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      drivers/tty/vt/keyboard.o
  CC      drivers/acpi/acpica/exstore.o
  CC      drivers/tty/serial/serial_port.o
  CC [M]  sound/soc/sof/intel/telemetry.o
  LD [M]  drivers/dma/dw/dw_dmac_core.o
  CC      drivers/virtio/virtio_anchor.o
  LD [M]  drivers/dma/dw/dw_dmac.o
  CC      fs/char_dev.o
  CC      kernel/regset.o
  CC      drivers/regulator/helpers.o
  CC [M]  drivers/dma/idma64.o
  CC      fs/stat.o
  CC      drivers/tty/serial/8250/8250_pnp.o
  CC      drivers/regulator/devres.o
  CC      drivers/tty/serial/8250/8250_port.o
  CC      net/devlink/sb.o
  AR      drivers/reset/built-in.a
  CC      drivers/tty/hvc/hvc_xen.o
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      drivers/acpi/acpica/exstoren.o
  CC      drivers/regulator/irq_helpers.o
  CC [M]  drivers/regulator/tps68470-regulator.o
  CC      fs/exec.o
  CC      drivers/xen/xenbus/xenbus_probe_frontend.o
  CC [M]  fs/overlayfs/readdir.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      drivers/tty/serdev/serdev-ttyport.o
  CC [M]  fs/smb/client/dir.o
  CC      drivers/char/agp/amd64-agp.o
  LD [M]  fs/autofs/autofs4.o
  CC [M]  sound/soc/sof/intel/hda-probes.o
  AR      drivers/char/hw_random/built-in.a
  CC      drivers/tty/serial/earlycon.o
  AR      net/strparser/built-in.a
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  CC [M]  net/netfilter/nft_rt.o
  CC      kernel/ksyms_common.o
  CC      drivers/tty/serial/max310x.o
  CC      arch/x86/kernel/alternative.o
  CC      drivers/acpi/device_sysfs.o
  CC      net/ipv6/ip6_fib.o
  CC      drivers/char/agp/intel-agp.o
  CC      drivers/acpi/acpica/exstorob.o
  CC      kernel/bpf/arena.o
  CC      drivers/virtio/virtio_mmio.o
  CC      drivers/virtio/virtio_pci_modern.o
  CC      drivers/virtio/virtio_pci_common.o
  CC      drivers/virtio/virtio_pci_legacy.o
  AR      drivers/dma/built-in.a
  CC      lib/win_minmax.o
  CC      drivers/char/agp/intel-gtt.o
  CC      fs/pipe.o
  CC      drivers/char/agp/via-agp.o
  CC      net/devlink/dpipe.o
  CC      net/devlink/resource.o
  CC      drivers/acpi/acpica/exsystem.o
  CC      drivers/virtio/virtio_pci_admin_legacy_io.o
  CC      drivers/virtio/virtio_balloon.o
  AR      drivers/tty/hvc/built-in.a
  CC      drivers/xen/features.o
  AR      drivers/tty/serdev/built-in.a
  CC      fs/namei.o
  CC      drivers/xen/balloon.o
  CC      fs/fcntl.o
  CC      drivers/acpi/acpica/extrace.o
  CC [M]  sound/soc/sof/intel/hda-mlink.o
  CC      net/devlink/param.o
  CC      net/devlink/region.o
  CC      net/ipv4/ipmr.o
  CC      fs/ioctl.o
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC [M]  net/netfilter/nft_exthdr.o
  AR      net/wireless/tests/built-in.a
  AR      net/wireless/built-in.a
  CC      fs/btrfs/defrag.o
  CC      net/netlabel/netlabel_user.o
  CC      net/netlabel/netlabel_kapi.o
  CC      net/rfkill/core.o
  CC [M]  fs/overlayfs/copy_up.o
  CC      kernel/bpf/dispatcher.o
  CC      drivers/tty/serial/8250/8250_fintek.o
  AR      drivers/regulator/built-in.a
  CC      drivers/tty/n_tty.o
  CC      fs/btrfs/extent_map.o
  CC      net/netlabel/netlabel_domainhash.o
  CC      net/netlabel/netlabel_addrlist.o
  CC      fs/btrfs/sysfs.o
  CC      drivers/iommu/amd/iommu.o
  CC      drivers/iommu/intel/dmar.o
  AR      drivers/gpu/host1x/built-in.a
  CC      drivers/acpi/acpica/exutils.o
  CC      arch/x86/kernel/i8253.o
  CC      drivers/acpi/acpica/hwacpi.o
  CC      drivers/tty/vt/vt.o
  AR      drivers/xen/xenbus/built-in.a
  CC [M]  drivers/virtio/virtio_mem.o
  CC      drivers/acpi/acpica/hwesleep.o
  CC      lib/xarray.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC      net/devlink/health.o
  AR      drivers/gpu/drm/tests/built-in.a
  CC [M]  drivers/gpu/drm/tests/drm_kunit_helpers.o
  CC [M]  drivers/gpu/drm/tests/drm_buddy_test.o
  CC      net/rfkill/input.o
  CC [M]  fs/smb/client/file.o
  CC      mm/vmpressure.o
  CC      drivers/acpi/acpica/hwgpe.o
  CC      drivers/acpi/device_pm.o
  AR      drivers/char/agp/built-in.a
  COPY    drivers/tty/vt/defkeymap.c
  CC      net/devlink/trap.o
  CC [M]  sound/soc/sof/pcm.o
  CC      drivers/char/tpm/tpm-chip.o
  AR      drivers/gpu/drm/arm/built-in.a
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  CC [M]  sound/soc/sof/pm.o
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/arm/built-in.a
  CC      drivers/tty/serial/8250/8250_early.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      drivers/tty/serial/8250/8250_dw.o
  AR      drivers/iommu/iommufd/built-in.a
  CC      kernel/bpf/devmap.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC [M]  sound/soc/sof/intel/hda-codec.o
  CC      drivers/xen/manage.o
  CC [M]  fs/overlayfs/export.o
  CC      net/ipv4/ipmr_base.o
  CC [M]  fs/overlayfs/params.o
  CC [M]  net/netfilter/nft_last.o
  CC      drivers/acpi/acpica/hwregs.o
  CC [M]  fs/overlayfs/xattrs.o
  CC      net/netlabel/netlabel_mgmt.o
  AR      net/rfkill/built-in.a
  CC      drivers/xen/time.o
  CC      mm/swap_cgroup.o
  CC      drivers/tty/tty_ioctl.o
  CC      kernel/bpf/cpumap.o
  CC      drivers/acpi/acpica/hwsleep.o
  CC      net/netlabel/netlabel_unlabeled.o
  CC [M]  net/netfilter/nft_counter.o
  CC [M]  net/netfilter/nft_objref.o
  CC      kernel/groups.o
  CC      kernel/vhost_task.o
  CC      kernel/kcmp.o
  CC      drivers/char/mem.o
  CC      net/dcb/dcbnl.o
  CC      drivers/char/tpm/tpm-dev-common.o
  CC [M]  drivers/gpu/drm/tests/drm_cmdline_parser_test.o
  AR      drivers/virtio/built-in.a
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      fs/btrfs/accessors.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC      drivers/iommu/amd/init.o
  CC      lib/lockref.o
  CC      lib/bcd.o
  CC      net/ipv6/ipv6_sockglue.o
  CC [M]  drivers/gpu/drm/tests/drm_connector_test.o
  CC [M]  drivers/gpu/drm/tests/drm_damage_helper_test.o
  CC      net/ipv6/ndisc.o
  CC      drivers/char/random.o
  CC      mm/hugetlb_cgroup.o
  CC      lib/sort.o
  CC      net/dcb/dcbevent.o
  CC      kernel/freezer.o
  CC      lib/parser.o
  CC      lib/debug_locks.o
  CC      drivers/iommu/iommu.o
  CC      fs/btrfs/xattr.o
  CC [M]  drivers/gpu/drm/tests/drm_dp_mst_helper_test.o
  CC      drivers/acpi/acpica/hwxface.o
  CC [M]  sound/soc/sof/intel/pci-tgl.o
  CC      fs/readdir.o
  CC      drivers/iommu/intel/iommu.o
  CC      kernel/bpf/offload.o
  LD [M]  fs/overlayfs/overlay.o
  CC      net/ipv4/syncookies.o
  CC      net/ipv6/udp.o
  CC      drivers/tty/vt/consolemap.o
  CC      drivers/gpu/vga/vga_switcheroo.o
  CC      net/devlink/rate.o
  CC      arch/x86/kernel/tsc.o
  CC      drivers/char/tpm/tpm-dev.o
  CC      lib/random32.o
  CC      drivers/xen/mem-reservation.o
  CC      kernel/profile.o
  CC      fs/select.o
  CC      lib/bust_spinlocks.o
  CC [M]  net/netfilter/nft_inner.o
  CC      drivers/tty/serial/sccnxp.o
  CC      lib/kasprintf.o
  CC      drivers/tty/tty_ldisc.o
  CC [M]  drivers/gpu/drm/tests/drm_exec_test.o
  CC [M]  sound/soc/sof/debug.o
  CC      net/devlink/linecard.o
  CC [M]  sound/soc/sof/topology.o
  CC [M]  sound/soc/sof/control.o
  CC [M]  drivers/gpu/drm/tests/drm_format_helper_test.o
  CC      net/netlabel/netlabel_cipso_v4.o
  CC      drivers/tty/serial/serial_mctrl_gpio.o
  CC [M]  drivers/gpu/drm/tests/drm_format_test.o
  CC      fs/dcache.o
  CC      drivers/xen/pci.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC [M]  sound/soc/sof/intel/pci-mtl.o
  CC      mm/memory-failure.o
  CC      drivers/char/ttyprintk.o
  CC      drivers/char/tpm/tpm-interface.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      lib/bitmap.o
  CC      drivers/xen/dbgp.o
  CC [M]  sound/soc/sof/trace.o
  CC      lib/scatterlist.o
  CC      kernel/stacktrace.o
  CC      fs/inode.o
  CC [M]  drivers/gpu/drm/tests/drm_framebuffer_test.o
  CC      net/ipv4/netfilter.o
  CC      drivers/tty/serial/8250/8250_rt288x.o
  CC      fs/btrfs/ordered-data.o
  CC      drivers/iommu/amd/quirks.o
  CC [M]  net/netfilter/nft_chain_route.o
  CC      drivers/iommu/amd/io_pgtable.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC [M]  sound/soc/sof/iomem-utils.o
  CC      net/ipv6/udplite.o
  CC      drivers/char/misc.o
  CC      drivers/tty/serial/kgdb_nmi.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC [M]  sound/soc/sof/intel/pci-lnl.o
  AR      net/dcb/built-in.a
  CC      drivers/tty/vt/defkeymap.o
  CC [M]  net/netfilter/nf_tables_offload.o
  CC      drivers/tty/serial/kgdboc.o
  CC      mm/kmemleak.o
  CC      drivers/iommu/iommu-traces.o
  CC [M]  net/netfilter/nft_set_hash.o
  CC      arch/x86/kernel/tsc_msr.o
  CC      arch/x86/kernel/io_delay.o
  AR      drivers/gpu/vga/built-in.a
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC [M]  drivers/gpu/drm/tests/drm_gem_shmem_test.o
  LD [M]  sound/soc/sof/intel/snd-sof-intel-hda-common.o
  CC      kernel/dma.o
  CC      kernel/smp.o
  CC [M]  drivers/gpu/drm/tests/drm_managed_test.o
  CC      net/netlabel/netlabel_calipso.o
  CC [M]  net/netfilter/nft_set_bitmap.o
  CC [M]  sound/soc/sof/sof-audio.o
  CC      drivers/connector/cn_queue.o
  CC      drivers/tty/vt/consolemap_deftbl.o
  AR      drivers/tty/vt/built-in.a
  CC      fs/attr.o
  CC [M]  net/netfilter/nft_set_rbtree.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      lib/list_sort.o
  CC      kernel/bpf/net_namespace.o
  CC [M]  drivers/gpu/drm/tests/drm_mm_test.o
  CC [M]  drivers/gpu/drm/tests/drm_modes_test.o
  CC      drivers/char/virtio_console.o
  CC      net/dns_resolver/dns_key.o
  CC      drivers/xen/acpi.o
  CC      drivers/char/tpm/tpm1-cmd.o
  CC      drivers/iommu/amd/io_pgtable_v2.o
  CC      drivers/xen/xen-acpi-pad.o
  CC      drivers/tty/tty_buffer.o
  CC      arch/x86/kernel/rtc.o
  LD [M]  sound/soc/sof/intel/snd-sof-intel-hda-mlink.o
  LD [M]  sound/soc/sof/intel/snd-sof-intel-hda.o
  CC [M]  drivers/gpu/drm/tests/drm_plane_helper_test.o
  CC      drivers/char/hpet.o
  CC [M]  drivers/char/lp.o
  CC      drivers/iommu/iommu-sysfs.o
  LD [M]  sound/soc/sof/intel/snd-sof-pci-intel-tgl.o
  CC      lib/uuid.o
  LD [M]  sound/soc/sof/intel/snd-sof-pci-intel-mtl.o
  AR      drivers/tty/serial/8250/built-in.a
  LD [M]  sound/soc/sof/intel/snd-sof-pci-intel-lnl.o
  CC [M]  fs/smb/client/inode.o
  CC [M]  drivers/gpu/drm/tests/drm_probe_helper_test.o
  AR      net/devlink/built-in.a
  CC [M]  net/netfilter/nft_set_pipapo.o
  CC [M]  net/netfilter/nft_set_pipapo_avx2.o
  CC      drivers/iommu/intel/pasid.o
  CC      net/ipv6/raw.o
  CC      drivers/acpi/acpica/nsarguments.o
  CC [M]  net/netfilter/nft_compat.o
  CC      kernel/uid16.o
  CC      net/ipv4/tcp_cubic.o
  CC      net/ipv4/tcp_sigpool.o
  AR      drivers/tty/serial/built-in.a
  CC      drivers/iommu/io-pgtable.o
  CC      drivers/iommu/dma-iommu.o
  CC      drivers/base/power/sysfs.o
  CC      lib/iov_iter.o
  CC      drivers/base/power/generic_ops.o
  CC      drivers/base/power/common.o
  CC      drivers/connector/connector.o
  CC      net/dns_resolver/dns_query.o
  CC      net/ipv6/icmp.o
  CC      net/ipv6/mcast.o
  CC      fs/bad_inode.o
  CC [M]  drivers/char/ppdev.o
  CC      fs/btrfs/extent_io.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      drivers/xen/pcpu.o
  CC      drivers/iommu/iova.o
  AR      drivers/iommu/amd/built-in.a
  CC      net/ipv6/reassembly.o
  CC [M]  sound/soc/soc-acpi.o
  CC      drivers/connector/cn_proc.o
  CC [M]  net/netfilter/nft_nat.o
  CC      drivers/base/power/qos.o
  CC      kernel/bpf/tcx.o
  CC      mm/page_isolation.o
  CC      kernel/module_signature.o
  CC [M]  drivers/gpu/drm/tests/drm_rect_test.o
  CC      drivers/base/power/runtime.o
  CC      drivers/iommu/intel/nested.o
  CC [M]  net/netfilter/nft_chain_nat.o
  CC      drivers/xen/biomerge.o
  CC      drivers/xen/xen-balloon.o
  AR      net/netlabel/built-in.a
  CC      net/ipv6/tcp_ipv6.o
  CC      drivers/xen/sys-hypervisor.o
  CC      drivers/xen/platform-pci.o
  CC      arch/x86/kernel/resource.o
  CC      drivers/acpi/acpica/nsdump.o
  CC [M]  sound/soc/sof/stream-ipc.o
  CC      drivers/tty/tty_port.o
  CC      drivers/acpi/acpica/nseval.o
  CC      drivers/char/tpm/tpm2-cmd.o
  CC      net/ipv4/tcp_bpf.o
  CC      net/ipv4/udp_bpf.o
  AS      arch/x86/kernel/irqflags.o
  CC      drivers/xen/swiotlb-xen.o
  CC      drivers/iommu/intel/trace.o
  CC      drivers/char/tpm/tpmrm-dev.o
  CC [M]  fs/smb/client/link.o
  CC      drivers/block/loop.o
  CC [M]  sound/soc/soc-core.o
  CC      drivers/block/virtio_blk.o
  CC [M]  fs/smb/client/misc.o
  CC      fs/file.o
  AR      drivers/gpu/drm/display/built-in.a
  CC      net/ipv4/cipso_ipv4.o
  CC [M]  drivers/gpu/drm/display/drm_display_helper_mod.o
  CC      fs/filesystems.o
  CC      drivers/char/tpm/tpm2-space.o
  CC      drivers/acpi/acpica/nsinit.o
  CC      arch/x86/kernel/static_call.o
  CC      arch/x86/kernel/process.o
  AR      net/dns_resolver/built-in.a
  CC      net/ipv6/ping.o
  CC      drivers/acpi/acpica/nsload.o
  CC [M]  drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC [M]  sound/soc/soc-dapm.o
  CC [M]  drivers/gpu/drm/display/drm_dp_helper.o
  CC [M]  net/netfilter/x_tables.o
  CC      net/ipv6/exthdrs.o
  CC [M]  sound/soc/sof/fw-file-profile.o
  AR      drivers/gpu/drm/renesas/rcar-du/built-in.a
  CC      kernel/bpf/stackmap.o
  AR      net/mpls/built-in.a
  AR      drivers/gpu/drm/renesas/rz-du/built-in.a
  AR      drivers/gpu/drm/renesas/built-in.a
  CC      mm/zpool.o
  AR      drivers/connector/built-in.a
  CC      net/switchdev/switchdev.o
  CC [M]  sound/soc/sof/ipc3.o
  CC [M]  net/netfilter/xt_tcpudp.o
  CC [M]  net/netfilter/xt_nat.o
  CC      drivers/iommu/irq_remapping.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      net/ipv6/datagram.o
  CC      arch/x86/kernel/ptrace.o
  CC      drivers/char/tpm/tpm-sysfs.o
  CC      drivers/iommu/virtio-iommu.o
  CC      lib/clz_ctz.o
  CC      drivers/base/power/wakeirq.o
  CC      drivers/xen/mcelog.o
  CC      drivers/tty/tty_mutex.o
  CC      lib/bsearch.o
  CC      arch/x86/kernel/tls.o
  CC      drivers/iommu/intel/cap_audit.o
  CC      arch/x86/kernel/step.o
  CC      drivers/base/power/main.o
  CC      drivers/base/power/wakeup.o
  CC      drivers/acpi/acpica/nsobject.o
  CC [M]  drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      net/ipv4/xfrm4_policy.o
  CC      mm/zbud.o
  CC      drivers/base/firmware_loader/fallback_table.o
  CC      drivers/base/firmware_loader/main.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      drivers/base/firmware_loader/fallback.o
  CC      drivers/iommu/iommu-sva.o
  CC      drivers/char/tpm/eventlog/common.o
  CC      drivers/block/xen-blkfront.o
  CC      drivers/char/tpm/eventlog/tpm1.o
  CC      drivers/xen/xen-acpi-processor.o
  CC      mm/zsmalloc.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      kernel/bpf/cgroup_iter.o
  CC      mm/early_ioremap.o
  CC      arch/x86/kernel/tboot.o
  CC      lib/find_bit.o
  CC      drivers/tty/tty_ldsem.o
  CC      net/l3mdev/l3mdev.o
  CC      drivers/iommu/io-pgfault.o
  CC      drivers/char/tpm/eventlog/tpm2.o
  CC [M]  sound/soc/sof/ipc3-loader.o
  CC      net/ipv4/xfrm4_state.o
  CC      arch/x86/kernel/i8237.o
  CC      drivers/char/tpm/tpm_ppi.o
  CC [M]  fs/smb/client/netmisc.o
  CC      arch/x86/kernel/stacktrace.o
  CC      drivers/tty/tty_baudrate.o
  CC      fs/namespace.o
  CC [M]  sound/soc/sof/ipc3-topology.o
  CC [M]  sound/soc/sof/ipc3-control.o
  AR      drivers/base/firmware_loader/builtin/built-in.a
  CC      drivers/base/firmware_loader/sysfs.o
  CC      net/ipv6/ip6_flowlabel.o
  CC      drivers/iommu/intel/svm.o
  CC [M]  sound/soc/sof/ipc3-pcm.o
  CC      fs/btrfs/volumes.o
  CC      drivers/acpi/acpica/nspredef.o
  CC [M]  sound/soc/sof/ipc3-dtrace.o
  CC      lib/llist.o
  CC      drivers/base/regmap/regmap.o
  CC      drivers/base/regmap/regcache.o
  AR      drivers/base/test/built-in.a
  CC      arch/x86/kernel/reboot.o
  CC      net/ipv6/inet6_connection_sock.o
  CC      lib/lwq.o
  CC      mm/balloon_compaction.o
  CC      arch/x86/kernel/early-quirks.o
  CC      mm/secretmem.o
  AR      net/switchdev/built-in.a
  CC      kernel/bpf/bpf_cgrp_storage.o
  CC      drivers/acpi/acpica/nsprepkg.o
  CC      kernel/bpf/cgroup.o
  CC      arch/x86/kernel/smp.o
  CC      kernel/bpf/reuseport_array.o
  CC      drivers/xen/efi.o
  CC      lib/memweight.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      arch/x86/kernel/smpboot.o
  CC [M]  sound/soc/sof/ipc4.o
  CC      drivers/iommu/intel/irq_remapping.o
  CC      drivers/char/tpm/eventlog/acpi.o
  CC      drivers/base/power/wakeup_stats.o
  CC      lib/kfifo.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      drivers/base/power/trace.o
  CC [M]  sound/soc/sof/ipc4-loader.o
  CC      net/ipv4/xfrm4_input.o
  CC      drivers/base/power/clock_ops.o
  CC      drivers/iommu/intel/perfmon.o
  CC [M]  drivers/block/nbd.o
  CC      lib/percpu-refcount.o
  CC      drivers/base/firmware_loader/sysfs_upload.o
  CC [M]  sound/soc/soc-jack.o
  CC      drivers/tty/tty_jobctrl.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  AR      drivers/gpu/drm/tilcdc/built-in.a
  CC [M]  net/netfilter/xt_addrtype.o
  CC      drivers/tty/n_null.o
  CC [M]  net/netfilter/xt_conntrack.o
  CC      drivers/tty/pty.o
  CC      fs/seq_file.o
  CC      drivers/tty/tty_audit.o
  CC [M]  fs/smb/client/smbencrypt.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC      fs/xattr.o
  CC      mm/userfaultfd.o
  CC      drivers/acpi/acpica/nsrepair2.o
  AR      net/l3mdev/built-in.a
  CC      mm/page_idle.o
  CC      drivers/tty/sysrq.o
  CC      net/ncsi/ncsi-cmd.o
  CC      drivers/xen/xlate_mmu.o
  CC      drivers/char/tpm/eventlog/efi.o
  CC      drivers/xen/unpopulated-alloc.o
  CC      lib/rhashtable.o
  CC      fs/btrfs/async-thread.o
  CC      net/ipv6/udp_offload.o
  CC      fs/btrfs/ioctl.o
  CC [M]  sound/soc/sof/ipc4-topology.o
  CC [M]  sound/soc/soc-utils.o
  CC      net/xdp/xsk.o
  CC      mm/usercopy.o
  CC [M]  sound/soc/soc-dai.o
  CC      mm/memremap.o
  CC      drivers/acpi/acpica/nssearch.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      net/mptcp/protocol.o
  CC      net/mptcp/subflow.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      drivers/base/regmap/regcache-flat.o
  CC [M]  sound/soc/sof/ipc4-control.o
  CC [M]  sound/soc/sof/ipc4-pcm.o
  CC      net/xdp/xdp_umem.o
  CC      net/ipv6/seg6.o
  CC      net/mptcp/options.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      lib/base64.o
  CC      drivers/base/component.o
  CC      drivers/char/tpm/tpm_tis_core.o
  AR      drivers/iommu/intel/built-in.a
  AR      drivers/base/power/built-in.a
  CC      lib/once.o
  AR      drivers/iommu/built-in.a
  CC      net/ncsi/ncsi-rsp.o
  CC      drivers/char/tpm/tpm_tis.o
  CC      drivers/char/tpm/tpm_crb.o
  CC [M]  sound/soc/soc-component.o
  CC      lib/refcount.o
  CC [M]  fs/smb/client/transport.o
  CC      drivers/acpi/acpica/nswalk.o
  CC      kernel/bpf/bpf_struct_ops.o
  LD [M]  net/netfilter/nf_conntrack.o
  CC      drivers/acpi/proc.o
  LD [M]  net/netfilter/nf_nat.o
  CC      drivers/base/core.o
  AR      drivers/block/built-in.a
  LD [M]  net/netfilter/nf_tables.o
  CC [M]  sound/soc/soc-pcm.o
  CC      net/mptcp/token.o
  AR      net/netfilter/built-in.a
  CC      arch/x86/kernel/setup_percpu.o
  CC      drivers/base/bus.o
  CC [M]  drivers/gpu/drm/display/drm_dsc_helper.o
  CC      mm/hmm.o
  CC      mm/memfd.o
  CC      net/ipv6/fib6_notifier.o
  CC      fs/libfs.o
  CC      net/mctp/af_mctp.o
  CC      drivers/xen/grant-dma-ops.o
  CC      net/ipv4/xfrm4_output.o
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      net/mctp/device.o
  CC      mm/ptdump.o
  CC      fs/fs-writeback.o
  AR      drivers/tty/built-in.a
  CC      fs/pnode.o
  CC      net/ipv4/xfrm4_protocol.o
  CC      fs/splice.o
  CC      fs/sync.o
  CC      net/mctp/route.o
  CC      net/ncsi/ncsi-aen.o
  CC [M]  sound/soc/soc-devres.o
  CC [M]  sound/soc/sof/ipc4-mtrace.o
  CC      net/ncsi/ncsi-manage.o
  CC      net/ncsi/ncsi-netlink.o
  CC      drivers/acpi/acpica/nsxfname.o
  AR      drivers/misc/eeprom/built-in.a
  CC      lib/rcuref.o
  AR      drivers/misc/cb710/built-in.a
  CC      net/mptcp/crypto.o
  CC [M]  fs/smb/client/cached_dir.o
  AR      drivers/misc/ti-st/built-in.a
  CC [M]  fs/smb/client/cifs_unicode.o
  AR      drivers/misc/lis3lv02d/built-in.a
  CC      drivers/base/dd.o
  AR      drivers/misc/cardreader/built-in.a
  CC      drivers/base/syscore.o
  CC      drivers/base/regmap/regcache-maple.o
  AR      drivers/misc/pvpanic/built-in.a
  CC [M]  drivers/misc/mei/hdcp/mei_hdcp.o
  CC [M]  drivers/misc/mei/pxp/mei_pxp.o
  AR      drivers/xen/built-in.a
  CC      drivers/base/driver.o
  CC      kernel/bpf/cpumask.o
  CC [M]  drivers/misc/mei/gsc_proxy/mei_gsc_proxy.o
  CC      drivers/base/class.o
  CC      drivers/mfd/88pm860x-core.o
  CC      arch/x86/kernel/mpparse.o
  CC      drivers/misc/sram.o
  CC      net/ipv6/rpl.o
  CC      net/ipv6/ioam6.o
  CC      lib/usercopy.o
  CC      arch/x86/kernel/ftrace.o
  CC      kernel/kallsyms.o
  AR      drivers/char/tpm/built-in.a
  AR      drivers/char/built-in.a
  CC      kernel/acct.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      net/ipv6/ip6mr.o
  CC [M]  drivers/gpu/drm/display/drm_dp_tunnel.o
  CC      net/mptcp/ctrl.o
  CC      drivers/acpi/acpica/nsxfobj.o
  CC [M]  sound/soc/sof/ipc4-telemetry.o
  CC      lib/errseq.o
  CC      mm/page_reporting.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      fs/btrfs/locking.o
  CC [M]  sound/soc/soc-ops.o
  CC      drivers/base/platform.o
  CC [M]  drivers/misc/enclosure.o
  CC [M]  drivers/misc/mei/init.o
  CC      lib/bucket_locks.o
  CC      lib/generic-radix-tree.o
  CC      net/xdp/xsk_queue.o
  CC      kernel/bpf/bpf_lsm.o
  CC      drivers/acpi/bus.o
  CC      drivers/acpi/glue.o
  CC      lib/bitmap-str.o
  AR      drivers/misc/built-in.a
  CC      drivers/mfd/88pm860x-i2c.o
  CC      net/xdp/xskmap.o
  CC      drivers/mfd/wm8400-core.o
  CC      drivers/acpi/scan.o
  CC      drivers/acpi/acpica/psargs.o
  CC      net/ipv4/bpf_tcp_ca.o
  CC      net/xdp/xsk_buff_pool.o
  AR      drivers/nfc/built-in.a
  CC      drivers/acpi/mipi-disco-img.o
  CC      fs/btrfs/orphan.o
  CC      net/mctp/neigh.o
  CC      drivers/mfd/wm831x-core.o
  AS      arch/x86/kernel/ftrace_64.o
  CC      arch/x86/kernel/trace_clock.o
  CC      drivers/acpi/acpica/psloop.o
  CC      arch/x86/kernel/trace.o
  CC [M]  sound/soc/sof/sof-client.o
  CC      drivers/mfd/wm831x-irq.o
  CC      drivers/mfd/wm831x-otp.o
  CC [M]  fs/smb/client/nterr.o
  CC      kernel/vmcore_info.o
  CC      arch/x86/kernel/rethook.o
  CC [M]  sound/soc/soc-link.o
  CC      kernel/elfcorehdr.o
  CC      drivers/base/regmap/regmap-i2c.o
  CC      fs/utimes.o
  CC [M]  sound/soc/soc-card.o
  CC [M]  sound/soc/soc-topology.o
  CC      fs/d_path.o
  CC      drivers/acpi/acpica/psobject.o
  CC      net/handshake/alert.o
  CC [M]  sound/soc/soc-compress.o
  CC      drivers/acpi/acpica/psopcode.o
  CC      net/mptcp/pm.o
  CC      drivers/acpi/resource.o
  CC      drivers/acpi/acpica/psopinfo.o
  CC      arch/x86/kernel/vmcore_info_64.o
  CC [M]  drivers/misc/mei/hbm.o
  LD [M]  sound/soc/snd-soc-acpi.o
  CC [M]  fs/smb/client/cifsencrypt.o
  CC      net/handshake/genl.o
  AR      net/ncsi/built-in.a
  CC [M]  sound/soc/sof/sof-utils.o
  CC      fs/btrfs/export.o
  CC      drivers/acpi/acpi_processor.o
  CC      lib/string_helpers.o
  CC      drivers/acpi/processor_core.o
  CC      drivers/mfd/wm831x-auxadc.o
  CC [M]  net/llc/llc_core.o
  CC [M]  drivers/gpu/drm/display/drm_hdcp_helper.o
  CC      mm/bootmem_info.o
  CC [M]  net/llc/llc_input.o
  CC      kernel/crash_reserve.o
  CC      net/ipv6/xfrm6_policy.o
  CC      drivers/base/cpu.o
  CC      kernel/bpf/relo_core.o
  CC      drivers/mfd/wm831x-i2c.o
  CC      kernel/kexec_core.o
  CC      kernel/crash_core.o
  CC      kernel/kexec.o
  CC      kernel/kexec_file.o
  AR      net/mctp/built-in.a
  AR      net/ipv4/built-in.a
  CC      net/ipv6/xfrm6_state.o
  CC      drivers/acpi/acpica/psparse.o
  CC      fs/stack.o
  CC      kernel/compat.o
  CC      fs/btrfs/tree-log.o
  CC [M]  net/bridge/br.o
  CC      fs/btrfs/free-space-cache.o
  CC [M]  net/sunrpc/clnt.o
  CC [M]  net/sunrpc/xprt.o
  CC      arch/x86/kernel/machine_kexec_64.o
  CC      fs/fs_struct.o
  CC      kernel/utsname.o
  CC      fs/statfs.o
  CC [M]  sound/soc/sof/sof-pci-dev.o
  CC      fs/fs_pin.o
  CC      net/handshake/netlink.o
  AR      mm/built-in.a
  CC      drivers/base/regmap/regmap-spi.o
  CC      fs/nsfs.o
  CC      drivers/mfd/wm831x-spi.o
  CC      drivers/acpi/acpica/psscope.o
  CC      drivers/acpi/acpica/pstree.o
  CC      net/devres.o
  AR      net/xdp/built-in.a
  CC [M]  net/llc/llc_output.o
  CC      net/socket.o
  CC      drivers/base/regmap/regmap-mmio.o
  CC      drivers/base/firmware.o
  CC      drivers/base/init.o
  CC      drivers/base/map.o
  CC      drivers/nvdimm/core.o
  CC      drivers/base/devres.o
  CC      drivers/acpi/acpica/psutils.o
  CC      net/handshake/request.o
  CC      lib/hexdump.o
  CC [M]  drivers/misc/mei/interrupt.o
  CC      net/mptcp/diag.o
  CC [M]  drivers/gpu/drm/display/drm_hdmi_helper.o
  CC      drivers/nvdimm/bus.o
  CC      drivers/nvdimm/dimm_devs.o
  CC [M]  drivers/gpu/drm/display/drm_scdc_helper.o
  CC      net/mptcp/mib.o
  CC [M]  drivers/gpu/drm/display/drm_dp_aux_dev.o
  CC [M]  fs/smb/client/readdir.o
  CC      net/mptcp/pm_netlink.o
  CC      drivers/base/attribute_container.o
  CC [M]  fs/smb/client/ioctl.o
  CC      net/ipv6/xfrm6_input.o
  CC      drivers/base/regmap/regmap-irq.o
  CC      drivers/mfd/wm8350-core.o
  AR      kernel/bpf/built-in.a
  CC [M]  net/bridge/br_device.o
  AS      arch/x86/kernel/relocate_kernel_64.o
  CC      lib/kstrtox.o
  CC      kernel/user_namespace.o
  CC      net/compat.o
  CC      drivers/acpi/acpica/pswalk.o
  CC [M]  net/bridge/br_fdb.o
  CC      drivers/mfd/wm8350-regmap.o
  CC [M]  drivers/misc/mei/client.o
  CC      fs/fs_types.o
  CC      fs/fs_context.o
  CC      drivers/mfd/wm8350-gpio.o
  CC      arch/x86/kernel/kexec-bzimage64.o
  CC      drivers/base/transport_class.o
  CC [M]  net/bridge/br_forward.o
  CC      kernel/pid_namespace.o
  UPD     kernel/config_data
  CC      kernel/stop_machine.o
  CC      drivers/acpi/acpica/psxface.o
  CC [M]  sound/soc/sof/sof-client-probes.o
  CC      lib/debug_info.o
  CC      fs/fs_parser.o
  AR      drivers/gpu/drm/imx/built-in.a
  CC      drivers/acpi/acpica/rsaddr.o
  CC      drivers/acpi/acpica/rscalc.o
  CC [M]  drivers/misc/mei/main.o
  AR      drivers/gpu/drm/i2c/built-in.a
  CC      drivers/acpi/acpica/rscreate.o
  CC      drivers/mfd/wm8350-irq.o
  CC      drivers/nvdimm/nd_perf.o
  AR      drivers/gpu/drm/panel/built-in.a
  CC [M]  drivers/misc/mei/dma-ring.o
  CC      net/mptcp/sockopt.o
  CC      kernel/audit.o
  CC [M]  drivers/misc/mei/bus.o
  CC [M]  drivers/misc/mei/bus-fixup.o
  CC [M]  net/bridge/br_if.o
  CC      net/mptcp/pm_userspace.o
  CC      fs/fsopen.o
  CC      fs/init.o
  LD [M]  net/llc/llc.o
  CC      arch/x86/kernel/crash_dump_64.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  AR      drivers/gpu/drm/hisilicon/built-in.a
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  CC      net/sysctl_net.o
  CC      drivers/base/topology.o
  CC      kernel/auditfilter.o
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  AR      drivers/gpu/drm/mxsfb/built-in.a
  AR      drivers/base/regmap/built-in.a
  CC      drivers/nvdimm/dimm.o
  CC      kernel/auditsc.o
  AR      drivers/gpu/drm/bridge/built-in.a
  CC [M]  net/bridge/br_input.o
  AR      drivers/gpu/drm/tiny/built-in.a
  LD [M]  drivers/gpu/drm/display/drm_display_helper.o
  CC      fs/btrfs/zlib.o
  CC      drivers/mfd/wm8350-i2c.o
  CC      drivers/dax/hmem/device.o
  CC      drivers/dax/super.o
  AR      drivers/gpu/drm/xlnx/built-in.a
  AR      drivers/gpu/drm/gud/built-in.a
  CC      drivers/dax/bus.o
  CC [M]  sound/soc/sof/sof-client-probes-ipc3.o
  AR      drivers/gpu/drm/solomon/built-in.a
  CC      fs/kernel_read_file.o
  CC [M]  drivers/gpu/drm/ttm/ttm_tt.o
  CC      arch/x86/kernel/crash.o
  CC [M]  fs/smb/client/sess.o
  CC [M]  net/bridge/br_ioctl.o
  CC      net/ipv6/xfrm6_output.o
  CC      drivers/acpi/processor_pdc.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      net/mptcp/fastopen.o
  CC      fs/mnt_idmapping.o
  CC [M]  net/bridge/br_stp.o
  CC      lib/iomap.o
  CC [M]  net/bridge/br_stp_bpdu.o
  CC      drivers/mfd/tps65910.o
  CC      net/handshake/tlshd.o
  CC      kernel/audit_watch.o
  CC      drivers/base/container.o
  CC      fs/remap_range.o
  CC      kernel/audit_fsnotify.o
  CC [M]  drivers/misc/mei/debugfs.o
  CC      net/handshake/trace.o
  CC      fs/pidfs.o
  CC      drivers/nvdimm/region_devs.o
  CC      lib/iomap_copy.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC      drivers/acpi/acpica/rsio.o
  CC      fs/buffer.o
  LD [M]  sound/soc/snd-soc-core.o
  CC      fs/mpage.o
  CC      fs/proc_namespace.o
  CC      fs/btrfs/lzo.o
  CC      net/ipv6/xfrm6_protocol.o
  CC [M]  sound/soc/sof/sof-client-probes-ipc4.o
  CC      drivers/acpi/ec.o
  CC      lib/devres.o
  CC      arch/x86/kernel/module.o
  CC      drivers/acpi/acpica/rsirq.o
  CC      lib/check_signature.o
  CC [M]  drivers/misc/mei/mei-trace.o
  CC [M]  drivers/dax/device.o
  CC      drivers/base/property.o
  CC [M]  drivers/dax/hmem/hmem.o
  CC      fs/btrfs/zstd.o
  CC      drivers/acpi/dock.o
  CC      drivers/acpi/pci_root.o
  CC      drivers/mfd/tps65912-core.o
  LD [M]  sound/soc/sof/snd-sof.o
  CC      net/mptcp/sched.o
  CC      lib/interval_tree.o
  CC      drivers/dma-buf/heaps/system_heap.o
  CC      fs/direct-io.o
  CC      drivers/dma-buf/dma-buf.o
  CC      kernel/audit_tree.o
  CC      lib/assoc_array.o
  CC      drivers/base/cacheinfo.o
  CC      net/mptcp/mptcp_pm_gen.o
  CC [M]  net/sunrpc/socklib.o
  CC [M]  net/sunrpc/xprtsock.o
  CC      drivers/acpi/acpica/rslist.o
  CC      fs/eventpoll.o
  CC      drivers/base/swnode.o
  CC      kernel/kprobes.o
  CC      drivers/mfd/tps65912-i2c.o
  CC [M]  net/sunrpc/sched.o
  CC      fs/anon_inodes.o
  CC [M]  net/sunrpc/auth.o
  CC [M]  net/sunrpc/auth_null.o
  LD [M]  sound/soc/sof/snd-sof-utils.o
  LD [M]  sound/soc/sof/snd-sof-pci.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo.o
  LD [M]  sound/soc/sof/snd-sof-probes.o
  CC      lib/list_debug.o
  CC      arch/x86/kernel/kgdb.o
  AR      drivers/dax/hmem/built-in.a
  LD [M]  drivers/dax/hmem/dax_hmem.o
  CC      lib/debugobjects.o
  CC      kernel/hung_task.o
  CC      lib/bitrev.o
  CC      drivers/dma-buf/dma-fence.o
  AR      drivers/dax/built-in.a
  LD [M]  drivers/dax/device_dax.o
  CC      lib/linear_ranges.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      drivers/mfd/tps65912-spi.o
  CC      drivers/base/auxiliary.o
  CC      drivers/base/devtmpfs.o
  AR      drivers/cxl/core/built-in.a
  CC      fs/btrfs/compression.o
  CC [M]  drivers/cxl/core/port.o
  CC [M]  drivers/cxl/acpi.o
  AR      drivers/dma-buf/heaps/built-in.a
  CC      fs/signalfd.o
  AR      net/handshake/built-in.a
  CC [M]  drivers/cxl/core/pmem.o
  CC [M]  drivers/cxl/core/regs.o
  CC      drivers/base/node.o
  CC [M]  fs/smb/client/export.o
  CC      drivers/mfd/twl-core.o
  CC      drivers/base/memory.o
  CC [M]  fs/smb/client/unc.o
  CC      lib/packing.o
  CC      fs/timerfd.o
  CC      fs/eventfd.o
  CC      drivers/nvdimm/region.o
  CC      fs/userfaultfd.o
  CC      drivers/acpi/acpica/rsmisc.o
  CC [M]  net/bridge/br_stp_if.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      kernel/watchdog.o
  CC      net/mptcp/syncookies.o
  CC      drivers/acpi/pci_link.o
  CC [M]  net/sunrpc/auth_tls.o
  CC [M]  drivers/misc/mei/pci-me.o
  CC      drivers/base/module.o
  CC      arch/x86/kernel/early_printk.o
  CC      net/ipv6/netfilter.o
  CC      lib/crc-ccitt.o
  CC      drivers/acpi/pci_irq.o
  CC      drivers/base/hypervisor.o
  CC      net/mptcp/bpf.o
  CC      kernel/watchdog_perf.o
  CC      drivers/acpi/acpica/rsserial.o
  CC      net/ipv6/fib6_rules.o
  CC      arch/x86/kernel/hpet.o
  CC [M]  net/sunrpc/auth_unix.o
  CC      drivers/base/pinctrl.o
  CC [M]  drivers/cxl/core/memdev.o
  CC [M]  net/sunrpc/svc.o
  CC [M]  net/sunrpc/svcsock.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_util.o
  CC [M]  drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC [M]  net/sunrpc/svcauth.o
  CC      drivers/nvdimm/namespace_devs.o
  CC [M]  fs/smb/client/winucase.o
  CC [M]  fs/smb/client/smb2ops.o
  CC      arch/x86/kernel/amd_nb.o
  CC [M]  fs/smb/client/smb2maperror.o
  CC [M]  fs/smb/client/smb2transport.o
  CC      drivers/base/devcoredump.o
  CC [M]  drivers/cxl/port.o
  CC      kernel/seccomp.o
  CC      drivers/base/platform-msi.o
  CC      drivers/acpi/acpica/rsutils.o
  CC      drivers/acpi/acpi_lpss.o
  CC [M]  drivers/misc/mei/hw-me.o
  CC      kernel/relay.o
  CC      lib/crc16.o
  CC [M]  net/sunrpc/svcauth_unix.o
  CC [M]  fs/smb/client/smb2misc.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  CC [M]  net/bridge/br_stp_timer.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      fs/btrfs/delayed-ref.o
  CC [M]  net/sunrpc/addr.o
  CC      drivers/acpi/acpi_apd.o
  CC      drivers/mfd/twl4030-irq.o
  LD [M]  drivers/cxl/cxl_acpi.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/nvdimm/label.o
  CC [M]  drivers/misc/mei/gsc-me.o
  CC      lib/crc-t10dif.o
  HOSTCC  lib/gen_crc32table
  CC [M]  drivers/cxl/core/mbox.o
  CC      drivers/acpi/acpi_platform.o
  CC      fs/aio.o
  CC      drivers/mfd/twl6030-irq.o
  HOSTCC  lib/gen_crc64table
  CC [M]  net/sunrpc/rpcb_clnt.o
  CC [M]  drivers/gpu/drm/ttm/ttm_module.o
  CC      drivers/acpi/acpica/rsxface.o
  CC      fs/btrfs/relocation.o
  AR      net/mptcp/built-in.a
  CC [M]  net/bridge/br_netlink.o
  CC      net/ipv6/proc.o
  CC      net/ipv6/syncookies.o
  CC [M]  net/sunrpc/timer.o
  CC [M]  net/sunrpc/xdr.o
  CC      arch/x86/kernel/kvm.o
  CC [M]  drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/base/physical_location.o
  CC [M]  fs/smb/client/smb2pdu.o
  CC [M]  fs/smb/client/smb2inode.o
  CC      kernel/utsname_sysctl.o
  LD [M]  drivers/misc/mei/mei.o
  LD [M]  drivers/misc/mei/mei-gsc.o
  CC [M]  drivers/gpu/drm/ttm/ttm_range_manager.o
  CC      drivers/mfd/twl4030-audio.o
  CC [M]  drivers/gpu/drm/ttm/ttm_resource.o
  CC      net/ipv6/calipso.o
  LD [M]  drivers/cxl/cxl_port.o
  CC [M]  net/bridge/br_netlink_tunnel.o
  CC [M]  net/bridge/br_arp_nd_proxy.o
  CC [M]  drivers/gpu/drm/ttm/ttm_pool.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC      drivers/mfd/twl6040.o
  CC      drivers/acpi/acpica/tbdata.o
  CC      drivers/acpi/power.o
  CC      lib/libcrc32c.o
  CC      net/ipv6/seg6_iptunnel.o
  CC      lib/crc64-rocksoft.o
  CC      drivers/acpi/acpica/tbfadt.o
  CC      net/ipv6/seg6_local.o
  CC      kernel/delayacct.o
  CC [M]  drivers/cxl/core/pci.o
  CC [M]  drivers/cxl/core/hdm.o
  CC [M]  drivers/cxl/core/pmu.o
  CC      drivers/base/trace.o
  CC      drivers/acpi/event.o
  CC      drivers/acpi/evged.o
  CC [M]  drivers/gpu/drm/ttm/ttm_device.o
  CC      fs/btrfs/delayed-inode.o
  CC      drivers/nvdimm/badrange.o
  LD [M]  drivers/misc/mei/mei-me.o
  CC      fs/btrfs/scrub.o
  CC      drivers/acpi/sysfs.o
  CC      lib/xxhash.o
  CC      lib/genalloc.o
  CC      drivers/acpi/property.o
  CC      fs/btrfs/backref.o
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      drivers/dma-buf/dma-resv.o
  CC      net/ipv6/seg6_hmac.o
  CC      kernel/taskstats.o
  CC      drivers/acpi/acpica/tbfind.o
  CC      net/ipv6/ioam6_iptunnel.o
  CC      net/ipv6/addrconf_core.o
  CC      kernel/tsacct.o
  CC      lib/percpu_counter.o
  CC [M]  net/sunrpc/sunrpc_syms.o
  CC [M]  net/bridge/br_sysfs_if.o
  CC      arch/x86/kernel/kvmclock.o
  CC      fs/btrfs/ulist.o
  CC      lib/iommu-helper.o
  CC      drivers/acpi/acpi_cmos_rtc.o
  CC      lib/fault-inject.o
  AR      drivers/base/built-in.a
  CC [M]  drivers/gpu/drm/ttm/ttm_sys_manager.o
  CC      fs/dax.o
  CC [M]  drivers/cxl/core/cdat.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC      drivers/acpi/acpica/tbprint.o
  CC      net/ipv6/exthdrs_core.o
  CC      arch/x86/kernel/paravirt.o
  CC [M]  fs/smb/client/smb2file.o
  CC      drivers/mfd/mfd-core.o
  CC [M]  net/sunrpc/cache.o
  CC [M]  net/sunrpc/rpc_pipe.o
  CC      drivers/acpi/acpica/tbutils.o
  CC      net/ipv6/ip6_checksum.o
  CC [M]  drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC      drivers/nvdimm/claim.o
  CC      net/ipv6/ip6_icmp.o
  CC [M]  drivers/cxl/core/trace.o
  CC [M]  drivers/cxl/core/region.o
  CC [M]  net/sunrpc/sysfs.o
  CC      drivers/acpi/acpica/tbxface.o
  CC      arch/x86/kernel/paravirt-spinlocks.o
  CC      drivers/acpi/acpica/tbxfload.o
  CC      drivers/acpi/acpica/tbxfroot.o
  CC      arch/x86/kernel/pvclock.o
  CC      drivers/acpi/acpica/utaddress.o
  CC      fs/locks.o
  CC      kernel/tracepoint.o
  CC      drivers/acpi/x86/apple.o
  CC [M]  drivers/gpu/drm/radeon/radeon_drv.o
  CC [M]  net/sunrpc/svc_xprt.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      drivers/nvdimm/btt_devs.o
  CC      net/ipv6/output_core.o
  CC      lib/error-inject.o
  CC      lib/syscall.o
  CC [M]  fs/smb/client/cifsacl.o
  CC      drivers/dma-buf/dma-heap.o
  CC      drivers/nvdimm/pfn_devs.o
  CC      kernel/irq_work.o
  CC [M]  net/sunrpc/xprtmultipath.o
  CC      fs/binfmt_script.o
  CC [M]  net/sunrpc/debugfs.o
  CC [M]  net/bridge/br_sysfs_br.o
  CC [M]  net/sunrpc/stats.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_device.o
  CC      net/ipv6/protocol.o
  CC      net/ipv6/ip6_offload.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell_mgr.o
  CC [M]  net/sunrpc/sysctl.o
  CC      drivers/acpi/acpica/utalloc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.o
  LD [M]  drivers/gpu/drm/ttm/ttm.o
  CC      drivers/acpi/x86/utils.o
  CC [M]  fs/smb/client/fs_context.o
  CC      drivers/dma-buf/sync_file.o
  CC      kernel/static_call.o
  CC [M]  drivers/gpu/drm/radeon/radeon_device.o
  CC      kernel/static_call_inline.o
  CC      lib/dynamic_debug.o
  CC [M]  drivers/gpu/drm/radeon/radeon_asic.o
  CC      drivers/mfd/ezx-pcap.o
  CC [M]  net/bridge/br_nf_core.o
  CC      drivers/mfd/da903x.o
  CC      arch/x86/kernel/pmem.o
  CC [M]  fs/smb/client/dns_resolve.o
  CC      fs/btrfs/qgroup.o
  CC      drivers/mfd/da9052-irq.o
  CC      drivers/acpi/acpica/utascii.o
  CC      drivers/dma-buf/sw_sync.o
  CC      drivers/mfd/da9052-core.o
  CC      drivers/acpi/x86/s2idle.o
  CC      net/ipv6/tcpv6_offload.o
  CC      net/ipv6/exthdrs_offload.o
  AR      drivers/macintosh/built-in.a
  CC [M]  drivers/macintosh/mac_hid.o
  CC      net/ipv6/inet6_hashtables.o
  CC      drivers/acpi/debugfs.o
  CC      drivers/mfd/da9052-spi.o
  CC      drivers/acpi/acpica/utbuffer.o
  AR      drivers/scsi/device_handler/built-in.a
  CC      fs/binfmt_elf.o
  CC      drivers/dma-buf/sync_debug.o
  CC [M]  drivers/scsi/device_handler/scsi_dh_rdac.o
  CC      arch/x86/kernel/jailhouse.o
  CC      drivers/dma-buf/udmabuf.o
  AR      drivers/scsi/megaraid/built-in.a
  CC      drivers/scsi/scsi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_base.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_config.o
  ASN.1   fs/smb/client/cifs_spnego_negtokeninit.asn1.[ch]
  CC      net/ipv6/mcast_snoop.o
  CC      drivers/acpi/acpi_lpat.o
  CC [M]  fs/smb/client/namespace.o
  CC      arch/x86/kernel/eisa.o
  CC      drivers/nvdimm/dax_devs.o
  CC      kernel/numa.o
  CC [M]  drivers/scsi/device_handler/scsi_dh_emc.o
  CC [M]  drivers/scsi/device_handler/scsi_dh_alua.o
  CC [M]  drivers/dma-buf/selftest.o
  CC      drivers/acpi/acpica/utcksum.o
  CC      arch/x86/kernel/pcspeaker.o
  LD [M]  drivers/cxl/core/cxl_core.o
  CC      arch/x86/kernel/check.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_crtc.o
  CC [M]  net/bridge/br_multicast.o
  AR      drivers/cxl/built-in.a
  CC      kernel/user-return-notifier.o
  CC [M]  net/bridge/br_mdb.o
  CC      drivers/mfd/da9052-i2c.o
  CC      kernel/padata.o
  CC      kernel/jump_label.o
  CC      kernel/context_tracking.o
  CC      drivers/mfd/lp8788.o
  CC [M]  drivers/gpu/drm/radeon/radeon_kms.o
  CC      drivers/mfd/lp8788-irq.o
  CC      fs/compat_binfmt_elf.o
  CC      arch/x86/kernel/uprobes.o
  CC [M]  net/bridge/br_multicast_eht.o
  CC [M]  drivers/gpu/drm/radeon/radeon_atombios.o
  CC      drivers/mfd/da9055-core.o
  CC [M]  drivers/gpu/drm/radeon/radeon_agp.o
  CC      drivers/acpi/acpica/utcopy.o
  CC      drivers/acpi/acpi_fpdt.o
  CC      arch/x86/kernel/perf_regs.o
  CC      arch/x86/kernel/tracepoint.o
  CC      arch/x86/kernel/itmt.o
  CC      fs/btrfs/send.o
  CC      arch/x86/kernel/umip.o
  CC [M]  drivers/dma-buf/st-dma-fence.o
  CC [M]  drivers/dma-buf/st-dma-fence-chain.o
  CC      arch/x86/kernel/unwind_frame.o
  CC      arch/x86/kernel/sev.o
  CC [M]  drivers/dma-buf/st-dma-fence-unwrap.o
  CC [M]  fs/smb/client/reparse.o
  CC      drivers/scsi/hosts.o
  CC      fs/backing-file.o
  CC [M]  fs/smb/client/smb1ops.o
  CC      drivers/acpi/acpica/utexcep.o
  CC      fs/btrfs/dev-replace.o
  CC      fs/btrfs/raid56.o
  CC      drivers/nvdimm/security.o
  CC      drivers/acpi/acpica/utdebug.o
  CC [M]  fs/smb/client/cifssmb.o
  CC      drivers/mfd/da9055-i2c.o
  CC      arch/x86/kernel/callthunks.o
  LD [M]  net/sunrpc/sunrpc.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      arch/x86/kernel/audit_64.o
  CC      drivers/nvdimm/e820.o
  CC [M]  drivers/dma-buf/st-dma-resv.o
  CC      arch/x86/kernel/amd_gart_64.o
  CC      lib/errname.o
  CC      arch/x86/kernel/aperture_64.o
  CC      arch/x86/kernel/mmconf-fam10h_64.o
  CC [M]  drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.o
  CC [M]  fs/smb/client/cifs_spnego_negtokeninit.asn1.o
  CC      lib/nlattr.o
  CC [M]  fs/smb/client/asn1.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.o
  AR      drivers/dma-buf/built-in.a
  CC      lib/cpu_rmap.o
  CC      lib/dynamic_queue_limits.o
  CC      drivers/scsi/scsi_ioctl.o
  CC      drivers/mfd/da9063-core.o
  CC      lib/glob.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atom.o
  CC [M]  drivers/gpu/drm/radeon/atombios_crtc.o
  CC      lib/digsig.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fence.o
  CC      kernel/iomem.o
  CC      kernel/rseq.o
  CC      arch/x86/kernel/vsmp_64.o
  CC      drivers/acpi/acpica/utdelete.o
  CC      drivers/mfd/da9063-irq.o
  CC      drivers/mfd/da9063-i2c.o
  CC [M]  net/bridge/br_switchdev.o
  AR      net/ipv6/built-in.a
  CC      drivers/scsi/scsicam.o
  CC      drivers/scsi/scsi_error.o
  AR      net/built-in.a
  LD [M]  drivers/dma-buf/dmabuf_selftests.o
  CC      fs/btrfs/uuid-tree.o
  CC [M]  net/bridge/br_mrp_switchdev.o
  CC      fs/btrfs/props.o
  CC      drivers/ata/libata-core.o
  CC      drivers/ata/libata-scsi.o
  AR      drivers/nvme/common/built-in.a
  CC      drivers/ata/libata-eh.o
  CC      drivers/nvme/host/core.o
  CC      lib/strncpy_from_user.o
  CC      drivers/nvme/host/ioctl.o
  CC      drivers/nvme/host/sysfs.o
  CC      drivers/mfd/max14577.o
  CC      drivers/nvme/host/pr.o
  AR      drivers/nvdimm/built-in.a
  CC      drivers/nvme/host/trace.o
  CC      drivers/nvme/host/multipath.o
  CC      drivers/acpi/acpica/uterror.o
  CC [M]  arch/x86/kernel/msr.o
  CC      drivers/acpi/acpica/uteval.o
  CC      drivers/acpi/acpica/utglobal.o
  CC      lib/strnlen_user.o
  CC      drivers/acpi/acpica/uthex.o
  CC      drivers/acpi/acpica/utids.o
  CC      drivers/acpi/acpica/utinit.o
  CC      lib/net_utils.o
  CC      lib/sg_pool.o
  LD [M]  drivers/gpu/drm/amd/amdxcp/amdxcp.o
  CC      drivers/mfd/max77693.o
  CC      kernel/watch_queue.o
  CC      drivers/acpi/acpica/utlock.o
  CC [M]  arch/x86/kernel/cpuid.o
  CC      drivers/acpi/acpi_lpit.o
  AR      drivers/nvme/target/built-in.a
  CC [M]  drivers/gpu/drm/radeon/radeon_combios.o
  CC      drivers/acpi/prmt.o
  CC      drivers/acpi/acpica/utmath.o
  CC      drivers/acpi/acpi_pcc.o
  CC      drivers/mfd/max77843.o
  CC [M]  net/bridge/br_mrp.o
  CC [M]  net/bridge/br_mrp_netlink.o
  CC [M]  net/bridge/br_cfm.o
  CC [M]  drivers/gpu/drm/i915/i915_config.o
  CC      drivers/mfd/max8925-core.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_scsih.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_transport.o
  CC [M]  drivers/gpu/drm/radeon/atom.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_ctl.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_trigger_diag.o
  CC [M]  drivers/gpu/drm/vgem/vgem_drv.o
  CC      drivers/scsi/scsi_lib.o
  CC      lib/memregion.o
  CC      lib/irq_poll.o
  CC      drivers/nvme/host/zns.o
  CC      drivers/acpi/acpica/utmisc.o
  CC      drivers/acpi/acpica/utmutex.o
  CC      drivers/acpi/acpica/utnonansi.o
  CC      drivers/acpi/acpica/utobject.o
  CC      drivers/scsi/constants.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_warpdrive.o
  CC [M]  drivers/gpu/drm/radeon/radeon_fence.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.o
  CC [M]  drivers/gpu/drm/i915/i915_driver.o
  AR      arch/x86/kernel/built-in.a
  CC      drivers/spi/spi.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_live_test_mod.o
  AR      drivers/message/fusion/built-in.a
  AR      drivers/net/phy/qcom/built-in.a
  AR      drivers/firewire/built-in.a
  AR      drivers/message/built-in.a
  CC      drivers/nvme/host/hwmon.o
  CC [M]  drivers/net/phy/aquantia/aquantia_main.o
  CC      drivers/mfd/max8925-i2c.o
  AR      arch/x86/built-in.a
  CC [M]  drivers/net/phy/aquantia/aquantia_firmware.o
  CC      drivers/cdrom/cdrom.o
  CC      drivers/mfd/max8997.o
  CC      drivers/mfd/max8997-irq.o
  CC [M]  drivers/gpu/drm/radeon/radeon_ttm.o
  CC      drivers/acpi/acpica/utosi.o
  CC [M]  net/bridge/br_cfm_netlink.o
  CC [M]  drivers/gpu/drm/radeon/radeon_object.o
  CC [M]  drivers/gpu/drm/i915/i915_drm_client.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/object.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/client.o
  CC      drivers/ata/libata-transport.o
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC      lib/stackdepot.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC [M]  drivers/gpu/drm/vgem/vgem_fence.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/conn.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  CC      fs/btrfs/free-space-tree.o
  CC      drivers/scsi/scsi_scan.o
  CC [M]  drivers/gpu/drm/radeon/radeon_gart.o
  CC      drivers/nvme/host/pci.o
  CC      drivers/acpi/acpica/utownerid.o
  LD [M]  fs/smb/client/cifs.o
  CC [M]  drivers/scsi/mpt3sas/mpt3sas_debugfs.o
  CC [M]  drivers/gpu/drm/radeon/radeon_legacy_crtc.o
  CC [M]  net/bridge/br_netfilter_hooks.o
  CC      fs/mbcache.o
  GZIP    kernel/config_data.gz
  CC      kernel/configs.o
  CC      drivers/ata/libata-trace.o
  CC      lib/ref_tracker.o
  CC      lib/bootconfig.o
  CC [M]  drivers/net/phy/aquantia/aquantia_hwmon.o
  CC      drivers/acpi/acpi_ffh.o
  CC      drivers/net/phy/mdio-boardinfo.o
  CC      drivers/net/phy/stubs.o
  CC      drivers/ata/libata-sata.o
  CC      drivers/ata/libata-sff.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_mocs_test.o
  CC      drivers/acpi/acpica/utpredef.o
  CC      drivers/acpi/acpi_adxl.o
  CC      lib/asn1_decoder.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/device.o
  CC [M]  drivers/gpu/drm/radeon/radeon_legacy_encoders.o
  CC      drivers/acpi/acpica/utresdecode.o
  LD [M]  drivers/gpu/drm/vgem/vgem.o
  CC      lib/asn1_encoder.o
  GEN     lib/oid_registry_data.c
  AR      drivers/auxdisplay/built-in.a
  AR      kernel/built-in.a
  CC      drivers/acpi/ac.o
  CC      drivers/usb/common/common.o
  CC      drivers/acpi/acpica/utresrc.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/disp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_object.o
  CC [M]  drivers/gpu/drm/i915/i915_getparam.o
  CC      lib/ucs2_string.o
  CC [M]  drivers/gpu/drm/i915/i915_ioctl.o
  CC [M]  drivers/gpu/drm/ast/ast_ddc.o
  CC      drivers/mfd/max8998.o
  CC [M]  drivers/gpu/drm/i915/i915_irq.o
  CC      drivers/ata/libata-pmp.o
  CC      fs/posix_acl.o
  CC [M]  drivers/gpu/drm/radeon/radeon_connectors.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/driver.o
  CC      drivers/acpi/acpica/utstate.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/event.o
  CC [M]  drivers/gpu/drm/i915/i915_mitigations.o
  CC      fs/coredump.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/fifo.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_test_mod.o
  CC      drivers/net/phy/mii_timestamper.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  LD [M]  drivers/net/phy/aquantia/aquantia.o
  CC      lib/ubsan.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/head.o
  CC      drivers/mfd/max8998-irq.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mem.o
  CC      fs/drop_caches.o
  CC      drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC      drivers/acpi/acpica/utstring.o
  CC      drivers/acpi/acpica/utstrsuppt.o
  CC [M]  drivers/gpu/drm/i915/i915_module.o
  CC [M]  drivers/gpu/drm/i915/i915_params.o
  CC [M]  drivers/gpu/drm/i915/i915_pci.o
  CC      drivers/usb/common/debug.o
  CC      drivers/usb/core/usb.o
  CC      fs/btrfs/tree-checker.o
  CC      drivers/usb/core/hub.o
  CC      lib/sbitmap.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  CC      drivers/net/pse-pd/pse_core.o
  CC      fs/sysctls.o
  CC      drivers/usb/common/led.o
  CC [M]  drivers/net/phy/mdio_devres.o
  CC      drivers/acpi/acpica/utstrtoul64.o
  CC [M]  drivers/gpu/drm/ast/ast_dp501.o
  CC      fs/fhandle.o
  CC [M]  fs/binfmt_misc.o
  CC      lib/group_cpus.o
  AR      drivers/cdrom/built-in.a
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC      drivers/scsi/scsi_devinfo.o
  CC      fs/btrfs/space-info.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gart.o
  CC      drivers/input/serio/serio.o
  CC      drivers/acpi/acpica/utxface.o
  CC      drivers/acpi/acpica/utxfinit.o
  CC [M]  drivers/gpu/drm/radeon/radeon_encoders.o
  CC [M]  drivers/gpu/drm/drm_aperture.o
  CC      drivers/input/keyboard/atkbd.o
  AR      drivers/input/mouse/built-in.a
  AR      drivers/input/joystick/built-in.a
  CC      lib/fw_table.o
  CC [M]  drivers/gpu/drm/ast/ast_dp.o
  AR      drivers/nvme/host/built-in.a
  AR      drivers/nvme/built-in.a
  CC [M]  lib/crc-itu-t.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/mmu.o
  CC      drivers/mfd/adp5520.o
  CC      drivers/acpi/button.o
  AR      drivers/input/tablet/built-in.a
  CC      drivers/ata/libata-acpi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_encoders.o
  CC      drivers/ata/libata-zpodd.o
  CC [M]  net/bridge/br_netfilter_ipv6.o
  CC [M]  drivers/gpu/drm/ast/ast_drv.o
  CC [M]  drivers/gpu/drm/i915/i915_scatterlist.o
  CC      drivers/ata/libata-pata-timings.o
  CC      drivers/ata/ahci.o
  CC [M]  drivers/gpu/drm/ast/ast_main.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  LD [M]  net/bridge/bridge.o
  AR      drivers/net/mdio/built-in.a
  CC [M]  drivers/gpu/drm/i915/i915_suspend.o
  CC [M]  lib/bch.o
  CC [M]  drivers/net/mdio/acpi_mdio.o
  CC [M]  drivers/gpu/drm/radeon/radeon_display.o
  CC [M]  drivers/net/phy/phylink.o
  AR      drivers/net/pcs/built-in.a
  CC      drivers/ata/libahci.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_display.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  CC      drivers/acpi/acpica/utxferror.o
  CC      drivers/mfd/tps6586x.o
  CC [M]  drivers/gpu/drm/drm_atomic.o
  AR      drivers/usb/common/built-in.a
  LD [M]  drivers/gpu/drm/xe/tests/xe_live_test.o
  CC      drivers/scsi/scsi_sysctl.o
  CC      drivers/scsi/scsi_proc.o
  CC      drivers/spi/spi-mem.o
  GEN     lib/test_fortify.log
  GEN     lib/crc32table.h
  CC      drivers/usb/core/hcd.o
  CC      drivers/input/serio/i8042.o
  CC      drivers/mfd/tps65090.o
  CC      drivers/mfd/aat2870-core.o
  CC      fs/btrfs/block-rsv.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/outp.o
  AR      drivers/net/fddi/built-in.a
  AR      drivers/net/ethernet/3com/built-in.a
  CC      drivers/ata/ahci_platform.o
  AR      drivers/net/ethernet/8390/built-in.a
  AR      drivers/input/keyboard/built-in.a
  CC      drivers/usb/core/urb.o
  GEN     lib/crc64table.h
  CC      drivers/mfd/intel-lpss.o
  CC [M]  drivers/gpu/drm/i915/i915_switcheroo.o
  CC [M]  drivers/gpu/drm/nouveau/nvif/timer.o
  AR      drivers/net/ethernet/adaptec/built-in.a
  CC      drivers/input/touchscreen/elants_i2c.o
  CC      drivers/ata/libahci_platform.o
  CC [M]  drivers/spi/spi-intel.o
  AR      drivers/net/ethernet/adi/built-in.a
  LD [M]  drivers/scsi/mpt3sas/mpt3sas.o
  AR      drivers/net/pse-pd/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/vmm.o
  AR      drivers/net/ethernet/agere/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/user.o
  CC      drivers/usb/core/message.o
  CC      drivers/ata/ata_piix.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvif/userc361.o
  AR      drivers/net/hamradio/built-in.a
  AR      drivers/net/ethernet/alteon/built-in.a
  AR      drivers/net/ethernet/amazon/built-in.a
  CC [M]  drivers/gpu/drm/ast/ast_mm.o
  CC      drivers/ata/pata_sis.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC      drivers/ata/ata_generic.o
  AR      drivers/net/ethernet/amd/built-in.a
  AR      drivers/net/ethernet/aquantia/built-in.a
  CC [M]  drivers/ata/acard-ahci.o
  CC      drivers/acpi/fan_core.o
  AR      drivers/net/ethernet/arc/built-in.a
  CC [M]  drivers/gpu/drm/radeon/radeon_cursor.o
  AR      drivers/net/ethernet/asix/built-in.a
  CC      drivers/acpi/acpica/utxfmutex.o
  LD [M]  drivers/gpu/drm/xe/tests/xe_test.o
  AR      drivers/net/ethernet/atheros/built-in.a
  CC      drivers/acpi/acpica/dbcmds.o
  AR      drivers/net/ethernet/cadence/built-in.a
  CC      drivers/acpi/acpica/dbconvert.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC [M]  drivers/net/ethernet/broadcom/tg3.o
  LD [M]  net/bridge/br_netfilter.o
  CC [M]  drivers/ata/ahci_dwc.o
  CC      drivers/scsi/scsi_debugfs.o
  CC      drivers/scsi/scsi_trace.o
  CC [M]  drivers/gpu/drm/radeon/radeon_i2c.o
  CC [M]  drivers/gpu/drm/i915/i915_sysfs.o
  CC [M]  drivers/gpu/drm/i915/i915_utils.o
  CC      drivers/mfd/intel-lpss-pci.o
  CC      fs/btrfs/delalloc-space.o
  CC      drivers/acpi/acpica/dbdisply.o
  CC [M]  drivers/gpu/drm/ast/ast_mode.o
  CC      drivers/usb/core/driver.o
  CC      drivers/usb/core/config.o
  CC [M]  drivers/net/mdio/fwnode_mdio.o
  CC      drivers/acpi/acpica/dbexec.o
  CC      lib/oid_registry.o
  CC [M]  drivers/net/phy/phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/client.o
  CC [M]  drivers/gpu/drm/ast/ast_post.o
  CC      drivers/scsi/scsi_logging.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/engine.o
  CC [M]  drivers/spi/spi-intel-pci.o
  CC      drivers/scsi/scsi_pm.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.o
  AR      drivers/usb/phy/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_clock_gating.o
  CC [M]  drivers/gpu/drm/radeon/radeon_clocks.o
  CC [M]  drivers/gpu/drm/i915/intel_device_info.o
  CC      drivers/mfd/intel-lpss-acpi.o
  CC [M]  drivers/gpu/drm/i915/intel_memory_region.o
  CC [M]  drivers/net/phy/phy-c45.o
  AR      drivers/net/ethernet/brocade/built-in.a
  AR      drivers/input/touchscreen/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.o
  CC [M]  drivers/gpu/drm/i915/intel_pcode.o
  CC      drivers/acpi/fan_attr.o
  CC      fs/btrfs/block-group.o
  CC      drivers/input/misc/uinput.o
  CC      drivers/usb/dwc2/core.o
  CC      drivers/usb/core/file.o
  CC      drivers/usb/host/pci-quirks.o
  CC      fs/btrfs/discard.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/enum.o
  CC      drivers/input/input.o
  CC      drivers/scsi/scsi_dh.o
  CC      drivers/input/input-compat.o
  CC      drivers/acpi/acpica/dbhistry.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      lib/string.o
  CC [M]  drivers/gpu/drm/i915/intel_region_ttm.o
  CC [M]  drivers/spi/spi-pxa2xx.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/event.o
  CC      drivers/mfd/palmas.o
  CC      drivers/input/serio/libps2.o
  CC [M]  drivers/gpu/drm/drm_atomic_uapi.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC      drivers/acpi/acpica/dbinput.o
  CC      drivers/usb/core/buffer.o
  AR      drivers/ata/built-in.a
  CC      drivers/scsi/scsi_bsg.o
  CC      drivers/scsi/scsi_common.o
  CC      drivers/acpi/acpica/dbmethod.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring.o
  CC      fs/btrfs/reflink.o
  CC [M]  drivers/gpu/drm/i915/intel_runtime_pm.o
  CC      lib/crc32.o
  CC [M]  drivers/gpu/drm/i915/intel_sbi.o
  CC      drivers/input/input-mt.o
  CC      fs/btrfs/subpage.o
  CC      drivers/usb/core/sysfs.o
  CC [M]  drivers/gpu/drm/radeon/radeon_gem.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/net/phy/phy-core.o
  AR      drivers/input/misc/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.o
  LD [M]  drivers/gpu/drm/ast/ast.o
  CC [M]  drivers/gpu/drm/drm_auth.o
  CC      drivers/net/ppp/ppp_generic.o
  CC      drivers/scsi/virtio_scsi.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      drivers/scsi/sd.o
  CC      drivers/usb/host/ehci-hcd.o
  CC [M]  drivers/gpu/drm/i915/intel_step.o
  CC      drivers/acpi/acpica/dbnames.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bios.o
  CC      drivers/acpi/acpica/dbobject.o
  CC      drivers/net/slip/slhc.o
  CC      drivers/usb/dwc2/core_intr.o
  CC      drivers/usb/core/endpoint.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  AR      drivers/net/wan/framer/built-in.a
  AR      drivers/net/wan/built-in.a
  CC [M]  drivers/gpu/drm/i915/intel_uncore.o
  CC      lib/crc64.o
  CC      fs/btrfs/tree-mod-log.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/firmware.o
  CC [M]  drivers/gpu/drm/i915/intel_wakeref.o
  CC      drivers/scsi/sd_dif.o
  CC      drivers/mfd/rc5t583.o
  CC [M]  drivers/net/phy/phy_device.o
  CC      drivers/mfd/rc5t583-irq.o
  CC      fs/btrfs/extent-io-tree.o
  CC      drivers/usb/dwc2/platform.o
  CC [M]  drivers/spi/spi-pxa2xx-dma.o
  CC [M]  drivers/gpu/drm/drm_blend.o
  CC      drivers/usb/core/devio.o
  CC [M]  drivers/gpu/drm/drm_bridge.o
  CC      drivers/acpi/acpica/dbstats.o
  AR      drivers/input/serio/built-in.a
  CC [M]  drivers/net/phy/linkmode.o
  CC      drivers/usb/core/notify.o
  CC [M]  drivers/net/phy/mdio_bus.o
  CC [M]  drivers/gpu/drm/i915/vlv_sideband.o
  CC      drivers/input/input-poller.o
  CC [M]  drivers/gpu/drm/drm_cache.o
  CC [M]  drivers/gpu/drm/i915/vlv_suspend.o
  CC [M]  drivers/net/phy/mdio_device.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_dram.o
  CC [M]  drivers/spi/spi-pxa2xx-pci.o
  CC [M]  drivers/gpu/drm/radeon/radeon_ring.o
  AR      lib/lib.a
  CC [M]  drivers/gpu/drm/drm_client.o
  CC      drivers/mfd/syscon.o
  CC      drivers/mfd/as3711.o
  AR      drivers/net/wireless/admtek/built-in.a
  AR      drivers/net/wireless/ath/built-in.a
  AR      drivers/net/wireless/atmel/built-in.a
  CC      drivers/scsi/sd_zbc.o
  CC      drivers/scsi/sr.o
  CC [M]  drivers/gpu/drm/drm_client_modeset.o
  AR      drivers/net/wireless/broadcom/built-in.a
  AR      lib/built-in.a
  AR      drivers/net/wireless/intel/built-in.a
  AR      drivers/net/wireless/intersil/built-in.a
  CC      drivers/input/ff-core.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC      drivers/mfd/intel_soc_pmic_crc.o
  CC      drivers/acpi/acpica/dbutils.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC [M]  drivers/gpu/drm/drm_color_mgmt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.o
  AR      drivers/net/wireless/marvell/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/gpuobj.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  AR      drivers/net/wireless/mediatek/built-in.a
  AR      drivers/net/wireless/microchip/built-in.a
  AR      drivers/net/wireless/purelifi/built-in.a
  AR      drivers/net/wireless/quantenna/built-in.a
  CC      drivers/usb/dwc2/drd.o
  AR      drivers/net/wireless/ralink/built-in.a
  CC      drivers/acpi/acpica/dbxface.o
  AR      drivers/net/wireless/realtek/built-in.a
  CC      drivers/acpi/acpica/rsdump.o
  AR      drivers/net/wireless/rsi/built-in.a
  CC [M]  drivers/gpu/drm/drm_connector.o
  AR      drivers/net/wireless/silabs/built-in.a
  CC [M]  drivers/gpu/drm/drm_crtc.o
  AR      drivers/net/wireless/st/built-in.a
  AR      drivers/net/wireless/ti/built-in.a
  AR      drivers/net/wireless/zydas/built-in.a
  AR      drivers/net/wireless/virtual/built-in.a
  AR      drivers/net/wireless/built-in.a
  CC      drivers/input/touchscreen.o
  CC      fs/btrfs/fs.o
  CC      drivers/input/vivaldi-fmap.o
  CC [M]  drivers/gpu/drm/drm_displayid.o
  CC      drivers/mfd/intel_soc_pmic_chtwc.o
  CC      drivers/input/mousedev.o
  LD [M]  drivers/spi/spi-pxa2xx-platform.o
  AR      drivers/spi/built-in.a
  CC      drivers/usb/core/generic.o
  CC [M]  drivers/net/phy/swphy.o
  CC      drivers/input/evdev.o
  CC      drivers/rtc/lib.o
  AR      drivers/net/mctp/built-in.a
  CC [M]  drivers/input/sparse-keymap.o
  CC [M]  drivers/input/input-leds.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_gmch.o
  CC [M]  drivers/gpu/drm/i915/soc/intel_pch.o
  CC [M]  drivers/gpu/drm/radeon/radeon_irq_kms.o
  CC      drivers/rtc/class.o
  CC      drivers/usb/core/quirks.o
  CC [M]  drivers/mfd/lpc_ich.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/intr.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC      drivers/usb/storage/scsiglue.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ioctl.o
  AR      drivers/net/slip/built-in.a
  CC [M]  drivers/gpu/drm/drm_drv.o
  CC [M]  drivers/gpu/drm/drm_dumb_buffers.o
  CC      drivers/scsi/sr_ioctl.o
  CC [M]  drivers/net/phy/phy_led_triggers.o
  CC [M]  drivers/net/phy/ax88796b.o
  AR      drivers/acpi/acpica/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_dp.o
  CC      drivers/usb/dwc2/params.o
  CC      drivers/usb/dwc2/hcd.o
  CC      drivers/acpi/pci_slot.o
  CC      fs/btrfs/messages.o
  CC [M]  drivers/gpu/drm/i915/i915_memcpy.o
  CC      drivers/usb/dwc2/hcd_intr.o
  CC [M]  drivers/gpu/drm/drm_edid.o
  CC      drivers/usb/dwc2/hcd_queue.o
  CC      fs/btrfs/bio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/memory.o
  CC [M]  drivers/gpu/drm/drm_eld.o
  AR      drivers/mfd/built-in.a
  CC      drivers/usb/core/devices.o
  CC      drivers/usb/core/phy.o
  CC      drivers/usb/core/port.o
  CC [M]  drivers/gpu/drm/i915/i915_mm.o
  CC      drivers/usb/core/hcd-pci.o
  CC      fs/btrfs/lru_cache.o
  CC [M]  drivers/gpu/drm/drm_encoder.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  CC [M]  drivers/net/phy/bcm7xxx.o
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  CC [M]  drivers/net/phy/bcm84881.o
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  CC      drivers/usb/core/usb-acpi.o
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/chelsio/built-in.a
  AR      drivers/net/ppp/built-in.a
  CC [M]  drivers/gpu/drm/drm_file.o
  CC [M]  drivers/net/phy/bcm87xx.o
  CC [M]  drivers/net/phy/bcm-phy-lib.o
  AR      drivers/net/ethernet/cavium/built-in.a
  CC [M]  drivers/net/usb/pegasus.o
  CC [M]  drivers/gpu/drm/drm_fourcc.o
  CC      drivers/usb/dwc2/hcd_ddma.o
  CC      drivers/scsi/sr_vendor.o
  CC [M]  drivers/net/usb/rtl8150.o
  CC      fs/btrfs/raid-stripe-tree.o
  CC [M]  drivers/input/joydev.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_afmt.o
  CC      fs/btrfs/acl.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence.o
  CC      drivers/acpi/processor_driver.o
  CC      drivers/usb/storage/protocol.o
  CC [M]  drivers/gpu/drm/i915/i915_sw_fence_work.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/gpu/drm/radeon/radeon_cs.o
  CC [M]  drivers/gpu/drm/radeon/radeon_bios.o
  CC      drivers/scsi/sg.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/mm.o
  CC      drivers/rtc/interface.o
  CC [M]  drivers/net/phy/bcm-phy-ptp.o
  CC      fs/btrfs/zoned.o
  CC [M]  drivers/gpu/drm/drm_framebuffer.o
  CC [M]  drivers/gpu/drm/drm_gem.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_trace_points.o
  CC [M]  drivers/gpu/drm/drm_ioctl.o
  CC      drivers/usb/storage/transport.o
  CC [M]  drivers/gpu/drm/i915/i915_syncmap.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_encoders.o
  CC      drivers/usb/serial/usb-serial.o
  AR      drivers/usb/misc/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sa.o
  CC      drivers/usb/dwc2/debugfs.o
  CC      drivers/usb/host/ehci-pci.o
  CC      fs/btrfs/verity.o
  CC      drivers/usb/storage/usb.o
  CC [M]  drivers/gpu/drm/drm_lease.o
  CC      drivers/acpi/processor_thermal.o
  CC [M]  drivers/gpu/drm/i915/i915_user_extensions.o
  CC      drivers/usb/host/ehci-platform.o
  CC [M]  drivers/net/phy/broadcom.o
  CC      drivers/usb/storage/initializers.o
  CC [M]  drivers/gpu/drm/i915/i915_ioc32.o
  CC      drivers/usb/storage/sierra_ms.o
  CC      drivers/rtc/nvmem.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC      drivers/acpi/processor_idle.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  AR      drivers/net/ethernet/cirrus/built-in.a
  AR      drivers/net/ethernet/cortina/built-in.a
  AR      drivers/net/ethernet/cisco/built-in.a
  CC [M]  drivers/net/phy/fixed_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/atombios_i2c.o
  AR      drivers/input/built-in.a
  CC [M]  drivers/gpu/drm/drm_managed.o
  CC      drivers/rtc/dev.o
  AR      drivers/net/ethernet/dec/tulip/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/object.o
  AR      drivers/net/ethernet/dec/built-in.a
  CC [M]  drivers/gpu/drm/drm_mm.o
  CC [M]  drivers/gpu/drm/drm_mode_config.o
  AR      drivers/usb/core/built-in.a
  CC      drivers/usb/host/ohci-hcd.o
  CC [M]  drivers/gpu/drm/radeon/radeon_benchmark.o
  CC [M]  drivers/net/usb/r8152.o
  CC [M]  drivers/gpu/drm/i915/i915_debugfs.o
  CC [M]  drivers/gpu/drm/i915/i915_debugfs_params.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/oproxy.o
  CC      drivers/usb/storage/option_ms.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  CC [M]  drivers/gpu/drm/i915/i915_pmu.o
  CC      drivers/acpi/processor_throttling.o
  CC      drivers/usb/early/ehci-dbgp.o
  AR      drivers/i2c/algos/built-in.a
  CC [M]  drivers/i2c/algos/i2c-algo-bit.o
  CC      drivers/net/loopback.o
  CC [M]  drivers/scsi/raid_class.o
  CC      drivers/rtc/proc.o
  CC      drivers/i2c/busses/i2c-designware-common.o
  AR      drivers/i2c/muxes/built-in.a
  CC [M]  drivers/gpu/drm/drm_mode_object.o
  HOSTCC  drivers/gpu/drm/radeon/mkregtable
  CC      drivers/usb/early/xhci-dbc.o
  CC      drivers/acpi/processor_perflib.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.o
  CC      drivers/usb/serial/generic.o
  CC      drivers/i2c/i2c-core-base.o
  AR      drivers/i3c/built-in.a
  CC [M]  drivers/gpu/drm/radeon/rs400.o
  CC      drivers/i2c/i2c-core-smbus.o
  AR      drivers/pps/clients/built-in.a
  AR      drivers/media/i2c/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC [M]  drivers/media/i2c/ov13858.o
  AR      drivers/pps/generators/built-in.a
  CC      drivers/pps/pps.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      drivers/pps/kapi.o
  MKREG   drivers/gpu/drm/radeon/rs600_reg_safe.h
  AR      drivers/usb/dwc2/built-in.a
  CC      drivers/i2c/busses/i2c-designware-master.o
  AR      drivers/media/tuners/built-in.a
  CC [M]  drivers/media/tuners/mc44s803.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/option.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  CC [M]  drivers/media/tuners/mt20xx.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  CC [M]  drivers/media/tuners/tuner-simple.o
  CC      drivers/i2c/busses/i2c-designware-platdrv.o
  AR      drivers/media/rc/keymaps/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC      drivers/acpi/container.o
  CC [M]  drivers/media/rc/rc-main.o
  CC [M]  drivers/net/usb/asix_devices.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC      drivers/i2c/busses/i2c-designware-baytrail.o
  CC [M]  drivers/i2c/busses/i2c-i801.o
  CC      drivers/rtc/sysfs.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC      drivers/usb/storage/usual-tables.o
  AR      drivers/media/common/b2c2/built-in.a
  AR      drivers/media/common/saa7146/built-in.a
  CC      drivers/acpi/thermal_lib.o
  CC [M]  drivers/scsi/scsi_transport_sas.o
  CC      drivers/ptp/ptp_clock.o
  AR      drivers/media/common/siano/built-in.a
  AR      drivers/media/common/v4l2-tpg/built-in.a
  AR      fs/btrfs/built-in.a
  AR      drivers/media/common/videobuf2/built-in.a
  CC      drivers/i2c/i2c-core-acpi.o
  AR      fs/built-in.a
  AR      drivers/media/common/built-in.a
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderclear.o
  AR      drivers/media/platform/amlogic/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC [M]  drivers/net/phy/lxt.o
  AR      drivers/net/ethernet/dlink/built-in.a
  AR      drivers/media/platform/amphion/built-in.a
  AR      drivers/net/ethernet/emulex/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  AR      drivers/usb/early/built-in.a
  AR      drivers/media/platform/aspeed/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  AR      drivers/net/ethernet/engleder/built-in.a
  AR      drivers/media/platform/atmel/built-in.a
  AR      drivers/net/ethernet/ezchip/built-in.a
  AR      drivers/media/platform/cadence/built-in.a
  CC [M]  drivers/gpu/drm/radeon/rs690.o
  AR      drivers/media/platform/chips-media/coda/built-in.a
  AR      drivers/net/ethernet/fungible/built-in.a
  CC      drivers/usb/gadget/udc/core.o
  CC      drivers/acpi/thermal.o
  CC [M]  drivers/media/i2c/ov13b10.o
  AR      drivers/media/platform/chips-media/wave5/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.o
  AR      drivers/media/platform/chips-media/built-in.a
  CC      drivers/usb/gadget/udc/trace.o
  CC      drivers/i2c/i2c-dev.o
  AR      drivers/net/ethernet/google/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/ramht.o
  AR      drivers/usb/storage/built-in.a
  AR      drivers/net/ethernet/huawei/built-in.a
  AR      drivers/media/platform/intel/built-in.a
  CC [M]  drivers/scsi/ses.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.o
  CC [M]  drivers/i2c/i2c-smbus.o
  CC      drivers/pps/sysfs.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_main.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000e/82571.o
  CC      drivers/power/reset/restart-poweroff.o
  CC [M]  drivers/i2c/i2c-mux.o
  AR      drivers/media/platform/marvell/built-in.a
  CC      drivers/acpi/acpi_memhotplug.o
  CC      drivers/power/supply/power_supply_core.o
  CC      drivers/acpi/ioapic.o
  AR      drivers/usb/gadget/function/built-in.a
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  MKREG   drivers/gpu/drm/radeon/rv515_reg_safe.h
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  CC      drivers/usb/serial/bus.o
  CC [M]  drivers/gpu/drm/drm_modes.o
  CC      drivers/usb/serial/console.o
  AR      drivers/media/platform/mediatek/vcodec/common/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/encoder/built-in.a
  AR      drivers/media/platform/mediatek/vcodec/decoder/built-in.a
  CC      drivers/rtc/rtc-mc146818-lib.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_context.o
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/igb_main.o
  CC [M]  drivers/media/tuners/tuner-types.o
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  CC      drivers/ptp/ptp_chardev.o
  CC [M]  drivers/gpu/drm/drm_modeset_lock.o
  AR      drivers/media/platform/mediatek/built-in.a
  AR      drivers/usb/gadget/legacy/built-in.a
  CC [M]  drivers/net/usb/asix_common.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  AR      drivers/media/platform/microchip/built-in.a
  CC      drivers/usb/host/ohci-pci.o
  AR      drivers/power/reset/built-in.a
  AR      drivers/media/platform/nuvoton/built-in.a
  AR      drivers/pps/built-in.a
  CC [M]  drivers/net/phy/realtek.o
  CC      drivers/usb/gadget/usbstring.o
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  CC      drivers/usb/gadget/config.o
  AR      drivers/media/platform/nvidia/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC      drivers/hwmon/hwmon.o
  AR      drivers/i2c/busses/built-in.a
  AR      drivers/media/platform/nxp/dw100/built-in.a
  CC      drivers/acpi/battery.o
  CC [M]  drivers/media/rc/rc-ir-raw.o
  AR      drivers/media/platform/qcom/camss/built-in.a
  CC [M]  drivers/media/rc/lirc_dev.o
  CC      drivers/rtc/rtc-cmos.o
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  CC      drivers/acpi/hed.o
  AR      drivers/media/platform/qcom/venus/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/subdev.o
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/media/platform/nxp/imx8-isi/built-in.a
  AR      drivers/media/platform/qcom/built-in.a
  AR      drivers/media/platform/nxp/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ib.o
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  CC [M]  drivers/hwmon/acpi_power_meter.o
  CC [M]  drivers/gpu/drm/radeon/r520.o
  AR      drivers/media/platform/renesas/built-in.a
  CC      drivers/usb/serial/ftdi_sio.o
  CC      drivers/usb/serial/pl2303.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_main.o
  CC [M]  drivers/gpu/drm/radeon/r600.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_ethtool.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_82575.o
  AR      drivers/media/platform/rockchip/rga/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mac.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ich8lan.o
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  AR      drivers/media/platform/rockchip/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_context_sseu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pll.o
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000e/80003es2lan.o
  AR      drivers/media/platform/st/sti/delta/built-in.a
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  CC      drivers/usb/host/ohci-platform.o
  AR      drivers/media/platform/st/sti/hva/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_cs.o
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.o
  AR      drivers/media/platform/st/stm32/built-in.a
  AR      drivers/media/platform/samsung/built-in.a
  AR      drivers/media/platform/st/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  CC      drivers/scsi/scsi_sysfs.o
  AR      drivers/thermal/broadcom/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/core/uevent.o
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/fw.o
  CC      drivers/ptp/ptp_sysfs.o
  AR      drivers/thermal/samsung/built-in.a
  CC      drivers/net/netconsole.o
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  CC [M]  drivers/thermal/intel/int340x_thermal/int3400_thermal.o
  AR      drivers/i2c/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_freq.o
  CC [M]  drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.o
  AR      drivers/media/platform/ti/am437x/built-in.a
  AR      drivers/media/platform/ti/cal/built-in.a
  AR      drivers/media/platform/ti/vpe/built-in.a
  CC      drivers/power/supply/power_supply_leds.o
  AR      drivers/media/platform/ti/davinci/built-in.a
  CC [M]  drivers/net/phy/smsc.o
  AR      drivers/media/platform/ti/j721e-csi2rx/built-in.a
  CC      drivers/usb/gadget/epautoconf.o
  CC      drivers/power/supply/power_supply_hwmon.o
  CC [M]  drivers/gpu/drm/radeon/rv770.o
  AR      drivers/media/platform/ti/omap/built-in.a
  AR      drivers/rtc/built-in.a
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  CC [M]  drivers/media/tuners/tda18271-maps.o
  AR      drivers/media/platform/ti/built-in.a
  CC      drivers/power/supply/samsung-sdi-battery.o
  CC      drivers/power/supply/charger-manager.o
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/usb/gadget/udc/built-in.a
  CC [M]  drivers/net/ethernet/intel/igbvf/vf.o
  AR      drivers/media/platform/via/built-in.a
  CC [M]  drivers/net/ethernet/intel/igbvf/mbx.o
  AR      drivers/thermal/st/built-in.a
  AR      drivers/media/platform/xilinx/built-in.a
  AR      drivers/media/platform/built-in.a
  CC [M]  drivers/net/ethernet/intel/igbvf/ethtool.o
  CC      drivers/usb/gadget/composite.o
  CC [M]  drivers/gpu/drm/radeon/radeon_test.o
  CC      drivers/thermal/intel/intel_tcc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.o
  AR      drivers/media/rc/built-in.a
  MKREG   drivers/gpu/drm/radeon/r200_reg_safe.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.o
  AR      drivers/usb/serial/built-in.a
  LD [M]  drivers/media/rc/rc-core.o
  CC [M]  drivers/gpu/drm/drm_plane.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.o
  CC [M]  drivers/net/ethernet/intel/igbvf/netdev.o
  CC [M]  drivers/net/ethernet/intel/e1000e/mac.o
  CC      drivers/usb/host/uhci-hcd.o
  CC      drivers/usb/host/xhci.o
  CC [M]  drivers/net/ethernet/intel/e1000e/manage.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/hs.o
  CC [M]  drivers/net/ethernet/intel/e1000e/nvm.o
  CC      drivers/watchdog/watchdog_core.o
  CC      drivers/ptp/ptp_vclock.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC [M]  drivers/net/ethernet/intel/e1000e/phy.o
  CC      drivers/net/tun.o
  CC      drivers/acpi/bgrt.o
  CC [M]  drivers/hwmon/coretemp.o
  CC      drivers/usb/gadget/functions.o
  AR      drivers/media/pci/ttpci/built-in.a
  CC [M]  drivers/net/ethernet/intel/igb/e1000_nvm.o
  AR      drivers/media/pci/b2c2/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  AR      drivers/media/usb/b2c2/built-in.a
  AR      drivers/media/pci/dm1105/built-in.a
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/media/usb/dvb-usb/built-in.a
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  AR      drivers/media/usb/s2255/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  AR      drivers/media/pci/pt3/built-in.a
  CC      drivers/acpi/cppc_acpi.o
  AR      drivers/media/usb/siano/built-in.a
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC [M]  drivers/net/ethernet/intel/e1000e/param.o
  CC [M]  drivers/media/tuners/tda18271-common.o
  AR      drivers/media/usb/ttusb-budget/built-in.a
  AR      drivers/media/pci/mantis/built-in.a
  CC [M]  drivers/thermal/intel/int340x_thermal/int3402_thermal.o
  CC [M]  drivers/thermal/intel/int340x_thermal/int3403_thermal.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  AR      drivers/media/pci/ngene/built-in.a
  AR      drivers/media/pci/ddbridge/built-in.a
  AR      drivers/media/usb/ttusb-dec/built-in.a
  CC      drivers/net/virtio_net.o
  AR      drivers/media/pci/saa7146/built-in.a
  AR      drivers/media/usb/built-in.a
  AR      drivers/media/pci/smipcie/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC [M]  drivers/net/ethernet/intel/e1000/e1000_param.o
  AR      drivers/media/pci/netup_unidvb/built-in.a
  CC [M]  drivers/net/usb/ax88172a.o
  AR      drivers/media/pci/intel/ipu3/built-in.a
  CC [M]  drivers/net/usb/ax88179_178a.o
  AR      drivers/media/pci/intel/ivsc/built-in.a
  AR      drivers/power/supply/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.o
  AR      drivers/power/built-in.a
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/media/pci/built-in.a
  CC [M]  drivers/net/usb/cdc_ether.o
  CC      drivers/md/md.o
  CC [M]  drivers/net/usb/cdc_eem.o
  CC [M]  drivers/gpu/drm/radeon/radeon_legacy_tv.o
  CC [M]  drivers/net/usb/smsc75xx.o
  CC      drivers/acpi/spcr.o
  AR      drivers/accessibility/braille/built-in.a
  AR      drivers/accessibility/built-in.a
  CC [M]  drivers/net/usb/smsc95xx.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/ls.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_phy.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC [M]  drivers/gpu/drm/drm_prime.o
  AR      drivers/scsi/built-in.a
  CC      drivers/usb/gadget/configfs.o
  CC      drivers/thermal/intel/therm_throt.o
  AR      drivers/hwmon/built-in.a
  CC [M]  drivers/net/ethernet/intel/igc/igc_mac.o
  AR      drivers/isdn/hardware/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sync.o
  AR      drivers/isdn/built-in.a
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_device.o
  CC      drivers/edac/edac_mc.o
  CC      drivers/edac/edac_device.o
  CC      drivers/edac/edac_mc_sysfs.o
  AR      drivers/ptp/built-in.a
  CC      drivers/edac/edac_module.o
  CC      drivers/edac/edac_device_sysfs.o
  LD [M]  drivers/net/phy/libphy.o
  CC      drivers/usb/roles/class.o
  CC      drivers/edac/wq.o
  AR      drivers/net/phy/built-in.a
  AR      drivers/media/mmc/siano/built-in.a
  AR      drivers/media/mmc/built-in.a
  CC      drivers/usb/host/xhci-mem.o
  CC [M]  drivers/media/tuners/tda18271-fe.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_mbx.o
  CC      drivers/watchdog/watchdog_dev.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ethtool.o
  CC [M]  drivers/gpu/drm/drm_print.o
  CC [M]  drivers/net/usb/rndis_host.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/acr.o
  MKREG   drivers/gpu/drm/radeon/r600_reg_safe.h
  GEN     drivers/eisa/devlist.h
  CC      drivers/eisa/pci_eisa.o
  CC      drivers/thermal/intel/intel_hfi.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_pm.o
  CC [M]  drivers/net/ethernet/intel/igb/e1000_i210.o
  CC      drivers/md/md-bitmap.o
  CC      drivers/md/md-autodetect.o
  CC [M]  drivers/gpu/drm/radeon/radeon_pm.o
  CC      drivers/md/dm-init.o
  LD [M]  drivers/net/ethernet/intel/igbvf/igbvf.o
  CC      drivers/md/dm-uevent.o
  CC      drivers/eisa/virtual_root.o
  CC [M]  drivers/gpu/drm/drm_property.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC      drivers/edac/edac_pci.o
  CC      drivers/acpi/acpi_dbg.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_i225.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/nvfw/flcn.o
  CC      drivers/opp/core.o
  CC      drivers/opp/cpu.o
  CC [M]  drivers/gpu/drm/drm_syncobj.o
  CC      drivers/edac/edac_pci_sysfs.o
  AR      drivers/usb/roles/built-in.a
  CC      drivers/acpi/viot.o
  CC [M]  drivers/thermal/intel/int340x_thermal/int3401_thermal.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.o
  CC      drivers/net/xen-netfront.o
  CC      drivers/watchdog/watchdog_pretimeout.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_preempt_mgr.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_main.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_common.o
  CC      drivers/net/net_failover.o
  CC [M]  drivers/thermal/intel/intel_powerclamp.o
  CC      drivers/edac/ghes_edac.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.o
  LD [M]  drivers/net/ethernet/intel/e1000/e1000.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  CC      drivers/eisa/eisa-bus.o
  CC [M]  drivers/net/mii.o
  CC [M]  drivers/gpu/drm/drm_sysfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.o
  CC      drivers/md/dm-zone.o
  CC [M]  drivers/thermal/intel/intel_soc_dts_iosf.o
  CC [M]  drivers/media/tuners/tda827x.o
  CC [M]  drivers/thermal/intel/intel_pch_thermal.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_ptp.o
  CC [M]  drivers/media/tuners/tda8290.o
  CC      drivers/usb/gadget/u_f.o
  CC [M]  drivers/net/ethernet/intel/igb/igb_hwmon.o
  CC      drivers/watchdog/pretimeout_noop.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci_legacy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/base.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_base.o
  CC [M]  drivers/acpi/acpi_ipmi.o
  CC [M]  drivers/edac/igen6_edac.o
  CC [M]  drivers/net/usb/mcs7830.o
  CC [M]  drivers/net/ethernet/intel/e1000e/netdev.o
  CC      drivers/opp/debugfs.o
  CC [M]  drivers/gpu/drm/radeon/atombios_dp.o
  CC [M]  drivers/net/ethernet/intel/e1000e/ptp.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_nvm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC [M]  drivers/gpu/drm/radeon/r600_hdmi.o
  CC [M]  drivers/media/tuners/tda9887.o
  CC [M]  drivers/net/usb/usbnet.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/net/usb/cdc_ncm.o
  CC [M]  drivers/gpu/drm/drm_trace_points.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_device_pci.o
  CC      drivers/md/dm-ima.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/cmdq.o
  CC      drivers/watchdog/softdog.o
  CC [M]  drivers/edac/skx_common.o
  AR      drivers/eisa/built-in.a
  CC      drivers/md/dm-audit.o
  CC [M]  drivers/media/tuners/tea5761.o
  CC      drivers/md/dm.o
  CC      drivers/cpufreq/cpufreq.o
  CC [M]  drivers/gpu/drm/radeon/dce3_1_afmt.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vf_error.o
  CC [M]  drivers/net/mdio.o
  CC      drivers/cpufreq/freq_table.o
  CC      drivers/usb/host/xhci-ext-caps.o
  CC [M]  drivers/net/veth.o
  AR      drivers/usb/gadget/built-in.a
  CC [M]  drivers/acpi/acpi_video.o
  CC [M]  drivers/gpu/drm/drm_vblank.o
  CC [M]  drivers/media/tuners/tea5767.o
  CC [M]  drivers/usb/class/usbtmc.o
  AR      drivers/opp/built-in.a
  CC [M]  drivers/gpu/drm/drm_vblank_work.o
  CC [M]  drivers/net/usb/r8153_ecm.o
  CC [M]  drivers/gpu/drm/drm_vma_manager.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82599.o
  CC [M]  drivers/gpu/drm/drm_writeback.o
  AR      drivers/watchdog/built-in.a
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_rapl.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_phy.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.o
  CC [M]  drivers/usb/typec/ucsi/ucsi.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_mbox.o
  CC [M]  drivers/media/tuners/xc2028.o
  LD [M]  drivers/net/ethernet/intel/igb/igb.o
  CC      drivers/cpufreq/cpufreq_stats.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC [M]  drivers/gpu/drm/radeon/evergreen.o
  CC [M]  drivers/edac/i10nm_base.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_diag.o
  CC      drivers/md/dm-table.o
  AR      drivers/net/ethernet/microsoft/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/fw.o
  CC      drivers/md/dm-target.o
  CC      drivers/md/dm-linear.o
  AR      drivers/media/firewire/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/msgq.o
  AR      drivers/media/spi/built-in.a
  CC      drivers/usb/host/xhci-ring.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/qmgr.o
  AR      drivers/edac/built-in.a
  MKREG   drivers/gpu/drm/radeon/evergreen_reg_safe.h
  CC      drivers/md/dm-stripe.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_sched.o
  CC      drivers/md/dm-ioctl.o
  CC      drivers/cpuidle/governors/ladder.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_wt_req.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_id_mgr.o
  CC      drivers/cpuidle/governors/menu.o
  CC      drivers/mmc/core/core.o
  CC [M]  drivers/gpu/drm/lib/drm_random.o
  CC      drivers/cpuidle/governors/teo.o
  CC [M]  drivers/gpu/drm/drm_ioc32.o
  CC      drivers/usb/host/xhci-hub.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_82598.o
  CC [M]  drivers/gpu/drm/drm_panel.o
  CC [M]  drivers/gpu/drm/drm_pci.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_wt_hint.o
  CC      drivers/cpuidle/governors/haltpoll.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/vf.o
  CC [M]  drivers/gpu/drm/drm_debugfs.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ethtool.o
  LD [M]  drivers/edac/i10nm_edac.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.o
  CC [M]  drivers/media/tuners/xc4000.o
  CC [M]  drivers/gpu/drm/drm_debugfs_crc.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/mbx.o
  AR      drivers/thermal/qcom/built-in.a
  CC [M]  drivers/usb/typec/class.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_ptp.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_dump.o
  CC [M]  drivers/usb/typec/mux.o
  CC [M]  drivers/thermal/intel/int340x_thermal/processor_thermal_power_floor.o
  AR      drivers/thermal/tegra/built-in.a
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_main.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/v1.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_ethtool.o
  AR      drivers/ufs/built-in.a
  CC      drivers/cpuidle/cpuidle.o
  CC [M]  drivers/usb/typec/ucsi/debugfs.o
  CC [M]  drivers/usb/typec/ucsi/trace.o
  CC [M]  drivers/usb/typec/ucsi/psy.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_tsn.o
  LD [M]  drivers/net/usb/asix.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/net/ethernet/intel/igc/igc_xdp.o
  CC [M]  drivers/acpi/video_detect.o
  CC      drivers/md/dm-io.o
  CC      drivers/usb/host/xhci-dbg.o
  CC      drivers/md/dm-kcopyd.o
  CC [M]  drivers/gpu/drm/drm_edid_load.o
  CC [M]  drivers/gpu/drm/../../accel/drm_accel.o
  CC      drivers/usb/host/xhci-trace.o
  CC      drivers/usb/host/xhci-dbgcap.o
  CC      drivers/cpufreq/cpufreq_powersave.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_phy.o
  AR      drivers/cpuidle/governors/built-in.a
  CC      drivers/md/dm-sysfs.o
  CC [M]  drivers/media/tuners/xc5000.o
  CC [M]  drivers/usb/typec/ucsi/ucsi_acpi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gm200.o
  AR      drivers/media/test-drivers/built-in.a
  MKREG   drivers/gpu/drm/radeon/cayman_reg_safe.h
  CC [M]  drivers/gpu/drm/radeon/evergreen_hdmi.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ethtool.o
  CC [M]  drivers/media/mc/mc-device.o
  CC [M]  drivers/media/v4l2-core/v4l2-async.o
  CC      drivers/leds/trigger/ledtrig-disk.o
  CC [M]  drivers/media/v4l2-core/v4l2-fwnode.o
  AR      drivers/firmware/arm_ffa/built-in.a
  LD [M]  drivers/net/ethernet/intel/e1000e/e1000e.o
  CC [M]  drivers/media/v4l2-core/v4l2-dv-timings.o
  CC [M]  drivers/media/mc/mc-devnode.o
  AR      drivers/firmware/arm_scmi/built-in.a
  CC [M]  drivers/gpu/drm/radeon/radeon_trace_points.o
  CC [M]  drivers/usb/typec/bus.o
  AR      drivers/firmware/broadcom/built-in.a
  AR      drivers/firmware/cirrus/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.o
  AR      drivers/firmware/meson/built-in.a
  CC [M]  drivers/gpu/drm/radeon/ni.o
  AR      drivers/firmware/microchip/built-in.a
  CC [M]  drivers/media/dvb-core/dvbdev.o
  CC      drivers/mmc/core/bus.o
  CC      drivers/firmware/efi/efi-bgrt.o
  CC      drivers/firmware/efi/efi.o
  CC [M]  drivers/gpu/drm/drm_exec.o
  CC [M]  drivers/gpu/drm/radeon/atombios_encoders.o
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ids.o
  AR      drivers/thermal/mediatek/built-in.a
  CC [M]  drivers/media/v4l2-core/v4l2-dev.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.o
  CC [M]  drivers/media/v4l2-core/v4l2-ioctl.o
  CC      drivers/cpuidle/driver.o
  LD [M]  drivers/net/ethernet/intel/igc/igc.o
  LD [M]  drivers/usb/typec/ucsi/typec_ucsi.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.o
  CC [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.o
  AR      drivers/net/ethernet/intel/built-in.a
  CC [M]  drivers/acpi/acpi_tad.o
  CC [M]  drivers/net/ethernet/intel/e100.o
  CC      drivers/firmware/efi/vars.o
  CC      drivers/md/dm-stats.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.o
  CC      drivers/firmware/efi/reboot.o
  CC      drivers/mmc/core/host.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/gp102.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC [M]  drivers/media/mc/mc-entity.o
  CC      drivers/mmc/core/mmc.o
  CC [M]  drivers/media/v4l2-core/v4l2-device.o
  CC      drivers/leds/trigger/ledtrig-mtd.o
  CC [M]  drivers/gpu/drm/radeon/radeon_semaphore.o
  CC [M]  drivers/usb/typec/pd.o
  CC      drivers/mmc/host/sdhci.o
  CC [M]  drivers/gpu/drm/radeon/radeon_sa.o
  CC [M]  drivers/usb/typec/retimer.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC      drivers/firmware/efi/libstub/gop.o
  CC [M]  drivers/gpu/drm/radeon/atombios_i2c.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x540.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_x550.o
  CC      drivers/firmware/efi/memattr.o
  CC [M]  drivers/media/mc/mc-request.o
  CC      drivers/leds/trigger/ledtrig-cpu.o
  CC      drivers/mmc/core/mmc_ops.o
  CC      drivers/usb/host/xhci-dbgtty.o
  CC [M]  drivers/gpu/drm/drm_buddy.o
  CC      drivers/cpuidle/governor.o
  AR      drivers/thermal/intel/built-in.a
  CC      drivers/thermal/thermal_core.o
  CC [M]  drivers/media/dvb-core/dmxdev.o
  CC [M]  drivers/acpi/acpi_pad.o
  LD [M]  drivers/media/tuners/tda18271.o
  CC      drivers/leds/trigger/ledtrig-panic.o
  CC      drivers/thermal/thermal_sysfs.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_lib.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/tu102.o
  CC [M]  drivers/gpu/drm/radeon/si.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      drivers/firmware/efi/tpm.o
  CC      drivers/firmware/efi/memmap.o
  CC [M]  drivers/media/dvb-core/dvb_demux.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mmhub.o
  CC      drivers/md/dm-rq.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/media/dvb-core/dvb_ca_en50221.o
  AR      drivers/media/built-in.a
  CC [M]  drivers/media/dvb-core/dvb_frontend.o
  CC [M]  drivers/media/mc/mc-dev-allocator.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC      drivers/firmware/efi/libstub/secureboot.o
  CC [M]  drivers/media/v4l2-core/v4l2-fh.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.o
  CC      drivers/cpufreq/cpufreq_conservative.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC      drivers/cpuidle/sysfs.o
  CC [M]  drivers/usb/typec/port-mapper.o
  AR      drivers/leds/blink/built-in.a
  CC      drivers/cpuidle/poll_state.o
  CC [M]  drivers/gpu/drm/drm_gem_shmem_helper.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_adminq.o
  AR      drivers/leds/simple/built-in.a
  CC      drivers/firmware/efi/esrt.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_common.o
  AR      drivers/firmware/imx/built-in.a
  CC      drivers/md/dm-io-rewind.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_hmc.o
  CC      drivers/usb/host/xhci-debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC [M]  drivers/media/dvb-core/dvb_net.o
  CC [M]  drivers/media/v4l2-core/v4l2-event.o
  CC      drivers/thermal/thermal_trip.o
  CC      drivers/mmc/core/sd.o
  AR      drivers/leds/trigger/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga100.o
  CC      drivers/leds/led-core.o
  CC [M]  drivers/media/dvb-core/dvb_ringbuffer.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.o
  LD [M]  drivers/acpi/video.o
  AR      drivers/acpi/built-in.a
  CC      drivers/firmware/efi/libstub/tpm.o
  CC      drivers/firmware/efi/libstub/file.o
  AR      drivers/crypto/ccp/built-in.a
  AR      drivers/crypto/stm32/built-in.a
  CC      drivers/clocksource/acpi_pm.o
  CC      drivers/cpufreq/cpufreq_governor.o
  AR      drivers/crypto/xilinx/built-in.a
  LD [M]  drivers/usb/typec/typec.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_hdp.o
  CC [M]  drivers/hid/usbhid/hid-core.o
  AR      drivers/cpuidle/built-in.a
  CC [M]  drivers/hid/usbhid/hiddev.o
  CC [M]  drivers/hid/usbhid/hid-pidff.o
  AR      drivers/crypto/hisilicon/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  AR      drivers/crypto/intel/keembay/built-in.a
  CC      drivers/md/dm-builtin.o
  AR      drivers/crypto/intel/ixp4xx/built-in.a
  AR      drivers/crypto/intel/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.o
  CC      drivers/firmware/efi/libstub/mem.o
  AR      drivers/crypto/starfive/built-in.a
  AR      drivers/staging/media/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_csa.o
  AR      drivers/crypto/built-in.a
  CC      drivers/staging/vme_user/vme.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras.o
  CC [M]  drivers/md/raid0.o
  CC [M]  drivers/hid/intel-ish-hid/ishtp/init.o
  CC [M]  drivers/hid/intel-ish-hid/ishtp/hbm.o
  CC [M]  drivers/gpu/drm/radeon/radeon_prime.o
  LD [M]  drivers/media/mc/mc.o
  LD [M]  drivers/net/ethernet/intel/ixgbevf/ixgbevf.o
  CC [M]  drivers/md/raid1.o
  AR      drivers/hid/built-in.a
  CC      drivers/mmc/host/sdhci-pci-core.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  AR      drivers/firmware/psci/built-in.a
  AR      drivers/platform/x86/amd/built-in.a
  AR      drivers/platform/x86/dell/built-in.a
  AR      drivers/platform/mellanox/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt.o
  AR      drivers/platform/chrome/built-in.a
  CC      drivers/usb/host/xhci-pci.o
  AR      drivers/platform/x86/hp/built-in.a
  CC      drivers/mmc/core/sd_ops.o
  CC      drivers/leds/led-class.o
  AR      drivers/firmware/qcom/built-in.a
  CC [M]  drivers/platform/x86/intel/int3472/discrete.o
  CC [M]  drivers/platform/x86/intel/pmc/core.o
  CC [M]  drivers/platform/x86/intel/int3472/clk_and_regulator.o
  CC      drivers/firmware/efi/libstub/random.o
  AR      drivers/platform/surface/built-in.a
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC      drivers/mmc/host/sdhci-pci-o2micro.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/falcon/ga102.o
  CC      drivers/clocksource/i8253.o
  CC [M]  drivers/media/v4l2-core/v4l2-subdev.o
  CC      drivers/firmware/efi/libstub/pci.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  CC [M]  drivers/staging/iio/impedance-analyzer/ad5933.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC      drivers/platform/x86/p2sb.o
  CC      drivers/platform/x86/intel_scu_ipc.o
  CC [M]  drivers/gpu/drm/radeon/cik.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/base.o
  CC      drivers/mmc/core/sdio.o
  CC      drivers/thermal/thermal_helpers.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.o
  CC [M]  drivers/md/raid10.o
  CC      drivers/cpufreq/amd-pstate.o
  CC      drivers/cpufreq/amd-pstate-trace.o
  CC      drivers/leds/led-triggers.o
  CC [M]  drivers/platform/x86/intel/pmc/core_ssram.o
  CC [M]  drivers/platform/x86/intel/pmc/spt.o
  CC [M]  drivers/gpu/drm/radeon/r600_dpm.o
  CC [M]  drivers/platform/x86/intel/pmc/cnp.o
  CC      drivers/clocksource/numachip.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.o
  AR      drivers/firmware/smccc/built-in.a
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC [M]  drivers/hid/intel-ish-hid/ishtp/client.o
  CC [M]  drivers/hid/intel-ish-hid/ishtp/bus.o
  AR      drivers/firmware/tegra/built-in.a
  CC [M]  drivers/platform/x86/intel/int3472/led.o
  CC [M]  drivers/platform/x86/intel/int3472/common.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC      drivers/firmware/efi/libstub/alignedmem.o
  LD [M]  drivers/media/dvb-core/dvb-core.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/lsfw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm200.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_lan_hmc.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC      drivers/firmware/efi/libstub/printk.o
  CC [M]  drivers/gpu/drm/radeon/rs780_dpm.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.o
  CC [M]  drivers/media/v4l2-core/v4l2-common.o
  CC      drivers/mmc/host/sdhci-pci-arasan.o
  CC      drivers/mmc/core/sdio_ops.o
  AR      drivers/clocksource/built-in.a
  AR      drivers/usb/host/built-in.a
  CC      drivers/mmc/core/sdio_bus.o
  AR      drivers/usb/built-in.a
  CC      drivers/mmc/core/sdio_cis.o
  CC      drivers/mailbox/mailbox.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC [M]  drivers/platform/x86/intel/pmc/icl.o
  CC      drivers/hwspinlock/hwspinlock_core.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  CC [M]  drivers/media/v4l2-core/v4l2-ctrls-core.o
  CC [M]  drivers/hid/hid-core.o
  AR      drivers/net/ethernet/litex/built-in.a
  CC      drivers/mmc/host/sdhci-pci-dwc-mshc.o
  LD [M]  drivers/hid/usbhid/usbhid.o
  CC [M]  drivers/net/ethernet/intel/ixgbe/ixgbe_debugfs.o
  AR      drivers/net/ethernet/marvell/octeon_ep/built-in.a
  CC [M]  drivers/md/raid5.o
  CC      drivers/thermal/thermal_netlink.o
  AR      drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
  CC      drivers/remoteproc/remoteproc_core.o
  AR      drivers/virt/vboxguest/built-in.a
  CC      drivers/platform/x86/intel_scu_pcidrv.o
  AR      drivers/net/ethernet/marvell/octeontx2/built-in.a
  CC      drivers/remoteproc/remoteproc_coredump.o
  AR      drivers/virt/coco/tdx-guest/built-in.a
  AR      drivers/net/ethernet/marvell/prestera/built-in.a
  AR      drivers/virt/coco/built-in.a
  AR      drivers/staging/vme_user/built-in.a
  AR      drivers/net/ethernet/marvell/built-in.a
  AR      drivers/staging/built-in.a
  CC [M]  drivers/platform/x86/intel/int3472/tps68470.o
  AR      drivers/virt/built-in.a
  CC [M]  drivers/md/raid5-cache.o
  CC [M]  drivers/hid/hid-input.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_nvm.o
  CC      drivers/cpufreq/powernow-k8.o
  CC      drivers/firmware/efi/cper.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC [M]  drivers/platform/x86/intel/int3472/tps68470_board_data.o
  CC [M]  drivers/hid/hid-quirks.o
  AR      drivers/leds/built-in.a
  CC [M]  drivers/platform/x86/intel/pmc/tgl.o
  CC [M]  drivers/media/v4l2-core/v4l2-ctrls-api.o
  CC [M]  drivers/hid/intel-ish-hid/ishtp/dma-if.o
  CC      drivers/mmc/host/sdhci-pci-gli.o
  CC      drivers/cpufreq/pcc-cpufreq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.o
  AR      drivers/net/ethernet/mellanox/built-in.a
  CC [M]  drivers/hid/hid-debug.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gm20b.o
  AR      drivers/net/ethernet/micrel/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp102.o
  CC [M]  drivers/hid/hidraw.o
  CC      drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.o
  CC      drivers/net/ethernet/microchip/vcap/vcap_api.o
  CC      drivers/mmc/core/sdio_io.o
  CC      drivers/net/ethernet/microchip/vcap/vcap_tc.o
  CC      drivers/mailbox/pcc.o
  CC      drivers/platform/x86/pmc_atom.o
  CC      drivers/remoteproc/remoteproc_debugfs.o
  CC [M]  drivers/media/v4l2-core/v4l2-ctrls-request.o
  AR      drivers/firmware/xilinx/built-in.a
  CC [M]  drivers/hid/intel-ish-hid/ishtp/client-buffers.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.o
  CC [M]  drivers/gpu/drm/radeon/rv6xx_dpm.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_debugfs.o
  CC [M]  drivers/hid/intel-ish-hid/ipc/ipc.o
  CC [M]  drivers/media/v4l2-core/v4l2-ctrls-defs.o
  LD [M]  drivers/net/ethernet/intel/ixgbe/ixgbe.o
  LD [M]  drivers/platform/x86/intel/int3472/intel_skl_int3472_discrete.o
  LD [M]  drivers/platform/x86/intel/int3472/intel_skl_int3472_tps68470.o
  CC      drivers/firmware/dmi_scan.o
  AR      drivers/hwspinlock/built-in.a
  AR      drivers/net/ethernet/mscc/built-in.a
  CC [M]  drivers/platform/x86/intel/pmt/class.o
  CC [M]  drivers/media/v4l2-core/v4l2-compat-ioctl32.o
  CC [M]  drivers/media/v4l2-core/v4l2-mc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
  CC [M]  drivers/media/v4l2-core/v4l2-spi.o
  CC [M]  drivers/platform/x86/intel/pmc/adl.o
  CC      drivers/firmware/efi/libstub/x86-5lvl.o
  CC [M]  drivers/media/v4l2-core/v4l2-trace.o
  CC [M]  drivers/platform/x86/intel/speed_select_if/isst_if_common.o
  CC [M]  drivers/hid/intel-ish-hid/ipc/pci-ish.o
  CC      drivers/cpufreq/speedstep-centrino.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp108.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gv100.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_diag.o
  CC [M]  drivers/hid/intel-ish-hid/ishtp-hid.o
  CC [M]  drivers/platform/x86/intel/speed_select_if/isst_if_mmio.o
  CC [M]  drivers/platform/x86/intel/speed_select_if/isst_if_mbox_pci.o
  CC [M]  drivers/md/raid5-ppl.o
  CC      drivers/thermal/thermal_hwmon.o
  CC [M]  drivers/platform/x86/intel/uncore-frequency/uncore-frequency.o
  CC [M]  drivers/hid/hid-generic.o
  CC      drivers/remoteproc/remoteproc_sysfs.o
  CC      drivers/mmc/host/sdhci-acpi.o
  CC      drivers/firmware/efi/libstub/unaccepted_memory.o
  CC      drivers/mmc/host/cqhci-core.o
  CC [M]  drivers/platform/x86/intel/pmc/mtl.o
  AR      drivers/mailbox/built-in.a
  CC [M]  drivers/hid/intel-ish-hid/ishtp-hid-client.o
  CC      drivers/platform/x86/intel/turbo_max_3.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_txrx.o
  AR      drivers/devfreq/event/built-in.a
  CC      drivers/devfreq/devfreq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.o
  CC      drivers/mmc/core/sdio_irq.o
  CC      drivers/cpufreq/intel_pstate.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_ptp.o
  CC [M]  drivers/media/v4l2-core/v4l2-i2c.o
  CC [M]  drivers/platform/x86/intel/pmc/arl.o
  LD [M]  drivers/hid/intel-ish-hid/intel-ishtp.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  CC [M]  drivers/platform/x86/intel/pmc/lnl.o
  CC [M]  drivers/platform/x86/intel/hid.o
  CC [M]  drivers/platform/x86/intel/pmt/telemetry.o
  CC [M]  drivers/platform/x86/intel/speed_select_if/isst_if_mbox_msr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.o
  CC      drivers/firmware/efi/libstub/bitmap.o
  CC [M]  drivers/gpu/drm/radeon/rv770_dpm.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC      drivers/firmware/efi/libstub/find.o
  CC [M]  drivers/hid/hid-sensor-hub.o
  CC      drivers/firmware/efi/cper_cxl.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC      drivers/firmware/efi/dev-path-parser.o
  CC      drivers/mmc/host/cqhci-crypto.o
  CC [M]  drivers/platform/x86/wmi.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC      drivers/mmc/core/slot-gpio.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC      drivers/remoteproc/remoteproc_virtio.o
  CC      drivers/mmc/core/regulator.o
  STUBCPY drivers/firmware/efi/libstub/bitmap.stub.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_nbio.o
  CC [M]  drivers/platform/x86/wmi-bmof.o
  CC [M]  drivers/mmc/host/sdhci-pltfm.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  STUBCPY drivers/firmware/efi/libstub/find.stub.o
  CC [M]  drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.o
  LD [M]  drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency.o
  CC      drivers/firmware/dmi-sysfs.o
  CC      drivers/firmware/edd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_umc.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  CC [M]  drivers/platform/x86/intel/vsec.o
  CC [M]  drivers/hid/hid-sensor-custom.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC      drivers/mmc/core/debugfs.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  CC      drivers/thermal/gov_fair_share.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  CC      drivers/thermal/gov_bang_bang.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  LD [M]  drivers/hid/intel-ish-hid/intel-ish-ipc.o
  CC [M]  drivers/platform/x86/intel/pmc/pltdrv.o
  LD [M]  drivers/hid/intel-ish-hid/intel-ishtp-hid.o
  CC [M]  drivers/md/dm-path-selector.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  CC      drivers/firmware/efi/apple-properties.o
  STUBCPY drivers/firmware/efi/libstub/unaccepted_memory.stub.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  STUBCPY drivers/firmware/efi/libstub/x86-5lvl.stub.o
  CC      drivers/mmc/core/crypto.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  CC [M]  drivers/md/dm-mpath.o
  AR      drivers/firmware/efi/libstub/lib.a
  CC      drivers/remoteproc/remoteproc_elf_loader.o
  CC      drivers/remoteproc/remoteproc_cdev.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/tu102.o
  CC      drivers/firmware/efi/rci2-table.o
  CC [M]  drivers/platform/x86/intel/rst.o
  LD [M]  drivers/platform/x86/intel/intel-hid.o
  CC      drivers/firmware/efi/mokvar-table.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC [M]  drivers/gpu/drm/radeon/rv730_dpm.o
  CC      drivers/extcon/extcon.o
  CC      drivers/firmware/efi/sysfb_efi.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC      drivers/extcon/devres.o
  CC [M]  drivers/platform/x86/intel/pmt/crashlog.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_class.o
  AR      drivers/net/ethernet/microchip/vcap/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC      drivers/thermal/gov_step_wise.o
  LD [M]  drivers/media/v4l2-core/videodev.o
  AR      drivers/net/ethernet/microchip/built-in.a
  CC      drivers/firmware/efi/earlycon.o
  CC      drivers/firmware/dmi-id.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  LD [M]  drivers/platform/x86/intel/pmc/intel_pmc_core.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm.o
  LD [M]  drivers/platform/x86/intel/pmc/intel_pmc_core_pltdrv.o
  AR      drivers/platform/x86/intel/built-in.a
  AR      drivers/mmc/host/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC      drivers/devfreq/devfreq-event.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/ga100.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_telemetry.o
  CC      drivers/devfreq/governor_simpleondemand.o
  CC      drivers/thermal/gov_user_space.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC      drivers/firmware/memmap.o
  CC [M]  drivers/platform/x86/mxm-wmi.o
  LD [M]  drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common.o
  CC      drivers/thermal/gov_power_allocator.o
  CC [M]  drivers/gpu/drm/drm_atomic_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v11_0_i2c.o
  CC [M]  drivers/gpu/drm/drm_atomic_state_helper.o
  CC [M]  drivers/platform/x86/intel_ips.o
  AR      drivers/memory/built-in.a
  CC [M]  drivers/md/dm-ps-round-robin.o
  CC      drivers/firmware/efi/cper-x86.o
  CC      drivers/firmware/efi/unaccepted_memory.o
  LD [M]  drivers/platform/x86/intel/intel-rst.o
  CC      drivers/powercap/powercap_sys.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_requests.o
  AR      drivers/perf/built-in.a
  AR      drivers/ras/amd/atl/built-in.a
  CC      drivers/ras/ras.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  CC      drivers/devfreq/governor_performance.o
  LD [M]  drivers/hid/hid.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  AR      drivers/cpufreq/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC      drivers/devfreq/governor_powersave.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.o
  CC      drivers/powercap/idle_inject.o
  CC      drivers/thermal/devfreq_cooling.o
  LD [M]  drivers/platform/x86/intel/pmt/pmt_crashlog.o
  LD [M]  drivers/platform/x86/intel/intel_vsec.o
  CC [M]  drivers/powercap/intel_rapl_common.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gtt.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC      drivers/devfreq/governor_userspace.o
  CC [M]  drivers/gpu/drm/radeon/rv740_dpm.o
  CC      drivers/devfreq/governor_passive.o
  CC [M]  drivers/gpu/drm/radeon/rv770_smc.o
  AR      drivers/remoteproc/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_llc.o
  AR      drivers/mmc/core/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  AR      drivers/mmc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC [M]  drivers/gpu/drm/radeon/cypress_dpm.o
  AR      drivers/hwtracing/intel_th/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/acr/ga102.o
  CC [M]  drivers/hwtracing/intel_th/core.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/base.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_ddp.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_client.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC      drivers/ras/debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/nv50.o
  CC [M]  drivers/firmware/efi/efi-pstore.o
  AR      drivers/android/built-in.a
  CC [M]  drivers/gpu/drm/radeon/btc_dpm.o
  CC      drivers/nvmem/core.o
  AR      drivers/nvmem/layouts/built-in.a
  AR      drivers/extcon/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_lrc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_migrate.o
  CC      drivers/interconnect/core.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_rap.o
  CC      drivers/hte/hte.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  AR      drivers/firmware/efi/built-in.a
  CC      drivers/firmware/sysfb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fw_attestation.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.o
  AR      drivers/accel/built-in.a
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_xsk.o
  CC [M]  drivers/powercap/intel_rapl_msr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/g84.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  AR      drivers/devfreq/built-in.a
  CC      drivers/interconnect/bulk.o
  CC [M]  drivers/parport/share.o
  CC [M]  drivers/parport/ieee1284.o
  CC [M]  drivers/parport/ieee1284_ops.o
  CC [M]  drivers/hwtracing/intel_th/pci.o
  CC      drivers/ras/cec.o
  CC [M]  drivers/hwtracing/intel_th/gth.o
  LD [M]  drivers/md/dm-multipath.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_mocs.o
  LD [M]  drivers/md/dm-round-robin.o
  AR      drivers/platform/x86/built-in.a
  CC [M]  drivers/parport/procfs.o
  AR      drivers/platform/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_devlink.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gf100.o
  CC [M]  drivers/gpu/drm/radeon/sumo_dpm.o
  CC [M]  drivers/gpu/drm/radeon/sumo_smc.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  AR      drivers/md/built-in.a
  LD [M]  drivers/md/raid456.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gk20a.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ppgtt.o
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_dcb.o
  AR      drivers/thermal/built-in.a
  CC [M]  drivers/net/ethernet/intel/i40e/i40e_dcb_nl.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm107.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_rc6.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC      drivers/interconnect/debugfs-client.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  AR      drivers/powercap/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_securedisplay.o
  CC [M]  drivers/gpu/drm/drm_bridge_connector.o
  CC [M]  drivers/gpu/drm/radeon/trinity_dpm.o
  CC [M]  drivers/gpu/drm/radeon/trinity_smc.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_eeprom.o
  AR      drivers/net/ethernet/myricom/built-in.a
  LD [M]  drivers/hwtracing/intel_th/intel_th.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/gm20b.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/tu102.o
  CC [M]  drivers/gpu/drm/radeon/ni_dpm.o
  CC [M]  drivers/mtd/parsers/cmdlinepart.o
  AR      drivers/ras/built-in.a
  LD [M]  drivers/hwtracing/intel_th/intel_th_pci.o
  AR      drivers/net/ethernet/natsemi/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_mca.o
  AR      drivers/hte/built-in.a
  CC [M]  drivers/mtd/chips/chipreg.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bar/r535.o
  AR      drivers/net/ethernet/neterion/built-in.a
  CC [M]  drivers/gpu/drm/drm_crtc_helper.o
  CC [M]  drivers/gpu/drm/radeon/si_smc.o
  CC [M]  drivers/gpu/drm/drm_damage_helper.o
  CC [M]  drivers/gpu/drm/radeon/si_dpm.o
  LD [M]  drivers/hwtracing/intel_th/intel_th_gth.o
  CC [M]  drivers/gpu/drm/drm_encoder_slave.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_region_lmem.o
  CC [M]  drivers/parport/daisy.o
  AR      drivers/nvmem/built-in.a
  CC [M]  drivers/parport/probe.o
  CC [M]  drivers/vfio/pci/vfio_pci_core.o
  CC [M]  drivers/dca/dca-core.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/parport/parport_pc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC [M]  drivers/gpu/drm/radeon/kv_smc.o
  CC [M]  drivers/mtd/maps/map_funcs.o
  CC [M]  drivers/gpu/drm/radeon/kv_dpm.o
  AR      drivers/firmware/built-in.a
  CC [M]  drivers/vfio/pci/vfio_pci_intrs.o
  CC [M]  drivers/vfio/pci/vfio_pci_rdwr.o
  CC [M]  drivers/vhost/net.o
  CC [M]  drivers/vfio/pci/vfio_pci_config.o
  CC [M]  drivers/vhost/vhost.o
  CC [M]  drivers/vhost/iotlb.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_reset.o
  CC [M]  drivers/mtd/nand/core.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/mtd/nand/bbt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.o
  AR      drivers/interconnect/built-in.a
  CC [M]  drivers/mtd/nand/ecc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/bit.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/boost.o
  CC [M]  drivers/soundwire/bus_type.o
  CC [M]  drivers/soundwire/bus.o
  CC [M]  drivers/soundwire/master.o
  CC [M]  drivers/soundwire/slave.o
  CC [M]  drivers/gpu/drm/drm_flip_work.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp_ta.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/conn.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/radeon/ci_smc.o
  CC [M]  drivers/dca/dca-sysfs.o
  CC [M]  drivers/gpu/drm/drm_format_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_lsdma.o
  CC [M]  drivers/gpu/drm/radeon/ci_dpm.o
  CC [M]  drivers/mtd/spi-nor/core.o
  CC [M]  drivers/mtd/spi-nor/sfdp.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring.o
  CC [M]  drivers/mtd/spi-nor/swp.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ring_mux.o
  CC [M]  drivers/gpu/drm/radeon/dce6_afmt.o
  CC [M]  drivers/mtd/spi-nor/otp.o
  CC [M]  drivers/soundwire/mipi_disco.o
  CC [M]  drivers/soundwire/stream.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/cstep.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dcb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/disp.o
  CC [M]  drivers/gpu/drm/drm_gem_atomic_helper.o
  CC [M]  drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC [M]  drivers/iio/accel/hid-sensor-accel-3d.o
  CC [M]  drivers/mtd/spi-nor/sysfs.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ring_submission.o
  LD [M]  drivers/net/ethernet/intel/i40e/i40e.o
  LD [M]  drivers/dca/dca.o
  AR      drivers/net/ethernet/netronome/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/dp.o
  CC [M]  drivers/gpu/drm/drm_kms_helper_common.o
  CC [M]  drivers/thunderbolt/nhi.o
  CC [M]  drivers/gpu/drm/drm_modeset_helper.o
  CC [M]  drivers/vfio/pci/vfio_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  LD [M]  drivers/parport/parport.o
  CC [M]  drivers/thunderbolt/nhi_ops.o
  CC [M]  drivers/mtd/nand/ecc-sw-hamming.o
  CC [M]  drivers/gpu/drm/drm_plane_helper.o
  CC [M]  drivers/soundwire/sysfs_slave.o
  AR      drivers/net/ethernet/ni/built-in.a
  AR      drivers/net/ethernet/nvidia/built-in.a
  AR      drivers/net/ethernet/oki-semi/built-in.a
  AR      drivers/net/ethernet/packetengines/built-in.a
  AR      drivers/net/ethernet/qlogic/built-in.a
  CC [M]  drivers/gpu/drm/i915/gt/intel_rps.o
  CC [M]  drivers/soundwire/sysfs_slave_dpn.o
  CC [M]  drivers/vfio/vfio_main.o
  CC [M]  drivers/soundwire/debugfs.o
  AR      drivers/net/ethernet/qualcomm/emac/built-in.a
  AR      drivers/net/ethernet/qualcomm/built-in.a
  CC [M]  drivers/vfio/group.o
  LD [M]  drivers/vhost/vhost_iotlb.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_xcp.o
  CC [M]  drivers/vfio/container.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sa_media.o
  AR      drivers/net/ethernet/realtek/built-in.a
  CC [M]  drivers/net/ethernet/realtek/8139cp.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  LD [M]  drivers/vhost/vhost_net.o
  CC [M]  drivers/net/ethernet/realtek/8139too.o
  CC [M]  drivers/gpu/drm/radeon/radeon_vm.o
  AR      drivers/net/ethernet/renesas/built-in.a
  LD [M]  drivers/vfio/pci/vfio-pci-core.o
  CC [M]  drivers/vfio/virqfd.o
  CC [M]  drivers/mtd/spi-nor/atmel.o
  CC [M]  drivers/gpu/drm/radeon/radeon_ucode.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/extdev.o
  CC [M]  drivers/mtd/spi-nor/eon.o
  CC [M]  drivers/vfio/vfio_iommu_type1.o
  CC [M]  drivers/mtd/spi-nor/esmt.o
  CC [M]  drivers/gpu/drm/drm_probe_helper.o
  CC [M]  drivers/soundwire/irq.o
  CC [M]  drivers/thunderbolt/ctl.o
  CC [M]  drivers/soundwire/generic_bandwidth_allocation.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.o
  CC [M]  drivers/soundwire/cadence_master.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  LD [M]  drivers/vfio/pci/vfio-pci.o
  CC [M]  drivers/gpu/drm/drm_rect.o
  CC [M]  drivers/gpu/drm/drm_self_refresh_helper.o
  CC [M]  drivers/iio/buffer/industrialio-triggered-buffer.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/soundwire/intel.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/fan.o
  CC [M]  drivers/iio/buffer/kfifo_buf.o
  CC [M]  drivers/gpu/drm/drm_simple_kms_helper.o
  CC [M]  drivers/soundwire/intel_ace2x.o
  CC [M]  drivers/soundwire/intel_ace2x_debugfs.o
  CC [M]  drivers/mtd/spi-nor/everspin.o
  CC [M]  drivers/mtd/mtdcore.o
  CC [M]  drivers/gpu/drm/bridge/panel.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/mtd/spi-nor/gigadevice.o
  CC [M]  drivers/mtd/nand/ecc-sw-bch.o
  CC [M]  drivers/gpu/drm/drm_fbdev_generic.o
  CC [M]  drivers/soundwire/intel_auxdevice.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_aca.o
  CC [M]  drivers/soundwire/intel_init.o
  CC [M]  drivers/soundwire/dmi-quirks.o
  CC [M]  drivers/gpu/drm/drm_fb_helper.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/gpio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/i2c.o
  CC [M]  drivers/net/ethernet/realtek/r8169_main.o
  CC [M]  drivers/thunderbolt/tb.o
  CC [M]  drivers/thunderbolt/switch.o
  CC [M]  drivers/mtd/spi-nor/intel.o
  CC [M]  drivers/mtd/spi-nor/issi.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu.o
  CC [M]  drivers/gpu/drm/radeon/radeon_ib.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/radeon/radeon_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  CC [M]  drivers/soundwire/intel_bus_common.o
  LD [M]  drivers/soundwire/soundwire-bus.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_timeline.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_tlb.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_wopcm.o
  CC [M]  drivers/gpu/drm/radeon/radeon_audio.o
  CC [M]  drivers/gpu/drm/radeon/radeon_dp_auxch.o
  CC [M]  drivers/net/ethernet/realtek/r8169_firmware.o
  CC [M]  drivers/mtd/spi-nor/macronix.o
  LD [M]  drivers/soundwire/soundwire-generic-allocation.o
  LD [M]  drivers/gpu/drm/drm.o
  CC [M]  drivers/mtd/nand/ecc-mxic.o
  CC [M]  drivers/net/ethernet/realtek/r8169_phy_config.o
  CC [M]  drivers/gpu/drm/radeon/radeon_mn.o
  LD [M]  drivers/gpu/drm/drm_shmem_helper.o
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_pmu.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_ih.o
  CC [M]  drivers/gpu/drm/radeon/r600_dma.o
  CC [M]  drivers/iio/common/hid-sensors/hid-sensor-attributes.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_workarounds.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  CC [M]  drivers/mtd/mtdsuper.o
  AR      drivers/gpu/drm/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/iccsense.o
  LD [M]  drivers/vfio/vfio.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/image.o
  CC [M]  drivers/thunderbolt/cap.o
  CC [M]  drivers/thunderbolt/path.o
  CC [M]  drivers/mtd/spi-nor/micron-st.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.o
  CC [M]  drivers/mtd/mtdconcat.o
  CC [M]  drivers/gpu/drm/i915/gt/shmem_utils.o
  CC [M]  drivers/gpu/drm/radeon/rv770_dma.o
  CC [M]  drivers/iio/common/hid-sensors/hid-sensor-trigger.o
  CC [M]  drivers/gpu/drm/radeon/evergreen_dma.o
  AR      drivers/net/ethernet/rdc/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC [M]  drivers/mtd/mtdpart.o
  CC [M]  drivers/mtd/mtdchar.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/mxm.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/npde.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v8_0.o
  CC [M]  drivers/iio/gyro/hid-sensor-gyro-3d.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v7_0.o
  CC [M]  drivers/gpu/drm/radeon/ni_dma.o
  LD [M]  drivers/soundwire/soundwire-cadence.o
  LD [M]  drivers/soundwire/soundwire-intel.o
  CC [M]  drivers/gpu/drm/radeon/si_dma.o
  CC [M]  drivers/gpu/drm/radeon/cik_sdma.o
  CC [M]  drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC [M]  drivers/gpu/drm/radeon/radeon_uvd.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC [M]  drivers/mtd/spi-nor/spansion.o
  CC [M]  drivers/mtd/spi-nor/sst.o
  CC [M]  drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC [M]  drivers/thunderbolt/tunnel.o
  CC [M]  drivers/gpu/drm/radeon/uvd_v1_0.o
  CC [M]  drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cik_sdma.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pcir.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v4_2.o
  CC [M]  drivers/mtd/spi-nor/winbond.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vce_v2_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.o
  CC [M]  drivers/gpu/drm/radeon/uvd_v2_2.o
  CC [M]  drivers/gpu/drm/i915/gt/gen8_renderstate.o
  LD [M]  drivers/mtd/nand/nandcore.o
  CC [M]  drivers/thunderbolt/eeprom.o
  CC [M]  drivers/thunderbolt/domain.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/pmu.o
  CC [M]  drivers/gpu/drm/radeon/uvd_v3_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/power_budget.o
  AR      drivers/net/ethernet/rocker/built-in.a
  CC [M]  drivers/gpu/drm/radeon/uvd_v4_2.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  AR      drivers/net/ethernet/samsung/built-in.a
  CC [M]  drivers/gpu/drm/radeon/radeon_vce.o
  CC [M]  drivers/thunderbolt/dma_port.o
  CC [M]  drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.o
  CC [M]  drivers/gpu/drm/radeon/vce_v1_0.o
  CC [M]  drivers/gpu/drm/radeon/vce_v2_0.o
  CC [M]  drivers/gpu/drm/radeon/radeon_fbdev.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC [M]  drivers/gpu/drm/radeon/radeon_atpx_handler.o
  LD [M]  drivers/gpu/drm/drm_kms_helper.o
  CC [M]  drivers/mtd/spi-nor/xilinx.o
  CC [M]  drivers/mtd/spi-nor/xmc.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  AR      drivers/net/ethernet/seeq/built-in.a
  AR      drivers/net/ethernet/silan/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/si.o
  CC [M]  drivers/mtd/spi-nor/debugfs.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC [M]  drivers/gpu/drm/radeon/radeon_acpi.o
  MKREG   drivers/gpu/drm/radeon/r100_reg_safe.h
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_create.o
  MKREG   drivers/gpu/drm/radeon/rn50_reg_safe.h
  CC [M]  drivers/thunderbolt/icm.o
  LD [M]  drivers/iio/common/hid-sensors/hid-sensor-iio-common.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v6_0.o
  LD [M]  drivers/mtd/mtd.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfx_v6_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_ih.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/rammap.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/si_dma.o
  LD [M]  drivers/net/ethernet/realtek/r8169.o
  AR      drivers/net/ethernet/sis/built-in.a
  AR      drivers/net/ethernet/sfc/built-in.a
  CC [M]  drivers/thunderbolt/property.o
  CC [M]  drivers/thunderbolt/xdomain.o
  AR      drivers/net/ethernet/smsc/built-in.a
  CC [M]  drivers/iio/light/hid-sensor-als.o
  AR      drivers/net/ethernet/socionext/built-in.a
  CC [M]  drivers/iio/light/hid-sensor-prox.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.o
  AR      drivers/net/ethernet/stmicro/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.o
  AR      drivers/net/ethernet/sun/built-in.a
  AR      drivers/net/ethernet/tehuti/built-in.a
  CC [M]  drivers/gpu/drm/amd/amdgpu/dce_v6_0.o
  AR      drivers/net/ethernet/ti/built-in.a
  AR      drivers/net/ethernet/vertexcom/built-in.a
  AR      drivers/net/ethernet/via/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.o
  MKREG   drivers/gpu/drm/radeon/r300_reg_safe.h
  AR      drivers/net/ethernet/wangxun/built-in.a
  MKREG   drivers/gpu/drm/radeon/r420_reg_safe.h
  CC [M]  drivers/gpu/drm/radeon/rs600.o
  AR      drivers/net/ethernet/wiznet/built-in.a
  AR      drivers/net/ethernet/xilinx/built-in.a
  CC [M]  drivers/thunderbolt/lc.o
  CC [M]  drivers/thunderbolt/tmu.o
  AR      drivers/net/ethernet/synopsys/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.o
  AR      drivers/net/ethernet/pensando/built-in.a
  AR      drivers/net/ethernet/built-in.a
  CC [M]  drivers/gpu/drm/radeon/rv515.o
  CC [M]  drivers/thunderbolt/usb4.o
  CC [M]  drivers/gpu/drm/radeon/r200.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/uvd_v3_1.o
  CC [M]  drivers/gpu/drm/radeon/r600_cs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowramin.o
  AR      drivers/net/built-in.a
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowrom.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/timing.o
  CC [M]  drivers/gpu/drm/radeon/evergreen_cs.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_control.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.o
  CC [M]  drivers/gpu/drm/radeon/r100.o
  LD [M]  drivers/mtd/spi-nor/spi-nor.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.o
  CC [M]  drivers/gpu/drm/radeon/r300.o
  CC [M]  drivers/gpu/drm/radeon/r420.o
  CC [M]  drivers/iio/magnetometer/hid-sensor-magn-3d.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_vi.o
  CC [M]  drivers/thunderbolt/usb4_port.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v6_1.o
  CC [M]  drivers/thunderbolt/nvm.o
  CC [M]  drivers/thunderbolt/retimer.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vmap.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/volt.o
  CC [M]  drivers/thunderbolt/quirks.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC [M]  drivers/iio/orientation/hid-sensor-incl-3d.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/vpstate.o
  CC [M]  drivers/iio/orientation/hid-sensor-rotation.o
  CC [M]  drivers/iio/position/hid-sensor-custom-intel-hinge.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc15.o
  CC [M]  drivers/thunderbolt/clx.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/emu_soc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/xpio.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_ai.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC [M]  drivers/thunderbolt/acpi.o
  CC [M]  drivers/thunderbolt/debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0203.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0205.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/M0209.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bios/P0260.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/base.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pages.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_0.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt_2l.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_reg_init.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt_ml.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov_pf.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_kunit_helpers.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/hwsq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_reg_init.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/iio/industrialio-core.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_4.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  CC [M]  drivers/iio/industrialio-event.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v2_3.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv31.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv50.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nv.o
  CC [M]  drivers/iio/inkern.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/g94.o
  LD [M]  drivers/thunderbolt/thunderbolt.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC [M]  drivers/iio/industrialio-buffer.o
  CC [M]  drivers/iio/industrialio-trigger.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/bus/gf100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/arct_reg_init.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mxgpu_nv.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_2.o
  CC [M]  drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/i915/i915_active.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v4_0.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  LD [M]  drivers/gpu/drm/radeon/radeon.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.o
  CC [M]  drivers/gpu/drm/i915/i915_deps.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/i915/i915_gem.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_evict.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_gtt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC [M]  drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/i915/i915_query.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran_reg_init.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aldebaran.o
  CC [M]  drivers/gpu/drm/i915/i915_request.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/soc21.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/sienna_cichlid.o
  CC [M]  drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/i915/i915_trace_points.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/smu_v13_0_10.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v4_3.o
  CC [M]  drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/i915/i915_vma.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/i915/i915_vma_resource.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v6_0.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc.o
  LD [M]  drivers/iio/industrialio.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_7.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v5_2.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/lsdma_v6_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_9.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/gm20b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/aqua_vanjaram.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbio_v7_11.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/lsdma_v7_0.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/hdp_v7_0.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_irq.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/nbif_v6_3_1.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v1_7.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllgt215.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v3_6.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC [M]  drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v4_3.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv05.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/df_v4_6_2.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v7_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v8_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv10.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv1a.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/i915/gt/intel_gsc.o
  CC [M]  drivers/gpu/drm/i915/i915_hwmon.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.o
  CC [M]  drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_plane.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v9_0.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_1.o
  CC [M]  drivers/gpu/drm/i915/display/i9xx_wm.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/i915/display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bios.o
  CC [M]  drivers/gpu/drm/i915/display/intel_bw.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v9_4.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_color.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm200.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gv100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v10_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC [M]  drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v2_1.o
  CC [M]  drivers/gpu/drm/i915/display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_7.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.o
  CC [M]  drivers/gpu/drm/i915/display/intel_cursor.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/ga100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/r535.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/base.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/user.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp100.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gmc_v11_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_1.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v3_0_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/gv100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fault/tu102.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/base.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_params.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v1_2.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv04.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv10.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v1_8.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/mmhub_v3_3.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_reset.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/gfxhub_v11_5_0.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_rps.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dmc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpio_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv1a.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpt.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv20.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv25.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv30.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv35.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dpt_common.o
  CC [M]  drivers/gpu/drm/i915/display/intel_drrs.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_1.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv36.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv40.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v6_7.o
  CC [M]  drivers/gpu/drm/i915/display/intel_dsb_buffer.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_7.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v8_10.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv41.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/umc_v12_0.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv44.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv46.o
  CC [M]  drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_irq.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv47.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv49.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv4e.o
  CC [M]  drivers/gpu/drm/i915/display/intel_global_state.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/nv50.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_ih.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/iceland_ih.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/i915/display/intel_hti.o
  CC [M]  drivers/gpu/drm/i915/display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/g84.o
  CC [M]  drivers/gpu/drm/i915/display/intel_load_detect.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/tonga_ih.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/cz_ih.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega10_ih.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gt215.o
  CC [M]  drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_lock.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp77.o
  CC [M]  drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/mcp89.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf100.o
  CC [M]  drivers/gpu/drm/i915/display/intel_overlay.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gf108.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/vega20_ih.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk104.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk110.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_display.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_relay_communication_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  CC [M]  drivers/gpu/drm/i915/display/intel_pch_refclk.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gk20a.o
  CC [M]  drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm107.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm200.o
  CC [M]  drivers/gpu/drm/i915/display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/i915/display/intel_psr.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gm20b.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
  CC [M]  drivers/gpu/drm/i915/display/intel_quirks.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp100.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp102.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite.o
  CC [M]  drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  CC [M]  drivers/gpu/drm/i915/display/intel_tc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gp10b.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/navi10_ih.o
  CC [M]  drivers/gpu/drm/i915/display/intel_vblank.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
  CC [M]  drivers/gpu/drm/i915/display/intel_vga.o
  CC [M]  drivers/gpu/drm/i915/display/intel_wm.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v6_0.o
  CC [M]  drivers/gpu/drm/i915/display/skl_scaler.o
  CC [M]  drivers/gpu/drm/i915/display/skl_universal_plane.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v6_1.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
  CC [M]  drivers/gpu/drm/i915/display/skl_watermark.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
  CC [M]  drivers/gpu/drm/i915/display/intel_acpi.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
  CC [M]  drivers/gpu/drm/i915/display/intel_opregion.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/gv100.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
  CC [M]  drivers/gpu/drm/amd/amdgpu/ih_v7_0.o
  CC [M]  drivers/gpu/drm/amd/amdgpu/amdgpu_psp.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
  CC [M]  drivers/gpu/drm/i915/display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/i915/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/tu102.o
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga100.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
  CC [M]  drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
  CC [M]  drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ga102.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7017.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/r535.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
  CC [M]  drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ivch.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ram.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv04.o
  CC [M]  drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramnv10.o
  CC [M]  drivers/gpu/drm/i915/display/dvo_ns2501.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
  CC [M]  drivers/gpu/drm/i915/display/dvo_sil164.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
  HDRTEST drivers/gpu/drm/x



^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✓ CI.Hooks: success for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (10 preceding siblings ...)
  2024-04-16  3:30 ` ✓ CI.Build: " Patchwork
@ 2024-04-16  3:32 ` Patchwork
  2024-04-16  3:34 ` ✓ CI.checksparse: " Patchwork
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:32 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== Summary ==

run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
  GEN     Makefile
  UPD     include/generated/compile.h
  UPD     include/config/kernel.release
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool 
  UPD     include/generated/utsrelease.h
  HOSTCC  /workspace/kernel/build64-default/tools/objtool/fixdep.o
  CALL    ../scripts/checksyscalls.sh
  HOSTLD  /workspace/kernel/build64-default/tools/objtool/fixdep-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/fixdep
  INSTALL libsubcmd_headers
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
  CC      /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
  LD      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
  AR      /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
  CC      /workspace/kernel/build64-default/tools/objtool/weak.o
  CC      /workspace/kernel/build64-default/tools/objtool/check.o
  CC      /workspace/kernel/build64-default/tools/objtool/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/builtin-check.o
  CC      /workspace/kernel/build64-default/tools/objtool/elf.o
  CC      /workspace/kernel/build64-default/tools/objtool/objtool.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_gen.o
  CC      /workspace/kernel/build64-default/tools/objtool/orc_dump.o
  CC      /workspace/kernel/build64-default/tools/objtool/libstring.o
  CC      /workspace/kernel/build64-default/tools/objtool/libctype.o
  CC      /workspace/kernel/build64-default/tools/objtool/str_error_r.o
  CC      /workspace/kernel/build64-default/tools/objtool/librbtree.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
  CC      /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
  LD      /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
  LD      /workspace/kernel/build64-default/tools/objtool/objtool-in.o
  LINK    /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default M=drivers/gpu/drm/xe W=1
make[1]: Entering directory '/workspace/kernel/build64-default'
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_id_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_control.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt_2l.o
  CC [M]  drivers/gpu/drm/xe/xe_lmtt_ml.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov_pf.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_kunit_helpers.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbdev.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_klvs_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_errors_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_live_test_mod.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_bo_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_dma_buf_test.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_migrate_test.o
  HDRTEST drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_mocs_test.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_relay_communication_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_actions_abi.h
  HDRTEST drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_test_mod.o
  HDRTEST drivers/gpu/drm/xe/abi/guc_messages_abi.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_pci_test.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_rtp_test.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
  CC [M]  drivers/gpu/drm/xe/tests/xe_wa_test.o
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
  HDRTEST drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
  HDRTEST drivers/gpu/drm/xe/display/xe_display.h
  HDRTEST drivers/gpu/drm/xe/display/intel_fb_bo.h
  HDRTEST drivers/gpu/drm/xe/display/intel_fbdev_fb.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gfx_state_commands.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_instr_defs.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
  HDRTEST drivers/gpu/drm/xe/instructions/xe_mi_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gsc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_reg_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_guc_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gt_regs.h
  LD [M]  drivers/gpu/drm/xe/tests/xe_live_test.o
  HDRTEST drivers/gpu/drm/xe/regs/xe_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_pcode_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gpu_commands.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_sriov_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_lrc_layout.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_gtt_defs.h
  HDRTEST drivers/gpu/drm/xe/regs/xe_engine_regs.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_kunit_helpers.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_pci_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_migrate_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_mocs_test.h
  HDRTEST drivers/gpu/drm/xe/tests/xe_bo_test.h
  HDRTEST drivers/gpu/drm/xe/xe_assert.h
  HDRTEST drivers/gpu/drm/xe/xe_bb.h
  HDRTEST drivers/gpu/drm/xe/xe_bb_types.h
  HDRTEST drivers/gpu/drm/xe/xe_bo.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_evict.h
  HDRTEST drivers/gpu/drm/xe/xe_bo_types.h
  HDRTEST drivers/gpu/drm/xe/xe_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump.h
  HDRTEST drivers/gpu/drm/xe/xe_devcoredump_types.h
  HDRTEST drivers/gpu/drm/xe/xe_device.h
  HDRTEST drivers/gpu/drm/xe/xe_device_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_device_types.h
  HDRTEST drivers/gpu/drm/xe/xe_dma_buf.h
  HDRTEST drivers/gpu/drm/xe/xe_drm_client.h
  HDRTEST drivers/gpu/drm/xe/xe_drv.h
  HDRTEST drivers/gpu/drm/xe/xe_exec.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue.h
  HDRTEST drivers/gpu/drm/xe/xe_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist.h
  HDRTEST drivers/gpu/drm/xe/xe_execlist_types.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake.h
  HDRTEST drivers/gpu/drm/xe/xe_force_wake_types.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt.h
  HDRTEST drivers/gpu/drm/xe/xe_ggtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler.h
  HDRTEST drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_proxy.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_gsc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_ccs_mode.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_clock.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_freq.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_idle_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_mcr.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_pagefault.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_helpers.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_policy_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sriov_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_topology.h
  HDRTEST drivers/gpu/drm/xe/xe_gt_types.h
  LD [M]  drivers/gpu/drm/xe/tests/xe_test.o
  HDRTEST drivers/gpu/drm/xe/xe_guc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ads_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_ct_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_db_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_fwif.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hwconfig.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_hxg_helpers.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_id_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_klv_helpers.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_log_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_pc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_relay.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_relay_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_submit_types.h
  HDRTEST drivers/gpu/drm/xe/xe_guc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_heci_gsc.h
  HDRTEST drivers/gpu/drm/xe/xe_hmm.h
  HDRTEST drivers/gpu/drm/xe/xe_huc.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_huc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_engine_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_hw_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_hwmon.h
  HDRTEST drivers/gpu/drm/xe/xe_irq.h
  HDRTEST drivers/gpu/drm/xe/xe_lmtt.h
  HDRTEST drivers/gpu/drm/xe/xe_lmtt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc.h
  HDRTEST drivers/gpu/drm/xe/xe_lrc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_macros.h
  HDRTEST drivers/gpu/drm/xe/xe_map.h
  HDRTEST drivers/gpu/drm/xe/xe_memirq.h
  HDRTEST drivers/gpu/drm/xe/xe_memirq_types.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate.h
  HDRTEST drivers/gpu/drm/xe/xe_migrate_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_mmio.h
  HDRTEST drivers/gpu/drm/xe/xe_mocs.h
  HDRTEST drivers/gpu/drm/xe/xe_module.h
  HDRTEST drivers/gpu/drm/xe/xe_pat.h
  HDRTEST drivers/gpu/drm/xe/xe_pci.h
  HDRTEST drivers/gpu/drm/xe/xe_pci_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode.h
  HDRTEST drivers/gpu/drm/xe/xe_pcode_api.h
  HDRTEST drivers/gpu/drm/xe/xe_platform_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pm.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_preempt_fence_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_types.h
  HDRTEST drivers/gpu/drm/xe/xe_pt_walk.h
  HDRTEST drivers/gpu/drm/xe/xe_query.h
  HDRTEST drivers/gpu/drm/xe/xe_range_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_sr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_reg_whitelist.h
  HDRTEST drivers/gpu/drm/xe/xe_res_cursor.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops.h
  HDRTEST drivers/gpu/drm/xe/xe_ring_ops_types.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp.h
  HDRTEST drivers/gpu/drm/xe/xe_rtp_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sa.h
  HDRTEST drivers/gpu/drm/xe/xe_sa_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job.h
  HDRTEST drivers/gpu/drm/xe/xe_sched_job_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_pf.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_pf_helpers.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_printk.h
  HDRTEST drivers/gpu/drm/xe/xe_sriov_types.h
  HDRTEST drivers/gpu/drm/xe/xe_step.h
  HDRTEST drivers/gpu/drm/xe/xe_step_types.h
  HDRTEST drivers/gpu/drm/xe/xe_sync.h
  HDRTEST drivers/gpu/drm/xe/xe_sync_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tile.h
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs.h
  HDRTEST drivers/gpu/drm/xe/xe_tile_sysfs_types.h
  HDRTEST drivers/gpu/drm/xe/xe_trace.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
  HDRTEST drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
  HDRTEST drivers/gpu/drm/xe/xe_tuning.h
  HDRTEST drivers/gpu/drm/xe/xe_uc.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_debugfs.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_abi.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_fw_types.h
  HDRTEST drivers/gpu/drm/xe/xe_uc_types.h
  HDRTEST drivers/gpu/drm/xe/xe_vm.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_doc.h
  HDRTEST drivers/gpu/drm/xe/xe_vm_types.h
  HDRTEST drivers/gpu/drm/xe/xe_vram_freq.h
  HDRTEST drivers/gpu/drm/xe/xe_wa.h
  HDRTEST drivers/gpu/drm/xe/xe_wait_user_fence.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm.h
  HDRTEST drivers/gpu/drm/xe/xe_wopcm_types.h
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  MODPOST drivers/gpu/drm/xe/Module.symvers
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_live_test.mod.o
  CC [M]  drivers/gpu/drm/xe/tests/xe_test.mod.o
  LD [M]  drivers/gpu/drm/xe/tests/xe_test.ko
  LD [M]  drivers/gpu/drm/xe/tests/xe_live_test.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
  GEN     Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTLD  scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m

Value of CONFIG_SND_DEBUG is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_DEBUG is not set
New value: CONFIG_SND_DEBUG=y

Value of CONFIG_SND_HDA_INTEL is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: CONFIG_SND_HDA_INTEL=y
New value: CONFIG_SND_HDA_INTEL=m

Value of CONFIG_SND_HDA_CODEC_HDMI is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_HDA_CODEC_HDMI is not set
New value: CONFIG_SND_HDA_CODEC_HDMI=m

  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value:  CONFIG_HAVE_UID16=y
Actual value:     

Value requested for CONFIG_UID16 not in final .config
Requested value:  CONFIG_UID16=y
Actual value:     

Value requested for CONFIG_X86_32 not in final .config
Requested value:  CONFIG_X86_32=y
Actual value:     

Value requested for CONFIG_OUTPUT_FORMAT not in final .config
Requested value:  CONFIG_OUTPUT_FORMAT="elf32-i386"
Actual value:     CONFIG_OUTPUT_FORMAT="elf64-x86-64"

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MIN=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MIN=28

Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS_MAX=16
Actual value:     CONFIG_ARCH_MMAP_RND_BITS_MAX=32

Value requested for CONFIG_PGTABLE_LEVELS not in final .config
Requested value:  CONFIG_PGTABLE_LEVELS=2
Actual value:     CONFIG_PGTABLE_LEVELS=5

Value requested for CONFIG_X86_BIGSMP not in final .config
Requested value:  # CONFIG_X86_BIGSMP is not set
Actual value:     

Value requested for CONFIG_X86_INTEL_QUARK not in final .config
Requested value:  # CONFIG_X86_INTEL_QUARK is not set
Actual value:     

Value requested for CONFIG_X86_RDC321X not in final .config
Requested value:  # CONFIG_X86_RDC321X is not set
Actual value:     

Value requested for CONFIG_X86_32_NON_STANDARD not in final .config
Requested value:  # CONFIG_X86_32_NON_STANDARD is not set
Actual value:     

Value requested for CONFIG_X86_32_IRIS not in final .config
Requested value:  # CONFIG_X86_32_IRIS is not set
Actual value:     

Value requested for CONFIG_M486SX not in final .config
Requested value:  # CONFIG_M486SX is not set
Actual value:     

Value requested for CONFIG_M486 not in final .config
Requested value:  # CONFIG_M486 is not set
Actual value:     

Value requested for CONFIG_M586 not in final .config
Requested value:  # CONFIG_M586 is not set
Actual value:     

Value requested for CONFIG_M586TSC not in final .config
Requested value:  # CONFIG_M586TSC is not set
Actual value:     

Value requested for CONFIG_M586MMX not in final .config
Requested value:  # CONFIG_M586MMX is not set
Actual value:     

Value requested for CONFIG_M686 not in final .config
Requested value:  CONFIG_M686=y
Actual value:     

Value requested for CONFIG_MPENTIUMII not in final .config
Requested value:  # CONFIG_MPENTIUMII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMIII not in final .config
Requested value:  # CONFIG_MPENTIUMIII is not set
Actual value:     

Value requested for CONFIG_MPENTIUMM not in final .config
Requested value:  # CONFIG_MPENTIUMM is not set
Actual value:     

Value requested for CONFIG_MPENTIUM4 not in final .config
Requested value:  # CONFIG_MPENTIUM4 is not set
Actual value:     

Value requested for CONFIG_MK6 not in final .config
Requested value:  # CONFIG_MK6 is not set
Actual value:     

Value requested for CONFIG_MK7 not in final .config
Requested value:  # CONFIG_MK7 is not set
Actual value:     

Value requested for CONFIG_MCRUSOE not in final .config
Requested value:  # CONFIG_MCRUSOE is not set
Actual value:     

Value requested for CONFIG_MEFFICEON not in final .config
Requested value:  # CONFIG_MEFFICEON is not set
Actual value:     

Value requested for CONFIG_MWINCHIPC6 not in final .config
Requested value:  # CONFIG_MWINCHIPC6 is not set
Actual value:     

Value requested for CONFIG_MWINCHIP3D not in final .config
Requested value:  # CONFIG_MWINCHIP3D is not set
Actual value:     

Value requested for CONFIG_MELAN not in final .config
Requested value:  # CONFIG_MELAN is not set
Actual value:     

Value requested for CONFIG_MGEODEGX1 not in final .config
Requested value:  # CONFIG_MGEODEGX1 is not set
Actual value:     

Value requested for CONFIG_MGEODE_LX not in final .config
Requested value:  # CONFIG_MGEODE_LX is not set
Actual value:     

Value requested for CONFIG_MCYRIXIII not in final .config
Requested value:  # CONFIG_MCYRIXIII is not set
Actual value:     

Value requested for CONFIG_MVIAC3_2 not in final .config
Requested value:  # CONFIG_MVIAC3_2 is not set
Actual value:     

Value requested for CONFIG_MVIAC7 not in final .config
Requested value:  # CONFIG_MVIAC7 is not set
Actual value:     

Value requested for CONFIG_X86_GENERIC not in final .config
Requested value:  # CONFIG_X86_GENERIC is not set
Actual value:     

Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_INTERNODE_CACHE_SHIFT=5
Actual value:     CONFIG_X86_INTERNODE_CACHE_SHIFT=6

Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config
Requested value:  CONFIG_X86_L1_CACHE_SHIFT=5
Actual value:     CONFIG_X86_L1_CACHE_SHIFT=6

Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config
Requested value:  CONFIG_X86_USE_PPRO_CHECKSUM=y
Actual value:     

Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config
Requested value:  CONFIG_X86_MINIMUM_CPU_FAMILY=6
Actual value:     CONFIG_X86_MINIMUM_CPU_FAMILY=64

Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config
Requested value:  CONFIG_CPU_SUP_TRANSMETA_32=y
Actual value:     

Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config
Requested value:  CONFIG_CPU_SUP_VORTEX_32=y
Actual value:     

Value requested for CONFIG_HPET_TIMER not in final .config
Requested value:  # CONFIG_HPET_TIMER is not set
Actual value:     CONFIG_HPET_TIMER=y

Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config
Requested value:  CONFIG_NR_CPUS_RANGE_END=8
Actual value:     CONFIG_NR_CPUS_RANGE_END=512

Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config
Requested value:  CONFIG_NR_CPUS_DEFAULT=8
Actual value:     CONFIG_NR_CPUS_DEFAULT=64

Value requested for CONFIG_X86_ANCIENT_MCE not in final .config
Requested value:  # CONFIG_X86_ANCIENT_MCE is not set
Actual value:     

Value requested for CONFIG_X86_LEGACY_VM86 not in final .config
Requested value:  # CONFIG_X86_LEGACY_VM86 is not set
Actual value:     

Value requested for CONFIG_X86_ESPFIX32 not in final .config
Requested value:  CONFIG_X86_ESPFIX32=y
Actual value:     

Value requested for CONFIG_TOSHIBA not in final .config
Requested value:  # CONFIG_TOSHIBA is not set
Actual value:     

Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config
Requested value:  # CONFIG_X86_REBOOTFIXUPS is not set
Actual value:     

Value requested for CONFIG_MICROCODE_INITRD32 not in final .config
Requested value:  CONFIG_MICROCODE_INITRD32=y
Actual value:     

Value requested for CONFIG_NOHIGHMEM not in final .config
Requested value:  # CONFIG_NOHIGHMEM is not set
Actual value:     

Value requested for CONFIG_HIGHMEM4G not in final .config
Requested value:  CONFIG_HIGHMEM4G=y
Actual value:     

Value requested for CONFIG_HIGHMEM64G not in final .config
Requested value:  # CONFIG_HIGHMEM64G is not set
Actual value:     

Value requested for CONFIG_PAGE_OFFSET not in final .config
Requested value:  CONFIG_PAGE_OFFSET=0xC0000000
Actual value:     

Value requested for CONFIG_HIGHMEM not in final .config
Requested value:  CONFIG_HIGHMEM=y
Actual value:     

Value requested for CONFIG_X86_PAE not in final .config
Requested value:  # CONFIG_X86_PAE is not set
Actual value:     

Value requested for CONFIG_ARCH_FLATMEM_ENABLE not in final .config
Requested value:  CONFIG_ARCH_FLATMEM_ENABLE=y
Actual value:     

Value requested for CONFIG_ARCH_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_ARCH_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_ILLEGAL_POINTER_VALUE not in final .config
Requested value:  CONFIG_ILLEGAL_POINTER_VALUE=0
Actual value:     CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000

Value requested for CONFIG_HIGHPTE not in final .config
Requested value:  # CONFIG_HIGHPTE is not set
Actual value:     

Value requested for CONFIG_COMPAT_VDSO not in final .config
Requested value:  # CONFIG_COMPAT_VDSO is not set
Actual value:     

Value requested for CONFIG_FUNCTION_PADDING_CFI not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_CFI=0
Actual value:     CONFIG_FUNCTION_PADDING_CFI=11

Value requested for CONFIG_FUNCTION_PADDING_BYTES not in final .config
Requested value:  CONFIG_FUNCTION_PADDING_BYTES=4
Actual value:     CONFIG_FUNCTION_PADDING_BYTES=16

Value requested for CONFIG_APM not in final .config
Requested value:  # CONFIG_APM is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K6 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K6 is not set
Actual value:     

Value requested for CONFIG_X86_POWERNOW_K7 not in final .config
Requested value:  # CONFIG_X86_POWERNOW_K7 is not set
Actual value:     

Value requested for CONFIG_X86_GX_SUSPMOD not in final .config
Requested value:  # CONFIG_X86_GX_SUSPMOD is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_ICH not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_ICH is not set
Actual value:     

Value requested for CONFIG_X86_SPEEDSTEP_SMI not in final .config
Requested value:  # CONFIG_X86_SPEEDSTEP_SMI is not set
Actual value:     

Value requested for CONFIG_X86_CPUFREQ_NFORCE2 not in final .config
Requested value:  # CONFIG_X86_CPUFREQ_NFORCE2 is not set
Actual value:     

Value requested for CONFIG_X86_LONGRUN not in final .config
Requested value:  # CONFIG_X86_LONGRUN is not set
Actual value:     

Value requested for CONFIG_X86_LONGHAUL not in final .config
Requested value:  # CONFIG_X86_LONGHAUL is not set
Actual value:     

Value requested for CONFIG_X86_E_POWERSAVER not in final .config
Requested value:  # CONFIG_X86_E_POWERSAVER is not set
Actual value:     

Value requested for CONFIG_PCI_GOBIOS not in final .config
Requested value:  # CONFIG_PCI_GOBIOS is not set
Actual value:     

Value requested for CONFIG_PCI_GOMMCONFIG not in final .config
Requested value:  # CONFIG_PCI_GOMMCONFIG is not set
Actual value:     

Value requested for CONFIG_PCI_GODIRECT not in final .config
Requested value:  # CONFIG_PCI_GODIRECT is not set
Actual value:     

Value requested for CONFIG_PCI_GOANY not in final .config
Requested value:  CONFIG_PCI_GOANY=y
Actual value:     

Value requested for CONFIG_PCI_BIOS not in final .config
Requested value:  CONFIG_PCI_BIOS=y
Actual value:     

Value requested for CONFIG_ISA not in final .config
Requested value:  # CONFIG_ISA is not set
Actual value:     

Value requested for CONFIG_SCx200 not in final .config
Requested value:  # CONFIG_SCx200 is not set
Actual value:     

Value requested for CONFIG_OLPC not in final .config
Requested value:  # CONFIG_OLPC is not set
Actual value:     

Value requested for CONFIG_ALIX not in final .config
Requested value:  # CONFIG_ALIX is not set
Actual value:     

Value requested for CONFIG_NET5501 not in final .config
Requested value:  # CONFIG_NET5501 is not set
Actual value:     

Value requested for CONFIG_GEOS not in final .config
Requested value:  # CONFIG_GEOS is not set
Actual value:     

Value requested for CONFIG_COMPAT_32 not in final .config
Requested value:  CONFIG_COMPAT_32=y
Actual value:     

Value requested for CONFIG_HAVE_ATOMIC_IOMAP not in final .config
Requested value:  CONFIG_HAVE_ATOMIC_IOMAP=y
Actual value:     

Value requested for CONFIG_ARCH_32BIT_OFF_T not in final .config
Requested value:  CONFIG_ARCH_32BIT_OFF_T=y
Actual value:     

Value requested for CONFIG_ARCH_WANT_IPC_PARSE_VERSION not in final .config
Requested value:  CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
Actual value:     

Value requested for CONFIG_MODULES_USE_ELF_REL not in final .config
Requested value:  CONFIG_MODULES_USE_ELF_REL=y
Actual value:     

Value requested for CONFIG_ARCH_MMAP_RND_BITS not in final .config
Requested value:  CONFIG_ARCH_MMAP_RND_BITS=8
Actual value:     CONFIG_ARCH_MMAP_RND_BITS=28

Value requested for CONFIG_CLONE_BACKWARDS not in final .config
Requested value:  CONFIG_CLONE_BACKWARDS=y
Actual value:     

Value requested for CONFIG_OLD_SIGSUSPEND3 not in final .config
Requested value:  CONFIG_OLD_SIGSUSPEND3=y
Actual value:     

Value requested for CONFIG_OLD_SIGACTION not in final .config
Requested value:  CONFIG_OLD_SIGACTION=y
Actual value:     

Value requested for CONFIG_ARCH_SPLIT_ARG64 not in final .config
Requested value:  CONFIG_ARCH_SPLIT_ARG64=y
Actual value:     

Value requested for CONFIG_FUNCTION_ALIGNMENT not in final .config
Requested value:  CONFIG_FUNCTION_ALIGNMENT=4
Actual value:     CONFIG_FUNCTION_ALIGNMENT=16

Value requested for CONFIG_SELECT_MEMORY_MODEL not in final .config
Requested value:  CONFIG_SELECT_MEMORY_MODEL=y
Actual value:     

Value requested for CONFIG_FLATMEM_MANUAL not in final .config
Requested value:  CONFIG_FLATMEM_MANUAL=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_MANUAL not in final .config
Requested value:  # CONFIG_SPARSEMEM_MANUAL is not set
Actual value:     

Value requested for CONFIG_FLATMEM not in final .config
Requested value:  CONFIG_FLATMEM=y
Actual value:     

Value requested for CONFIG_SPARSEMEM_STATIC not in final .config
Requested value:  CONFIG_SPARSEMEM_STATIC=y
Actual value:     

Value requested for CONFIG_BOUNCE not in final .config
Requested value:  CONFIG_BOUNCE=y
Actual value:     

Value requested for CONFIG_KMAP_LOCAL not in final .config
Requested value:  CONFIG_KMAP_LOCAL=y
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_COMPAQ not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_COMPAQ is not set
Actual value:     

Value requested for CONFIG_HOTPLUG_PCI_IBM not in final .config
Requested value:  # CONFIG_HOTPLUG_PCI_IBM is not set
Actual value:     

Value requested for CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH not in final .config
Requested value:  CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
Actual value:     

Value requested for CONFIG_PCH_PHUB not in final .config
Requested value:  # CONFIG_PCH_PHUB is not set
Actual value:     

Value requested for CONFIG_SCSI_NSP32 not in final .config
Requested value:  # CONFIG_SCSI_NSP32 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5520 not in final .config
Requested value:  # CONFIG_PATA_CS5520 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5530 not in final .config
Requested value:  # CONFIG_PATA_CS5530 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5535 not in final .config
Requested value:  # CONFIG_PATA_CS5535 is not set
Actual value:     

Value requested for CONFIG_PATA_CS5536 not in final .config
Requested value:  # CONFIG_PATA_CS5536 is not set
Actual value:     

Value requested for CONFIG_PATA_SC1200 not in final .config
Requested value:  # CONFIG_PATA_SC1200 is not set
Actual value:     

Value requested for CONFIG_PCH_GBE not in final .config
Requested value:  # CONFIG_PCH_GBE is not set
Actual value:     

Value requested for CONFIG_INPUT_WISTRON_BTNS not in final .config
Requested value:  # CONFIG_INPUT_WISTRON_BTNS is not set
Actual value:     

Value requested for CONFIG_SERIAL_TIMBERDALE not in final .config
Requested value:  # CONFIG_SERIAL_TIMBERDALE is not set
Actual value:     

Value requested for CONFIG_SERIAL_PCH_UART not in final .config
Requested value:  # CONFIG_SERIAL_PCH_UART is not set
Actual value:     

Value requested for CONFIG_HW_RANDOM_GEODE not in final .config
Requested value:  CONFIG_HW_RANDOM_GEODE=y
Actual value:     

Value requested for CONFIG_SONYPI not in final .config
Requested value:  # CONFIG_SONYPI is not set
Actual value:     

Value requested for CONFIG_PC8736x_GPIO not in final .config
Requested value:  # CONFIG_PC8736x_GPIO is not set
Actual value:     

Value requested for CONFIG_NSC_GPIO not in final .config
Requested value:  # CONFIG_NSC_GPIO is not set
Actual value:     

Value requested for CONFIG_I2C_EG20T not in final .config
Requested value:  # CONFIG_I2C_EG20T is not set
Actual value:     

Value requested for CONFIG_SCx200_ACB not in final .config
Requested value:  # CONFIG_SCx200_ACB is not set
Actual value:     

Value requested for CONFIG_PTP_1588_CLOCK_PCH not in final .config
Requested value:  # CONFIG_PTP_1588_CLOCK_PCH is not set
Actual value:     

Value requested for CONFIG_SBC8360_WDT not in final .config
Requested value:  # CONFIG_SBC8360_WDT is not set
Actual value:     

Value requested for CONFIG_SBC7240_WDT not in final .config
Requested value:  # CONFIG_SBC7240_WDT is not set
Actual value:     

Value requested for CONFIG_MFD_CS5535 not in final .config
Requested value:  # CONFIG_MFD_CS5535 is not set
Actual value:     

Value requested for CONFIG_AGP_ALI not in final .config
Requested value:  # CONFIG_AGP_ALI is not set
Actual value:     

Value requested for CONFIG_AGP_ATI not in final .config
Requested value:  # CONFIG_AGP_ATI is not set
Actual value:     

Value requested for CONFIG_AGP_AMD not in final .config
Requested value:  # CONFIG_AGP_AMD is not set
Actual value:     

Value requested for CONFIG_AGP_NVIDIA not in final .config
Requested value:  # CONFIG_AGP_NVIDIA is not set
Actual value:     

Value requested for CONFIG_AGP_SWORKS not in final .config
Requested value:  # CONFIG_AGP_SWORKS is not set
Actual value:     

Value requested for CONFIG_AGP_EFFICEON not in final .config
Requested value:  # CONFIG_AGP_EFFICEON is not set
Actual value:     

Value requested for CONFIG_SND_PCM not in final .config
Requested value:  CONFIG_SND_PCM=y
Actual value:     CONFIG_SND_PCM=m

Value requested for CONFIG_SND_HWDEP not in final .config
Requested value:  CONFIG_SND_HWDEP=y
Actual value:     CONFIG_SND_HWDEP=m

Value requested for CONFIG_SND_DYNAMIC_MINORS not in final .config
Requested value:  # CONFIG_SND_DYNAMIC_MINORS is not set
Actual value:     CONFIG_SND_DYNAMIC_MINORS=y

Value requested for CONFIG_SND_CS5530 not in final .config
Requested value:  # CONFIG_SND_CS5530 is not set
Actual value:     

Value requested for CONFIG_SND_CS5535AUDIO not in final .config
Requested value:  # CONFIG_SND_CS5535AUDIO is not set
Actual value:     

Value requested for CONFIG_SND_SIS7019 not in final .config
Requested value:  # CONFIG_SND_SIS7019 is not set
Actual value:     

Value requested for CONFIG_SND_HDA not in final .config
Requested value:  CONFIG_SND_HDA=y
Actual value:     CONFIG_SND_HDA=m

Value requested for CONFIG_SND_HDA_CORE not in final .config
Requested value:  CONFIG_SND_HDA_CORE=y
Actual value:     CONFIG_SND_HDA_CORE=m

Value requested for CONFIG_SND_INTEL_DSP_CONFIG not in final .config
Requested value:  CONFIG_SND_INTEL_DSP_CONFIG=y
Actual value:     CONFIG_SND_INTEL_DSP_CONFIG=m

Value requested for CONFIG_SND_INTEL_SOUNDWIRE_ACPI not in final .config
Requested value:  CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
Actual value:     CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m

Value requested for CONFIG_LEDS_OT200 not in final .config
Requested value:  # CONFIG_LEDS_OT200 is not set
Actual value:     

Value requested for CONFIG_PCH_DMA not in final .config
Requested value:  # CONFIG_PCH_DMA is not set
Actual value:     

Value requested for CONFIG_CLKSRC_I8253 not in final .config
Requested value:  CONFIG_CLKSRC_I8253=y
Actual value:     

Value requested for CONFIG_MAILBOX not in final .config
Requested value:  # CONFIG_MAILBOX is not set
Actual value:     CONFIG_MAILBOX=y

Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config
Requested value:  # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config
Requested value:  # CONFIG_CRYPTO_TWOFISH_586 is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_GEODE is not set
Actual value:     

Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config
Requested value:  # CONFIG_CRYPTO_DEV_HIFN_795X is not set
Actual value:     

Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config
Requested value:  CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
Actual value:     CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11

Value requested for CONFIG_AUDIT_GENERIC not in final .config
Requested value:  CONFIG_AUDIT_GENERIC=y
Actual value:     

Value requested for CONFIG_GENERIC_VDSO_32 not in final .config
Requested value:  CONFIG_GENERIC_VDSO_32=y
Actual value:     

Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config
Requested value:  # CONFIG_DEBUG_KMAP_LOCAL is not set
Actual value:     

Value requested for CONFIG_DEBUG_HIGHMEM not in final .config
Requested value:  # CONFIG_DEBUG_HIGHMEM is not set
Actual value:     

Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value:  CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:     

Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value:  # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:     

Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config
Requested value:  CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:     

Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_KUNIT_TEST=m
Actual value:     

Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value:  CONFIG_DRM_XE_WERROR=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG=y
Actual value:     

Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value:  CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:     

Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value:  CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:     

++ nproc
+ make -j48 ARCH=i386 olddefconfig
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
  SYNC    include/config/auto.conf.cmd
  GEN     Makefile

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m

WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
  Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
  Selected by [m]:
  - DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM_XE [=m] && DRM_XE [=m]=m
  GEN     Makefile
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/errno.h
  WRAP    arch/x86/include/generated/uapi/asm/fcntl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctl.h
  WRAP    arch/x86/include/generated/uapi/asm/ioctls.h
  WRAP    arch/x86/include/generated/uapi/asm/ipcbuf.h
  UPD     include/generated/uapi/linux/version.h
  WRAP    arch/x86/include/generated/uapi/asm/param.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  WRAP    arch/x86/include/generated/uapi/asm/resource.h
  WRAP    arch/x86/include/generated/uapi/asm/socket.h
  WRAP    arch/x86/include/generated/uapi/asm/termbits.h
  WRAP    arch/x86/include/generated/uapi/asm/sockios.h
  WRAP    arch/x86/include/generated/uapi/asm/termios.h
  WRAP    arch/x86/include/generated/uapi/asm/types.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  UPD     include/generated/compile.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/irq_regs.h
  WRAP    arch/x86/include/generated/asm/kmap_size.h
  HOSTCC  arch/x86/tools/relocs_32.o
  WRAP    arch/x86/include/generated/asm/local64.h
  WRAP    arch/x86/include/generated/asm/mmiowb.h
  HOSTCC  arch/x86/tools/relocs_64.o
  WRAP    arch/x86/include/generated/asm/module.lds.h
  HOSTCC  arch/x86/tools/relocs_common.o
  WRAP    arch/x86/include/generated/asm/rwonce.h
  WRAP    arch/x86/include/generated/asm/unaligned.h
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTLD  arch/x86/tools/relocs
  UPD     include/config/kernel.release
  UPD     include/generated/utsrelease.h
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  UPD     scripts/mod/devicetable-offsets.h
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTLD  scripts/mod/modpost
  CC      kernel/bounds.s
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h
  CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h
  UPD     include/generated/timeconst.h
  UPD     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  UPD     include/generated/asm-offsets.h
  CALL    /workspace/kernel/scripts/checksyscalls.sh
  LDS     scripts/module.lds
  CC      init/main.o
  CC      init/do_mounts.o
  CC      init/do_mounts_initrd.o
  HOSTCC  usr/gen_init_cpio
  UPD     init/utsversion-tmp.h
  CC      init/initramfs.o
  CC      certs/system_keyring.o
  CC      block/bdev.o
  CC      init/calibrate.o
  CC      init/init_task.o
  CC      security/commoncap.o
  CC      init/version.o
  CC      ipc/util.o
  CC      block/fops.o
  AS      arch/x86/lib/atomic64_cx8_32.o
  CC      arch/x86/power/cpu.o
  CC      io_uring/io_uring.o
  CC      fs/nfs_common/nfsacl.o
  CC      arch/x86/realmode/init.o
  CC      fs/iomap/trace.o
  CC      security/integrity/iint.o
  AR      arch/x86/net/built-in.a
  AR      virt/lib/built-in.a
  CC      arch/x86/pci/i386.o
  CC      mm/filemap.o
  AR      net/802/built-in.a
  AR      arch/x86/crypto/built-in.a
  CC      net/ethernet/eth.o
  CC      block/partitions/core.o
  GEN     security/selinux/flask.h security/selinux/av_permissions.h
  AR      arch/x86/entry/vsyscall/built-in.a
  AR      drivers/cache/built-in.a
  CC      security/keys/gc.o
  CC      arch/x86/events/amd/core.o
  CC      net/core/sock.o
  CC      arch/x86/mm/pat/set_memory.o
  CC      net/sched/sch_generic.o
  CC      fs/proc/task_mmu.o
  CC      fs/quota/dquot.o
  AR      arch/x86/virt/svm/built-in.a
  CC      arch/x86/events/amd/lbr.o
  AR      sound/i2c/other/built-in.a
  AR      arch/x86/platform/atom/built-in.a
  AR      virt/built-in.a
  CC      fs/proc/inode.o
  CC      security/selinux/avc.o
  CC      arch/x86/kernel/fpu/init.o
  CC      fs/notify/dnotify/dnotify.o
  CC      security/keys/key.o
  CC      sound/core/seq/seq.o
  AS      arch/x86/lib/checksum_32.o
  AR      drivers/irqchip/built-in.a
  AR      arch/x86/platform/ce4100/built-in.a
  AR      sound/i2c/built-in.a
  AR      arch/x86/virt/vmx/built-in.a
  CC      lib/math/div64.o
  AR      drivers/bus/mhi/built-in.a
  CC      arch/x86/entry/vdso/vma.o
  CC      arch/x86/entry/vdso/extable.o
  CC      arch/x86/mm/init.o
  AR      arch/x86/virt/built-in.a
  AR      drivers/bus/built-in.a
  CC      kernel/sched/core.o
  CC      arch/x86/platform/efi/memmap.o
  CC      arch/x86/pci/init.o
  CC      arch/x86/pci/pcbios.o
  CC      arch/x86/lib/cmdline.o
  AR      drivers/pwm/built-in.a
  CC      crypto/asymmetric_keys/asymmetric_type.o
  CC      drivers/pci/msi/pcidev_msi.o
  CC      lib/math/gcd.o
  CC      lib/math/lcm.o
  AS      arch/x86/lib/cmpxchg8b_emu.o
  CC      arch/x86/lib/cpu.o
  AR      arch/x86/platform/geode/built-in.a
  CC      lib/math/int_log.o
  CC      crypto/api.o
  LDS     arch/x86/entry/vdso/vdso32/vdso32.lds
  CC      arch/x86/pci/mmconfig_32.o
  GEN     usr/initramfs_data.cpio
  CC      lib/math/int_pow.o
  COPY    usr/initramfs_inc_data
  HOSTCC  certs/extract-cert
  AS      usr/initramfs_data.o
  CC      arch/x86/kernel/fpu/bugs.o
  AR      usr/built-in.a
  CC      arch/x86/pci/direct.o
  CC      lib/math/int_sqrt.o
  CC      arch/x86/kernel/fpu/core.o
  CC      lib/math/reciprocal_div.o
  CC      sound/core/seq/seq_lock.o
  AS      arch/x86/realmode/rm/header.o
  CC      lib/math/rational.o
  AS      arch/x86/realmode/rm/trampoline_32.o
  CERT    certs/x509_certificate_list
  CC      arch/x86/lib/delay.o
  CERT    certs/signing_key.x509
  AS      arch/x86/realmode/rm/stack.o
  AS      certs/system_certificates.o
  AS      arch/x86/realmode/rm/reboot.o
  CC      security/integrity/integrity_audit.o
  AR      certs/built-in.a
  CC      fs/nfs_common/grace.o
  CC      arch/x86/kernel/fpu/regset.o
  CC      arch/x86/mm/pat/memtype.o
  AR      sound/drivers/opl3/built-in.a
  AR      sound/drivers/opl4/built-in.a
  AS      arch/x86/realmode/rm/wakeup_asm.o
  CC      arch/x86/pci/mmconfig-shared.o
  AR      sound/drivers/mpu401/built-in.a
  CC      arch/x86/realmode/rm/wakemain.o
  CC      ipc/msgutil.o
  AR      sound/drivers/vx/built-in.a
  CC      fs/quota/quota_v2.o
  CC      ipc/msg.o
  AS      arch/x86/entry/vdso/vdso32/note.o
  CC      drivers/pci/msi/api.o
  AR      sound/drivers/pcsp/built-in.a
  CC      fs/quota/quota_tree.o
  AR      sound/drivers/built-in.a
  CC      crypto/asymmetric_keys/restrict.o
  AR      fs/notify/dnotify/built-in.a
  CC      arch/x86/pci/fixup.o
  AS      arch/x86/entry/vdso/vdso32/system_call.o
  CC      arch/x86/power/hibernate_32.o
  AS      arch/x86/power/hibernate_asm_32.o
  AS      arch/x86/lib/getuser.o
  CC      fs/notify/inotify/inotify_fsnotify.o
  AS      arch/x86/entry/vdso/vdso32/sigreturn.o
  CC      arch/x86/platform/efi/quirks.o
  CC      arch/x86/realmode/rm/video-mode.o
  CC      arch/x86/power/hibernate.o
  CC      arch/x86/entry/vdso/vdso32/vclock_gettime.o
  CC      kernel/locking/mutex.o
  CC      block/partitions/msdos.o
  GEN     arch/x86/lib/inat-tables.c
  CC      fs/notify/inotify/inotify_user.o
  AS      arch/x86/realmode/rm/copy.o
  CC      sound/core/seq/seq_clientmgr.o
  AR      lib/math/built-in.a
  CC      arch/x86/lib/insn-eval.o
  CC      kernel/locking/semaphore.o
  AS      arch/x86/realmode/rm/bioscall.o
  CC      lib/crypto/mpi/generic_mpih-lshift.o
  CC      kernel/locking/rwsem.o
  CC      arch/x86/realmode/rm/regs.o
  CC      security/keys/keyring.o
  CC      block/bio.o
  CC      drivers/pci/pcie/portdrv.o
  CC      block/elevator.o
  CC      arch/x86/realmode/rm/video-vga.o
  CC      security/selinux/hooks.o
  CC      drivers/video/console/dummycon.o
  CC      arch/x86/events/amd/ibs.o
  CC      net/sched/sch_mq.o
  CC      arch/x86/realmode/rm/video-vesa.o
  CC      crypto/asymmetric_keys/signature.o
  CC      fs/iomap/iter.o
  CC      drivers/video/console/vgacon.o
  CC      arch/x86/realmode/rm/video-bios.o
  AR      net/ethernet/built-in.a
  CC      drivers/video/backlight/backlight.o
  CC      fs/kernfs/mount.o
  CC      fs/sysfs/file.o
  AR      fs/nfs_common/built-in.a
  PASYMS  arch/x86/realmode/rm/pasyms.h
  LDS     arch/x86/realmode/rm/realmode.lds
  CC      fs/proc/root.o
  AR      security/integrity/built-in.a
  LD      arch/x86/realmode/rm/realmode.elf
  RELOCS  arch/x86/realmode/rm/realmode.relocs
  CC      arch/x86/lib/insn.o
  CC      net/netlink/af_netlink.o
  OBJCOPY arch/x86/realmode/rm/realmode.bin
  AR      init/built-in.a
  AS      arch/x86/realmode/rmpiggy.o
  CC      net/core/request_sock.o
  CC      arch/x86/events/intel/core.o
  CC      drivers/pci/msi/msi.o
  AR      arch/x86/realmode/built-in.a
  CC      arch/x86/entry/vdso/vdso32/vgetcpu.o
  CC      arch/x86/events/intel/bts.o
  CC      drivers/pci/pcie/rcec.o
  CC      arch/x86/lib/kaslr.o
  AR      arch/x86/power/built-in.a
  CC      arch/x86/mm/pat/memtype_interval.o
  CC      ipc/sem.o
  HOSTCC  arch/x86/entry/vdso/vdso2c
  CC      lib/crypto/mpi/generic_mpih-mul1.o
  CC      arch/x86/lib/memcpy_32.o
  CC      arch/x86/platform/efi/efi.o
  AR      net/bpf/built-in.a
  CC      kernel/sched/fair.o
  AS      arch/x86/lib/memmove_32.o
  CC      net/ethtool/ioctl.o
  CC      arch/x86/pci/acpi.o
  CC      arch/x86/kernel/fpu/signal.o
  CC      arch/x86/kernel/fpu/xstate.o
  CC      net/ethtool/common.o
  CC      arch/x86/lib/misc.o
  CC      crypto/asymmetric_keys/public_key.o
  ASN.1   crypto/asymmetric_keys/x509.asn1.[ch]
  CC      net/ethtool/netlink.o
  CC      net/netfilter/core.o
  CC      net/netfilter/nf_log.o
  CC      net/ipv4/netfilter/nf_defrag_ipv4.o
  CC      block/partitions/efi.o
  CC      arch/x86/lib/pc-conf-reg.o
  CC      net/ipv4/route.o
  CC      net/sched/sch_frag.o
  AR      fs/notify/inotify/built-in.a
  CC      mm/mempool.o
  CC      fs/quota/quota.o
  AR      fs/notify/fanotify/built-in.a
  CC      fs/notify/fsnotify.o
  CC      arch/x86/entry/vdso/vdso32-setup.o
  CC      fs/proc/base.o
  AS      arch/x86/lib/putuser.o
  AS      arch/x86/lib/retpoline.o
  CC      fs/iomap/buffered-io.o
  CC      arch/x86/lib/string_32.o
  CC      kernel/locking/percpu-rwsem.o
  CC      fs/kernfs/inode.o
  CC      fs/sysfs/dir.o
  AR      drivers/video/backlight/built-in.a
  CC      arch/x86/lib/strstr_32.o
  CC      lib/crypto/mpi/generic_mpih-mul2.o
  AR      arch/x86/mm/pat/built-in.a
  CC      arch/x86/lib/usercopy.o
  CC      lib/crypto/memneq.o
  CC      drivers/pci/pcie/aspm.o
  CC      arch/x86/mm/init_32.o
  CC      sound/core/sound.o
  CC      drivers/pci/pcie/pme.o
  CC      sound/core/seq/seq_memory.o
  CC      security/keys/keyctl.o
  VDSO    arch/x86/entry/vdso/vdso32.so.dbg
  AR      drivers/video/console/built-in.a
  CC      arch/x86/events/amd/uncore.o
  OBJCOPY arch/x86/entry/vdso/vdso32.so
  VDSO2C  arch/x86/entry/vdso/vdso-image-32.c
  AR      drivers/video/fbdev/core/built-in.a
  CC      arch/x86/entry/vdso/vdso-image-32.o
  AR      drivers/video/fbdev/omap/built-in.a
  CC      lib/crypto/utils.o
  AR      drivers/video/fbdev/omap2/omapfb/dss/built-in.a
  ASN.1   crypto/asymmetric_keys/x509_akid.asn1.[ch]
  CC      arch/x86/pci/legacy.o
  CC      crypto/asymmetric_keys/x509_loader.o
  AR      drivers/video/fbdev/omap2/omapfb/displays/built-in.a
  CC      net/sched/sch_api.o
  AR      drivers/video/fbdev/omap2/omapfb/built-in.a
  CC      net/core/skbuff.o
  AR      drivers/video/fbdev/omap2/built-in.a
  CC      drivers/pci/msi/irqdomain.o
  AR      drivers/video/fbdev/built-in.a
  CC      arch/x86/lib/usercopy_32.o
  CC      drivers/video/aperture.o
  AR      arch/x86/entry/vdso/built-in.a
  CC      drivers/video/cmdline.o
  AS      arch/x86/entry/entry.o
  CC      lib/crypto/chacha.o
  CC      crypto/asymmetric_keys/x509_public_key.o
  AS      arch/x86/entry/entry_32.o
  CC      arch/x86/platform/efi/efi_32.o
  CC      fs/sysfs/symlink.o
  CC      arch/x86/entry/syscall_32.o
  CC      drivers/pci/hotplug/pci_hotplug_core.o
  CC      kernel/locking/spinlock.o
  CC      drivers/pci/hotplug/acpi_pcihp.o
  CC      fs/notify/notification.o
  CC      sound/core/seq/seq_queue.o
  AR      drivers/pci/controller/dwc/built-in.a
  AR      block/partitions/built-in.a
  CC      lib/crypto/mpi/generic_mpih-mul3.o
  AR      drivers/pci/controller/mobiveil/built-in.a
  CC      lib/crypto/mpi/generic_mpih-rshift.o
  AR      drivers/pci/controller/built-in.a
  CC      arch/x86/lib/msr-smp.o
  CC      net/ethtool/bitset.o
  CC      lib/crypto/aes.o
  AR      arch/x86/kernel/fpu/built-in.a
  CC      block/blk-core.o
  CC      net/ipv4/netfilter/nf_reject_ipv4.o
  CC      arch/x86/kernel/cpu/mce/core.o
  CC      fs/kernfs/dir.o
  CC      arch/x86/kernel/cpu/mce/severity.o
  CC      arch/x86/kernel/cpu/mce/genpool.o
  CC      arch/x86/kernel/cpu/mtrr/mtrr.o
  CC      arch/x86/pci/irq.o
  CC      mm/oom_kill.o
  CC      arch/x86/kernel/cpu/mce/intel.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      mm/fadvise.o
  CC      arch/x86/lib/cache-smp.o
  CC      kernel/locking/osq_lock.o
  CC      arch/x86/mm/fault.o
  CC      fs/quota/kqid.o
  CC      net/netfilter/nf_queue.o
  ASN.1   crypto/asymmetric_keys/pkcs7.asn1.[ch]
  CC      crypto/asymmetric_keys/pkcs7_trust.o
  CC      ipc/shm.o
  CC      arch/x86/lib/msr.o
  AR      drivers/pci/msi/built-in.a
  CC      fs/iomap/direct-io.o
  CC      crypto/cipher.o
  CC      drivers/video/nomodeset.o
  CC      kernel/locking/qspinlock.o
  CC      drivers/video/hdmi.o
  AR      arch/x86/events/amd/built-in.a
  CC      fs/sysfs/mount.o
  CC      net/netfilter/nf_sockopt.o
  CC      lib/crypto/mpi/generic_mpih-sub1.o
  AR      drivers/pci/pcie/built-in.a
  AS      arch/x86/platform/efi/efi_stub_32.o
  CC      security/keys/permission.o
  CC      arch/x86/platform/efi/runtime-map.o
  CC      security/keys/process_keys.o
  CC      lib/crypto/arc4.o
  CC      fs/notify/group.o
  CC      security/lsm_syscalls.o
  CC      sound/core/seq/seq_fifo.o
  AR      drivers/pci/hotplug/built-in.a
  AR      drivers/pci/switch/built-in.a
  CC      crypto/asymmetric_keys/pkcs7_verify.o
  CC      drivers/pci/access.o
  CC      net/netfilter/utils.o
  CC      net/core/datagram.o
  CC      fs/quota/netlink.o
  CC      fs/notify/mark.o
  CC      crypto/compress.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/kernel/cpu/mce/amd.o
  CC      kernel/locking/rtmutex_api.o
  CC      net/core/stream.o
  CC      net/netlink/genetlink.o
  CC      mm/maccess.o
  CC      fs/proc/generic.o
  CC      io_uring/xattr.o
  CC      arch/x86/entry/common.o
  CC      lib/crypto/mpi/generic_mpih-add1.o
  CC      ipc/syscall.o
  CC      crypto/asymmetric_keys/x509.asn1.o
  CC      fs/sysfs/group.o
  CC      crypto/asymmetric_keys/x509_akid.asn1.o
  CC      net/ethtool/strset.o
  CC      crypto/asymmetric_keys/x509_cert_parser.o
  CC      fs/iomap/fiemap.o
  AS      arch/x86/lib/msr-reg.o
  CC      lib/crypto/gf128mul.o
  CC      arch/x86/lib/msr-reg-export.o
  CC      fs/kernfs/file.o
  AR      drivers/video/built-in.a
  CC      security/keys/request_key.o
  CC      sound/core/seq/seq_prioq.o
  CC      fs/kernfs/symlink.o
  CC      fs/notify/fdinfo.o
  CC      arch/x86/pci/common.o
  AR      arch/x86/platform/efi/built-in.a
  AR      arch/x86/platform/iris/built-in.a
  CC      arch/x86/platform/intel/iosf_mbi.o
  CC      net/ipv4/netfilter/ip_tables.o
  CC      net/sched/sch_blackhole.o
  AS      arch/x86/lib/hweight.o
  CC      net/netlink/policy.o
  CC      arch/x86/events/intel/ds.o
  CC      arch/x86/lib/iomem.o
  CC      net/netfilter/nfnetlink.o
  CC      sound/core/seq/seq_timer.o
  CC      net/ipv4/netfilter/iptable_filter.o
  CC      arch/x86/events/intel/knc.o
  CC      net/ipv4/netfilter/iptable_mangle.o
  CC      drivers/pci/bus.o
  CC      arch/x86/mm/ioremap.o
  CC      arch/x86/mm/extable.o
  AR      fs/quota/built-in.a
  CC      net/xfrm/xfrm_policy.o
  CC      fs/iomap/seek.o
  CC      net/unix/af_unix.o
  CC      lib/crypto/mpi/ec.o
  CC      mm/page-writeback.o
  CC      security/keys/request_key_auth.o
  CC      crypto/asymmetric_keys/pkcs7.asn1.o
  CC      crypto/asymmetric_keys/pkcs7_parser.o
  AR      fs/sysfs/built-in.a
  CC      security/keys/user_defined.o
  CC      net/ipv4/inetpeer.o
  CC      ipc/ipc_sysctl.o
  CC      security/selinux/selinuxfs.o
  CC      fs/proc/array.o
  AS      arch/x86/entry/thunk_32.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  CC      net/ipv4/protocol.o
  CC      arch/x86/lib/atomic64_32.o
  CC      kernel/locking/qrwlock.o
  CC      net/ipv4/ip_input.o
  AR      arch/x86/entry/built-in.a
  CC      fs/proc/fd.o
  AR      fs/notify/built-in.a
  CC      drivers/pci/probe.o
  CC      sound/core/init.o
  CC      net/xfrm/xfrm_state.o
  CC      arch/x86/lib/inat.o
  CC      io_uring/nop.o
  CC      sound/core/seq/seq_system.o
  CC      arch/x86/events/intel/lbr.o
  AR      arch/x86/lib/built-in.a
  AR      arch/x86/platform/intel/built-in.a
  CC      arch/x86/pci/early.o
  AR      arch/x86/lib/lib.a
  AR      arch/x86/platform/intel-mid/built-in.a
  CC      security/min_addr.o
  CC      lib/crypto/mpi/mpicoder.o
  AR      arch/x86/platform/intel-quark/built-in.a
  CC      block/blk-sysfs.o
  AR      arch/x86/platform/olpc/built-in.a
  AR      arch/x86/platform/scx200/built-in.a
  AR      arch/x86/platform/ts5500/built-in.a
  AR      arch/x86/platform/uv/built-in.a
  CC      net/ethtool/linkinfo.o
  AR      arch/x86/platform/built-in.a
  CC      sound/core/seq/seq_ports.o
  AR      fs/kernfs/built-in.a
  CC      sound/core/seq/seq_info.o
  CC      security/keys/proc.o
  CC      net/sched/cls_api.o
  AR      crypto/asymmetric_keys/built-in.a
  CC      crypto/algapi.o
  CC      ipc/mqueue.o
  AR      kernel/locking/built-in.a
  CC      net/xfrm/xfrm_hash.o
  CC      ipc/namespace.o
  CC      kernel/power/qos.o
  CC      net/core/scm.o
  CC      net/sched/act_api.o
  CC      net/sched/sch_fifo.o
  CC      net/sched/cls_cgroup.o
  CC      kernel/power/main.o
  CC      fs/iomap/swapfile.o
  CC      drivers/pci/host-bridge.o
  CC      arch/x86/mm/mmap.o
  CC      arch/x86/kernel/cpu/mce/threshold.o
  CC      security/selinux/netlink.o
  CC      kernel/printk/printk.o
  AR      net/netlink/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/amd.o
  CC      kernel/printk/printk_safe.o
  CC      net/ipv6/netfilter/ip6_tables.o
  CC      net/netfilter/nfnetlink_log.o
  CC      net/ipv6/af_inet6.o
  CC      arch/x86/pci/bus_numa.o
  CC      net/packet/af_packet.o
  CC      net/netfilter/nf_conntrack_core.o
  AR      net/dsa/built-in.a
  CC      io_uring/fs.o
  CC      net/sunrpc/auth_gss/auth_gss.o
  AR      net/wireless/tests/built-in.a
  CC      io_uring/splice.o
  CC      net/wireless/core.o
  CC      fs/proc/proc_tty.o
  CC      net/ipv4/netfilter/ipt_REJECT.o
  CC      net/wireless/sysfs.o
  CC      net/sunrpc/auth_gss/gss_generic_token.o
  CC      security/keys/sysctl.o
  CC      net/sunrpc/auth_gss/gss_mech_switch.o
  CC      lib/crypto/mpi/mpi-add.o
  CC      sound/core/seq/seq_dummy.o
  CC      net/sunrpc/auth_gss/svcauth_gss.o
  CC      kernel/sched/build_policy.o
  CC      arch/x86/mm/pgtable.o
  CC      arch/x86/kernel/cpu/mtrr/cyrix.o
  CC      kernel/sched/build_utility.o
  CC      block/blk-flush.o
  CC      net/ethtool/linkmodes.o
  AR      fs/iomap/built-in.a
  CC      arch/x86/events/intel/p4.o
  CC      fs/devpts/inode.o
  CC      net/ethtool/rss.o
  CC      net/sched/ematch.o
  CC      arch/x86/kernel/cpu/microcode/core.o
  CC      arch/x86/pci/amd_bus.o
  CC      arch/x86/kernel/acpi/boot.o
  CC      security/keys/keyctl_pkey.o
  CC      arch/x86/mm/physaddr.o
  CC      crypto/scatterwalk.o
  CC      drivers/pci/remove.o
  CC      fs/proc/cmdline.o
  CC      kernel/power/console.o
  CC      arch/x86/kernel/cpu/cacheinfo.o
  CC      security/selinux/nlmsgtab.o
  AR      sound/isa/ad1816a/built-in.a
  AR      sound/isa/ad1848/built-in.a
  CC      lib/crypto/mpi/mpi-bit.o
  AR      sound/core/seq/built-in.a
  AR      sound/isa/cs423x/built-in.a
  CC      sound/core/memory.o
  CC      mm/folio-compat.o
  AR      sound/isa/es1688/built-in.a
  AR      sound/isa/galaxy/built-in.a
  AR      sound/pci/ac97/built-in.a
  AR      arch/x86/kernel/cpu/mce/built-in.a
  AR      sound/isa/gus/built-in.a
  AR      sound/pci/ali5451/built-in.a
  AR      sound/pci/asihpi/built-in.a
  AR      sound/isa/msnd/built-in.a
  AR      sound/isa/opti9xx/built-in.a
  AR      sound/pci/au88x0/built-in.a
  CC      arch/x86/kernel/cpu/scattered.o
  CC      arch/x86/kernel/cpu/mtrr/centaur.o
  AR      sound/isa/sb/built-in.a
  AR      sound/pci/aw2/built-in.a
  AR      sound/isa/wavefront/built-in.a
  CC      arch/x86/kernel/cpu/mtrr/legacy.o
  AR      sound/pci/ctxfi/built-in.a
  AR      sound/isa/wss/built-in.a
  AR      sound/isa/built-in.a
  AR      sound/pci/ca0106/built-in.a
  AR      sound/pci/cs46xx/built-in.a
  CC      io_uring/sync.o
  AR      sound/pci/cs5535audio/built-in.a
  AR      sound/pci/lola/built-in.a
  CC      sound/core/control.o
  CC      ipc/mq_sysctl.o
  AR      drivers/idle/built-in.a
  AR      sound/pci/lx6464es/built-in.a
  CC [M]  net/ipv4/netfilter/iptable_nat.o
  AR      drivers/char/ipmi/built-in.a
  AR      sound/pci/echoaudio/built-in.a
  CC      net/core/gen_stats.o
  CC      fs/proc/consoles.o
  AR      fs/devpts/built-in.a
  CC      lib/zlib_inflate/inffast.o
  AR      sound/pci/emu10k1/built-in.a
  CC      arch/x86/mm/tlb.o
  CC      lib/zlib_inflate/inflate.o
  CC      net/unix/garbage.o
  AR      sound/pci/hda/built-in.a
  CC [M]  sound/pci/hda/hda_bind.o
  CC      block/blk-settings.o
  AR      security/keys/built-in.a
  CC      arch/x86/kernel/cpu/microcode/intel.o
  CC      fs/netfs/buffered_read.o
  CC      arch/x86/kernel/cpu/microcode/amd.o
  CC      security/security.o
  CC      crypto/proc.o
  AR      sound/pci/ice1712/built-in.a
  AR      arch/x86/pci/built-in.a
  CC      arch/x86/kernel/cpu/topology_common.o
  CC      drivers/pci/pci.o
  CC      net/unix/sysctl_net_unix.o
  CC      net/sunrpc/clnt.o
  CC      arch/x86/events/intel/p6.o
  CC      net/wireless/radiotap.o
  CC      net/ethtool/linkstate.o
  CC      kernel/power/process.o
  CC [M]  sound/pci/hda/hda_codec.o
  CC      lib/crypto/mpi/mpi-cmp.o
  AR      ipc/built-in.a
  CC      kernel/power/suspend.o
  AR      arch/x86/kernel/cpu/mtrr/built-in.a
  CC      net/ethtool/debug.o
  CC      net/ipv6/netfilter/ip6table_filter.o
  CC      net/ipv6/netfilter/ip6table_mangle.o
  CC      kernel/irq/irqdesc.o
  CC      net/ipv4/ip_fragment.o
  CC      mm/readahead.o
  CC      kernel/irq/handle.o
  CC      kernel/printk/nbcon.o
  CC      fs/proc/cpuinfo.o
  CC      arch/x86/kernel/acpi/sleep.o
  CC      security/selinux/netif.o
  CC      lib/zlib_inflate/infutil.o
  CC      arch/x86/kernel/cpu/topology_ext.o
  CC      net/xfrm/xfrm_input.o
  CC      crypto/aead.o
  CC      net/wireless/util.o
  CC      net/ipv4/ip_forward.o
  CC      io_uring/advise.o
  AR      net/sched/built-in.a
  CC      net/ipv6/anycast.o
  CC      io_uring/filetable.o
  CC      lib/crypto/mpi/mpi-sub-ui.o
  AR      arch/x86/kernel/cpu/microcode/built-in.a
  CC      kernel/irq/manage.o
  CC      lib/zlib_inflate/inftrees.o
  CC      arch/x86/events/intel/pt.o
  CC      lib/zlib_inflate/inflate_syms.o
  CC      kernel/printk/printk_ringbuffer.o
  CC      net/netfilter/nf_conntrack_standalone.o
  CC      net/netfilter/nf_conntrack_expect.o
  CC      net/sunrpc/auth_gss/gss_rpc_upcall.o
  CC      arch/x86/mm/cpu_entry_area.o
  AR      net/ipv4/netfilter/built-in.a
  CC      block/blk-ioc.o
  CC      net/core/gen_estimator.o
  CC      net/sunrpc/auth_gss/gss_rpc_xdr.o
  CC      net/netfilter/nf_conntrack_helper.o
  CC      kernel/printk/sysctl.o
  CC      net/sunrpc/xprt.o
  CC      fs/proc/devices.o
  AR      net/unix/built-in.a
  CC      lib/crypto/mpi/mpi-div.o
  CC      arch/x86/kernel/cpu/topology_amd.o
  CC      net/netfilter/nf_conntrack_proto.o
  CC      drivers/acpi/acpica/dsargs.o
  CC      fs/netfs/buffered_write.o
  CC      sound/core/misc.o
  CC      net/ethtool/wol.o
  AR      drivers/acpi/pmic/built-in.a
  CC [M]  sound/pci/hda/hda_jack.o
  CC      fs/proc/interrupts.o
  AR      lib/zlib_inflate/built-in.a
  AS      arch/x86/kernel/acpi/wakeup_32.o
  CC      arch/x86/kernel/acpi/cstate.o
  CC [M]  sound/pci/hda/hda_auto_parser.o
  CC      arch/x86/mm/maccess.o
  CC      mm/swap.o
  CC      net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
  CC      lib/crypto/mpi/mpi-inv.o
  CC      kernel/power/hibernate.o
  CC      net/ipv6/netfilter/nf_conntrack_reasm.o
  AR      kernel/printk/built-in.a
  CC      kernel/rcu/update.o
  CC      crypto/geniv.o
  CC      arch/x86/kernel/cpu/common.o
  CC      drivers/acpi/acpica/dscontrol.o
  CC      kernel/rcu/sync.o
  CC      net/wireless/reg.o
  CC      arch/x86/kernel/cpu/rdrand.o
  CC      arch/x86/mm/pgprot.o
  CC      io_uring/openclose.o
  AR      net/packet/built-in.a
  CC      fs/proc/loadavg.o
  CC      crypto/lskcipher.o
  CC      net/ipv6/ip6_output.o
  CC      net/ipv6/ip6_input.o
  CC      net/ipv6/netfilter/nf_reject_ipv6.o
  CC      lib/crypto/blake2s.o
  CC      security/selinux/netnode.o
  CC      mm/truncate.o
  CC      block/blk-map.o
  CC      sound/core/device.o
  AR      arch/x86/kernel/acpi/built-in.a
  CC      drivers/pci/pci-driver.o
  CC      drivers/acpi/acpica/dsdebug.o
  CC      net/core/net_namespace.o
  CC      net/netfilter/nf_conntrack_proto_generic.o
  CC      net/sunrpc/auth_gss/trace.o
  CC      lib/crypto/mpi/mpi-mod.o
  CC      net/ipv4/ip_options.o
  AR      sound/ppc/built-in.a
  CC      net/ipv6/addrconf.o
  CC      security/selinux/netport.o
  CC      arch/x86/events/intel/uncore.o
  CC      net/ethtool/features.o
  CC      arch/x86/mm/pgtable_32.o
  AR      sound/pci/korg1212/built-in.a
  CC      arch/x86/mm/iomap_32.o
  CC      sound/core/info.o
  CC [M]  sound/pci/hda/hda_sysfs.o
  CC      sound/core/isadma.o
  CC      net/xfrm/xfrm_output.o
  CC      kernel/irq/spurious.o
  CC      fs/proc/meminfo.o
  CC      drivers/acpi/acpica/dsfield.o
  CC      sound/core/vmaster.o
  CC      net/core/secure_seq.o
  CC      security/selinux/status.o
  CC      net/ipv6/netfilter/ip6t_ipv6header.o
  CC      net/ethtool/privflags.o
  CC      net/netfilter/nf_conntrack_proto_tcp.o
  AR      sound/pci/mixart/built-in.a
  CC      io_uring/uring_cmd.o
  AR      sound/pci/nm256/built-in.a
  CC      sound/core/ctljack.o
  AR      sound/pci/oxygen/built-in.a
  CC      sound/core/jack.o
  CC      net/netfilter/nf_conntrack_proto_udp.o
  CC      lib/crypto/mpi/mpi-mul.o
  AR      sound/pci/pcxhr/built-in.a
  CC      crypto/skcipher.o
  CC      net/netfilter/nf_conntrack_proto_icmp.o
  CC      fs/netfs/direct_read.o
  CC      arch/x86/kernel/apic/apic.o
  CC      drivers/acpi/acpica/dsinit.o
  CC      kernel/irq/resend.o
  CC      arch/x86/kernel/apic/apic_common.o
  CC      arch/x86/kernel/cpu/match.o
  CC      arch/x86/mm/hugetlbpage.o
  CC      kernel/power/snapshot.o
  CC      mm/vmscan.o
  CC      lib/zlib_deflate/deflate.o
  CC      block/blk-merge.o
  AR      kernel/sched/built-in.a
  CC      arch/x86/kernel/apic/apic_noop.o
  CC [M]  sound/pci/hda/hda_controller.o
  CC      net/ipv6/netfilter/ip6t_REJECT.o
  CC      sound/core/timer.o
  CC      fs/proc/stat.o
  CC      kernel/power/swap.o
  CC      drivers/acpi/acpica/dsmethod.o
  CC      mm/shrinker.o
  CC      net/netfilter/nf_conntrack_extend.o
  CC      arch/x86/kernel/kprobes/core.o
  LDS     arch/x86/kernel/vmlinux.lds
  AS      arch/x86/kernel/head_32.o
  CC      fs/ext4/balloc.o
  CC      net/core/flow_dissector.o
  CC      drivers/pci/search.o
  CC      arch/x86/kernel/apic/ipi.o
  CC      arch/x86/kernel/cpu/bugs.o
  CC      kernel/irq/chip.o
  CC      fs/jbd2/transaction.o
  CC      lib/crypto/mpi/mpih-cmp.o
  CC      net/ipv4/ip_output.o
  CC      fs/jbd2/commit.o
  CC      kernel/irq/dummychip.o
  CC      arch/x86/events/intel/uncore_nhmex.o
  CC      arch/x86/kernel/head32.o
  CC      net/ethtool/rings.o
  CC      security/selinux/ss/ebitmap.o
  CC      drivers/acpi/acpica/dsmthdat.o
  CC      net/netfilter/nf_conntrack_acct.o
  CC      arch/x86/mm/dump_pagetables.o
  CC      arch/x86/kernel/apic/vector.o
  CC      fs/netfs/direct_write.o
  CC      fs/proc/uptime.o
  CC      arch/x86/kernel/apic/init.o
  CC      net/wireless/scan.o
  CC      net/xfrm/xfrm_sysctl.o
  CC      kernel/rcu/srcutree.o
  CC      lib/zlib_deflate/deftree.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      lib/crypto/mpi/mpih-div.o
  CC      crypto/seqiv.o
  CC      fs/netfs/io.o
  CC      io_uring/epoll.o
  CC      kernel/irq/devres.o
  CC      net/core/sysctl_net_core.o
  CC      drivers/acpi/acpica/dsobject.o
  CC      drivers/acpi/acpica/dsopcode.o
  CC      drivers/pci/rom.o
  CC [M]  sound/pci/hda/hda_proc.o
  CC      arch/x86/events/intel/uncore_snb.o
  CC      arch/x86/kernel/kprobes/opt.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      fs/proc/util.o
  AR      net/ipv6/netfilter/built-in.a
  CC      block/blk-timeout.o
  CC      kernel/irq/autoprobe.o
  AR      kernel/livepatch/built-in.a
  CC      kernel/irq/irqdomain.o
  CC      net/sunrpc/auth_gss/gss_krb5_mech.o
  CC      lib/zlib_deflate/deflate_syms.o
  CC      arch/x86/mm/highmem_32.o
  CC      net/sunrpc/auth_gss/gss_krb5_seal.o
  CC      kernel/power/user.o
  CC [M]  sound/pci/hda/hda_hwdep.o
  CC      net/netfilter/nf_conntrack_seqadj.o
  CC      sound/core/hrtimer.o
  CC      kernel/irq/proc.o
  CC      net/sunrpc/auth_gss/gss_krb5_unseal.o
  CC      drivers/acpi/acpica/dspkginit.o
  CC      fs/proc/version.o
  CC      security/lsm_audit.o
  CC      drivers/pci/setup-res.o
  CC      net/ethtool/channels.o
  CC      kernel/dma/mapping.o
  CC      crypto/echainiv.o
  CC      kernel/dma/direct.o
  CC      security/selinux/ss/hashtab.o
  CC      net/ethtool/coalesce.o
  CC      arch/x86/kernel/apic/msi.o
  AR      lib/zlib_deflate/built-in.a
  CC      net/ipv6/addrlabel.o
  CC      security/selinux/ss/symtab.o
  CC      lib/crypto/mpi/mpih-mul.o
  CC      kernel/entry/common.o
  CC      arch/x86/kernel/cpu/aperfmperf.o
  CC      kernel/module/main.o
  CC      net/netfilter/nf_conntrack_proto_icmpv6.o
  CC      io_uring/statx.o
  CC      drivers/pnp/pnpacpi/core.o
  CC      net/xfrm/xfrm_replay.o
  CC      sound/core/seq_device.o
  CC      fs/jbd2/recovery.o
  CC      drivers/acpi/acpica/dsutils.o
  CC      block/blk-lib.o
  CC      kernel/rcu/tree.o
  CC      block/blk-mq.o
  CC      fs/proc/softirqs.o
  AR      arch/x86/mm/built-in.a
  AR      arch/x86/kernel/kprobes/built-in.a
  CC      net/ipv6/route.o
  CC      arch/x86/kernel/ebda.o
  CC      security/selinux/ss/sidtab.o
  CC      arch/x86/events/intel/uncore_snbep.o
  CC      net/ipv6/ip6_fib.o
  CC      drivers/acpi/acpica/dswexec.o
  CC      security/selinux/ss/avtab.o
  CC      fs/netfs/iterator.o
  CC      lib/crypto/mpi/mpi-pow.o
  CC      net/sunrpc/auth_gss/gss_krb5_wrap.o
  CC      kernel/power/poweroff.o
  CC [M]  sound/pci/hda/patch_hdmi.o
  CC [M]  sound/pci/hda/hda_eld.o
  AR      net/mac80211/tests/built-in.a
  CC      crypto/ahash.o
  CC      net/mac80211/main.o
  CC      drivers/pci/irq.o
  CC      net/core/dev.o
  CC      kernel/irq/migration.o
  CC      net/mac80211/status.o
  CC      drivers/pnp/pnpacpi/rsparser.o
  CC      io_uring/net.o
  AR      kernel/power/built-in.a
  CC      crypto/shash.o
  CC      arch/x86/kernel/cpu/cpuid-deps.o
  CC      net/ipv6/ipv6_sockglue.o
  CC      fs/ext4/bitmap.o
  CC      fs/proc/namespaces.o
  CC [M]  sound/core/hwdep.o
  CC      fs/ext4/block_validity.o
  CC      kernel/dma/ops_helpers.o
  CC      net/ipv4/ip_sockglue.o
  CC      drivers/acpi/acpica/dswload.o
  CC      kernel/rcu/rcu_segcblist.o
  CC      kernel/entry/syscall_user_dispatch.o
  CC      net/sunrpc/auth_gss/gss_krb5_crypto.o
  CC      fs/netfs/locking.o
  CC      fs/ext4/dir.o
  CC      net/ipv6/ndisc.o
  CC      net/ethtool/pause.o
  CC      mm/shmem.o
  CC      kernel/module/strict_rwx.o
  CC      kernel/time/time.o
  CC      arch/x86/kernel/apic/probe_32.o
  CC      arch/x86/kernel/cpu/umwait.o
  CC      kernel/irq/cpuhotplug.o
  CC      lib/crypto/mpi/mpiutil.o
  CC      kernel/time/timer.o
  CC      drivers/pci/vpd.o
  CC      fs/jbd2/checkpoint.o
  CC      net/ipv6/udp.o
  CC      net/wireless/nl80211.o
  CC      drivers/acpi/acpica/dswload2.o
  CC      net/netfilter/nf_conntrack_netlink.o
  CC      net/xfrm/xfrm_device.o
  CC      block/blk-mq-tag.o
  CC      drivers/pci/setup-bus.o
  CC      net/sunrpc/auth_gss/gss_krb5_keys.o
  CC      kernel/dma/dummy.o
  AR      kernel/entry/built-in.a
  CC [M]  sound/core/pcm.o
  CC      kernel/futex/core.o
  CC      fs/proc/self.o
  CC      net/xfrm/xfrm_algo.o
  CC      kernel/trace/trace_clock.o
  CC      kernel/cgroup/cgroup.o
  CC      security/selinux/ss/policydb.o
  AR      drivers/pnp/pnpacpi/built-in.a
  AR      arch/x86/kernel/apic/built-in.a
  CC      drivers/pnp/core.o
  CC [M]  sound/pci/hda/hda_intel.o
  CC      crypto/akcipher.o
  CC      fs/netfs/main.o
  CC      arch/x86/kernel/platform-quirks.o
  CC      drivers/acpi/acpica/dswscope.o
  AR      lib/crypto/mpi/built-in.a
  CC      fs/netfs/misc.o
  CC      lib/crypto/blake2s-generic.o
  MKCAP   arch/x86/kernel/cpu/capflags.c
  CC      kernel/irq/pm.o
  CC      security/selinux/ss/services.o
  CC      kernel/trace/ring_buffer.o
  CC      fs/ext4/ext4_jbd2.o
  CC      net/ethtool/eee.o
  CC      net/mac80211/driver-ops.o
  CC      kernel/dma/remap.o
  CC      kernel/module/kmod.o
  CC      fs/proc/thread_self.o
  CC      kernel/module/tree_lookup.o
  AR      drivers/amba/built-in.a
  CC      kernel/module/kallsyms.o
  CC      drivers/acpi/acpica/dswstate.o
  CC      lib/lzo/lzo1x_compress.o
  CC      drivers/pnp/card.o
  AR      net/sunrpc/auth_gss/built-in.a
  CC      net/sunrpc/socklib.o
  CC      lib/crypto/sha1.o
  CC      lib/lzo/lzo1x_decompress_safe.o
  CC      fs/jbd2/revoke.o
  CC      kernel/futex/syscalls.o
  CC      kernel/module/procfs.o
  CC      kernel/module/sysfs.o
  CC [M]  sound/core/pcm_native.o
  CC      arch/x86/events/intel/uncore_discovery.o
  CC      io_uring/msg_ring.o
  CC      crypto/sig.o
  CC      kernel/irq/msi.o
  CC      drivers/acpi/acpica/evevent.o
  CC      fs/proc/proc_sysctl.o
  CC      net/ipv4/inet_hashtables.o
  AR      kernel/dma/built-in.a
  CC      crypto/kpp.o
  CC      net/xfrm/xfrm_user.o
  CC      arch/x86/events/intel/cstate.o
  CC      security/device_cgroup.o
  CC      lib/crypto/sha256.o
  CC      net/netlabel/netlabel_user.o
  CC      fs/netfs/objects.o
  AR      lib/lzo/built-in.a
  CC      arch/x86/kernel/process_32.o
  CC      fs/ext4/extents.o
  CC      drivers/acpi/dptf/int340x_thermal.o
  CC      drivers/acpi/tables.o
  CC      drivers/pci/vc.o
  CC      drivers/pnp/driver.o
  CC      drivers/acpi/acpica/evgpe.o
  CC      net/ethtool/tsinfo.o
  CC      fs/proc/proc_net.o
  CC      net/netlabel/netlabel_kapi.o
  CC      net/ipv4/inet_timewait_sock.o
  LD [M]  sound/pci/hda/snd-hda-codec.o
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.o
  LD [M]  sound/pci/hda/snd-hda-intel.o
  CC      kernel/time/hrtimer.o
  AR      sound/pci/riptide/built-in.a
  AR      sound/pci/rme9652/built-in.a
  AR      kernel/module/built-in.a
  AR      sound/pci/trident/built-in.a
  CC      kernel/bpf/core.o
  AR      sound/pci/ymfpci/built-in.a
  AR      sound/pci/vx222/built-in.a
  AR      sound/pci/built-in.a
  CC      net/ipv6/udplite.o
  CC      fs/jbd2/journal.o
  CC      mm/util.o
  CC      net/netlabel/netlabel_domainhash.o
  CC      net/sunrpc/xprtsock.o
  CC      kernel/futex/pi.o
  AR      lib/crypto/built-in.a
  AR      drivers/acpi/dptf/built-in.a
  CC      drivers/pnp/resource.o
  CC      lib/lz4/lz4_decompress.o
  CC      net/netfilter/nf_conntrack_ftp.o
  CC      drivers/acpi/acpica/evgpeblk.o
  CC      drivers/pnp/manager.o
  ASN.1   crypto/rsapubkey.asn1.[ch]
  ASN.1   crypto/rsaprivkey.asn1.[ch]
  CC      drivers/acpi/acpica/evgpeinit.o
  CC      crypto/rsa.o
  CC      io_uring/timeout.o
  CC      net/mac80211/sta_info.o
  CC      block/blk-stat.o
  CC      drivers/acpi/acpica/evgpeutil.o
  AR      arch/x86/events/intel/built-in.a
  CC      arch/x86/events/zhaoxin/core.o
  CC      fs/netfs/output.o
  CC      drivers/pci/mmap.o
  CC      arch/x86/kernel/signal.o
  CC      kernel/irq/affinity.o
  CC      net/rfkill/core.o
  CC      net/wireless/mlme.o
  CC      security/selinux/ss/conditional.o
  CC      arch/x86/events/core.o
  CC      io_uring/sqpoll.o
  CC      net/ipv4/inet_connection_sock.o
  CC      net/ipv4/tcp.o
  CC      drivers/acpi/acpica/evglock.o
  CC      net/ethtool/cabletest.o
  CC      security/selinux/ss/mls.o
  CC      net/netfilter/nf_conntrack_irc.o
  CC      drivers/pnp/support.o
  CC      kernel/futex/requeue.o
  AR      kernel/rcu/built-in.a
  CC      mm/mmzone.o
  CC      fs/proc/kcore.o
  CC      crypto/rsa_helper.o
  CC      crypto/rsa-pkcs1pad.o
  CC      kernel/trace/trace.o
  AR      sound/arm/built-in.a
  CC      kernel/irq/matrix.o
  CC      drivers/acpi/acpica/evhandler.o
  CC      net/core/dev_addr_lists.o
  CC      net/ipv6/raw.o
  CC      net/sunrpc/sched.o
  CC      drivers/pnp/interface.o
  CC      fs/proc/vmcore.o
  CC      block/blk-mq-sysfs.o
  CC      drivers/pci/devres.o
  CC      mm/vmstat.o
  CC      drivers/pnp/quirks.o
  AR      arch/x86/events/zhaoxin/built-in.a
  CC      net/netfilter/nf_conntrack_sip.o
  CC      net/netlabel/netlabel_addrlist.o
  CC      net/netfilter/nf_nat_core.o
  AR      lib/lz4/built-in.a
  CC      drivers/pnp/system.o
  CC      lib/zstd/zstd_decompress_module.o
  CC      kernel/time/timekeeping.o
  CC      kernel/trace/trace_output.o
  CC      kernel/trace/trace_seq.o
  CC      kernel/trace/trace_stat.o
  CC      drivers/acpi/acpica/evmisc.o
  AR      fs/netfs/built-in.a
  CC      net/rfkill/input.o
  CC      kernel/trace/trace_printk.o
  CC      kernel/futex/waitwake.o
  CC      net/netfilter/nf_nat_proto.o
  CC [M]  sound/core/pcm_lib.o
  CC      crypto/acompress.o
  CC      net/netfilter/nf_nat_helper.o
  CC      lib/zstd/decompress/huf_decompress.o
  CC      net/ethtool/tunnels.o
  CC      drivers/acpi/acpica/evregion.o
  CC      arch/x86/kernel/signal_32.o
  CC      net/ipv4/tcp_input.o
  CC      fs/proc/kmsg.o
  CC      drivers/acpi/acpica/evrgnini.o
  AR      net/xfrm/built-in.a
  CC      security/selinux/ss/context.o
  CC      net/9p/mod.o
  CC      drivers/pci/proc.o
  CC      block/blk-mq-cpumap.o
  CC      block/blk-mq-sched.o
  CC      kernel/cgroup/rstat.o
  AR      drivers/pnp/built-in.a
  CC      kernel/trace/pid_list.o
  CC      fs/proc/page.o
  AR      net/rfkill/built-in.a
  CC      net/dns_resolver/dns_key.o
  CC      drivers/acpi/acpica/evsci.o
  CC      net/ethtool/fec.o
  CC      io_uring/fdinfo.o
  CC      drivers/pci/pci-sysfs.o
  CC      lib/zstd/decompress/zstd_ddict.o
  CC      kernel/trace/trace_sched_switch.o
  AR      kernel/futex/built-in.a
  CC      lib/zstd/decompress/zstd_decompress.o
  CC      net/dns_resolver/dns_query.o
  CC      net/9p/client.o
  AR      kernel/irq/built-in.a
  CC      kernel/events/core.o
  CC      net/netlabel/netlabel_mgmt.o
  CC      kernel/events/ring_buffer.o
  CC      block/ioctl.o
  CC      mm/backing-dev.o
  CC      drivers/acpi/acpica/evxface.o
  CC      arch/x86/events/probe.o
  AR      kernel/bpf/built-in.a
  CC      kernel/events/callchain.o
  CC      crypto/scompress.o
  AR      fs/jbd2/built-in.a
  CC      drivers/pci/slot.o
  CC      net/ipv4/tcp_output.o
  CC      drivers/pci/pci-acpi.o
  CC      drivers/pci/iomap.o
  CC      drivers/pci/quirks.o
  AR      fs/proc/built-in.a
  CC      kernel/time/ntp.o
  CC      net/ipv6/icmp.o
  CC      security/selinux/netlabel.o
  CC      drivers/dma/dw/core.o
  AR      drivers/clk/actions/built-in.a
  AR      drivers/clk/analogbits/built-in.a
  CC      kernel/cgroup/namespace.o
  AR      drivers/clk/bcm/built-in.a
  AR      drivers/clk/imgtec/built-in.a
  CC      arch/x86/events/utils.o
  AR      drivers/clk/imx/built-in.a
  CC      kernel/cgroup/cgroup-v1.o
  AR      drivers/clk/ingenic/built-in.a
  CC      kernel/cgroup/freezer.o
  CC      drivers/dma/dw/dw.o
  AR      drivers/clk/mediatek/built-in.a
  AR      drivers/clk/microchip/built-in.a
  AR      drivers/clk/mstar/built-in.a
  CC      kernel/time/clocksource.o
  AR      drivers/clk/mvebu/built-in.a
  CC      arch/x86/events/rapl.o
  AR      drivers/clk/ralink/built-in.a
  AR      drivers/clk/renesas/built-in.a
  AR      net/dns_resolver/built-in.a
  AR      drivers/clk/socfpga/built-in.a
  CC      arch/x86/events/msr.o
  CC      drivers/acpi/acpica/evxfevnt.o
  AR      drivers/clk/sprd/built-in.a
  AR      drivers/clk/starfive/built-in.a
  CC      net/sunrpc/auth.o
  AR      drivers/clk/sunxi-ng/built-in.a
  CC      lib/zstd/decompress/zstd_decompress_block.o
  CC      drivers/pci/pci-label.o
  AR      drivers/clk/ti/built-in.a
  AR      drivers/clk/versatile/built-in.a
  AR      drivers/clk/xilinx/built-in.a
  CC      drivers/pci/vgaarb.o
  CC      net/netfilter/nf_nat_masquerade.o
  AR      drivers/clk/built-in.a
  CC      net/ethtool/eeprom.o
  CC      io_uring/tctx.o
  CC      kernel/cgroup/legacy_freezer.o
  CC [M]  sound/core/pcm_misc.o
  CC [M]  sound/core/pcm_memory.o
  CC [M]  sound/core/memalloc.o
  CC      net/netfilter/nf_nat_ftp.o
  CC      block/genhd.o
  CC      crypto/algboss.o
  CC      drivers/acpi/acpica/evxfgpe.o
  CC      arch/x86/kernel/traps.o
  CC      net/ipv4/tcp_timer.o
  CC      net/core/dst.o
  CC      net/core/netevent.o
  CC      drivers/dma/dw/idma32.o
  CC      mm/mm_init.o
  CC      drivers/dma/hsu/hsu.o
  AR      sound/sh/built-in.a
  CC      kernel/time/jiffies.o
  CC      kernel/trace/trace_nop.o
  CC      drivers/dma/dw/acpi.o
  CC      mm/percpu.o
  CC      net/netlabel/netlabel_unlabeled.o
  CC      kernel/cgroup/pids.o
  CC      kernel/cgroup/rdma.o
  CC      net/sunrpc/auth_null.o
  CC      fs/ext4/extents_status.o
  CC      mm/slab_common.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      drivers/acpi/acpica/evxfregn.o
  AR      arch/x86/events/built-in.a
  CC      net/core/neighbour.o
  CC      net/ipv4/tcp_ipv4.o
  CC      net/handshake/alert.o
  CC      net/ipv4/tcp_minisocks.o
  CC      net/9p/error.o
  CC      kernel/time/timer_list.o
  CC      net/handshake/genl.o
  AR      security/selinux/built-in.a
  AR      security/built-in.a
  CC      kernel/events/hw_breakpoint.o
  CC      net/netlabel/netlabel_cipso_v4.o
  CC      mm/compaction.o
  CC      net/ethtool/stats.o
  CC      io_uring/poll.o
  CC      mm/show_mem.o
  CC [M]  sound/core/pcm_timer.o
  LD [M]  sound/core/snd-hwdep.o
  AR      sound/core/built-in.a
  CC      mm/shmem_quota.o
  CC      kernel/events/uprobes.o
  CC      crypto/testmgr.o
  CC      drivers/acpi/acpica/exconcat.o
  CC      net/mac80211/wep.o
  CC      net/handshake/netlink.o
  AR      drivers/dma/dw/built-in.a
  CC      net/ipv6/mcast.o
  CC      mm/interval_tree.o
  CC      crypto/cmac.o
  AR      drivers/dma/hsu/built-in.a
  CC      kernel/trace/blktrace.o
  AR      drivers/dma/idxd/built-in.a
  CC      net/handshake/request.o
  AR      drivers/dma/mediatek/built-in.a
  AR      drivers/dma/qcom/built-in.a
  CC      net/9p/protocol.o
  CC      net/netfilter/nf_nat_irc.o
  AR      drivers/dma/ti/built-in.a
  CC      kernel/cgroup/cpuset.o
  AR      drivers/dma/xilinx/built-in.a
  CC      kernel/cgroup/misc.o
  CC      kernel/trace/trace_events.o
  CC      drivers/dma/dmaengine.o
  CC      arch/x86/kernel/cpu/feat_ctl.o
  CC      block/ioprio.o
  AR      drivers/pci/built-in.a
  AR      drivers/soc/apple/built-in.a
  CC      kernel/time/timeconv.o
  AR      drivers/soc/aspeed/built-in.a
  CC      drivers/acpi/acpica/exconfig.o
  AR      drivers/soc/bcm/built-in.a
  AR      drivers/soc/fsl/built-in.a
  CC      drivers/dma/virt-dma.o
  CC      net/core/rtnetlink.o
  AR      drivers/soc/fujitsu/built-in.a
  CC      net/core/utils.o
  AR      drivers/soc/hisilicon/built-in.a
  AR      drivers/soc/imx/built-in.a
  LD [M]  sound/core/snd-pcm.o
  AR      drivers/soc/ixp4xx/built-in.a
  CC      net/core/link_watch.o
  AR      drivers/soc/loongson/built-in.a
  AR      sound/synth/emux/built-in.a
  AR      sound/synth/built-in.a
  AR      drivers/soc/mediatek/built-in.a
  CC      drivers/virtio/virtio.o
  CC      crypto/hmac.o
  AR      drivers/soc/microchip/built-in.a
  AR      sound/usb/misc/built-in.a
  CC      drivers/virtio/virtio_ring.o
  AR      sound/usb/usx2y/built-in.a
  AR      drivers/soc/nuvoton/built-in.a
  AR      drivers/soc/pxa/built-in.a
  AR      sound/firewire/built-in.a
  AR      sound/usb/caiaq/built-in.a
  AR      drivers/soc/amlogic/built-in.a
  AR      sound/sparc/built-in.a
  AR      sound/usb/6fire/built-in.a
  CC      arch/x86/kernel/cpu/intel.o
  AR      sound/spi/built-in.a
  AR      drivers/soc/qcom/built-in.a
  CC      net/ipv4/tcp_cong.o
  AR      sound/usb/hiface/built-in.a
  AR      drivers/soc/renesas/built-in.a
  AR      sound/usb/bcd2000/built-in.a
  CC      mm/list_lru.o
  AR      drivers/soc/rockchip/built-in.a
  AR      sound/usb/built-in.a
  CC      lib/zstd/zstd_common_module.o
  AR      drivers/soc/sunxi/built-in.a
  AR      drivers/soc/ti/built-in.a
  AR      sound/parisc/built-in.a
  AR      drivers/soc/xilinx/built-in.a
  AR      drivers/soc/built-in.a
  AR      sound/pcmcia/vx/built-in.a
  CC      kernel/time/timecounter.o
  AR      sound/pcmcia/pdaudiocf/built-in.a
  AR      sound/pcmcia/built-in.a
  CC      drivers/virtio/virtio_anchor.o
  AR      sound/mips/built-in.a
  CC      block/badblocks.o
  AR      sound/soc/built-in.a
  CC      net/core/filter.o
  CC      drivers/acpi/acpica/exconvrt.o
  CC      kernel/time/alarmtimer.o
  AR      sound/atmel/built-in.a
  CC      net/core/sock_diag.o
  AR      sound/hda/built-in.a
  CC      kernel/time/posix-timers.o
  CC      kernel/time/posix-cpu-timers.o
  CC [M]  sound/hda/hda_bus_type.o
  CC      net/9p/trans_common.o
  CC      net/netlabel/netlabel_calipso.o
  CC      net/ethtool/phc_vclocks.o
  CC      lib/zstd/common/debug.o
  CC [M]  sound/hda/hdac_bus.o
  CC      lib/zstd/common/entropy_common.o
  CC      block/blk-rq-qos.o
  CC      net/core/dev_ioctl.o
  CC      kernel/time/posix-clock.o
  CC      net/sunrpc/auth_tls.o
  CC      net/netfilter/nf_nat_sip.o
  CC      net/mac80211/aead_api.o
  CC [M]  sound/hda/hdac_device.o
  CC      drivers/acpi/acpica/excreate.o
  CC      lib/zstd/common/error_private.o
  CC      crypto/crypto_null.o
  CC [M]  sound/hda/hdac_sysfs.o
  CC      lib/zstd/common/fse_decompress.o
  CC      net/ipv4/tcp_metrics.o
  CC      drivers/dma/acpi-dma.o
  CC      block/disk-events.o
  CC      io_uring/cancel.o
  CC      net/9p/trans_fd.o
  CC      net/wireless/ibss.o
  CC      fs/ramfs/inode.o
  CC      net/handshake/tlshd.o
  CC      lib/xz/xz_dec_syms.o
  CC      fs/ramfs/file-mmu.o
  CC      net/core/tso.o
  CC      net/core/sock_reuseport.o
  CC      net/ipv4/tcp_fastopen.o
  CC      drivers/acpi/acpica/exdebug.o
  CC      drivers/virtio/virtio_pci_modern_dev.o
  CC      net/9p/trans_virtio.o
  CC      arch/x86/kernel/cpu/intel_pconfig.o
  CC      net/mac80211/wpa.o
  CC      drivers/virtio/virtio_pci_legacy_dev.o
  CC      lib/zstd/common/zstd_common.o
  CC      arch/x86/kernel/cpu/tsx.o
  CC      lib/xz/xz_dec_stream.o
  CC      net/devres.o
  CC      mm/workingset.o
  CC      crypto/md5.o
  CC      fs/ext4/file.o
  AR      lib/zstd/built-in.a
  CC      kernel/time/itimer.o
  CC      net/socket.o
  CC      net/ethtool/mm.o
  CC      net/wireless/sme.o
  AR      net/netlabel/built-in.a
  CC      drivers/acpi/acpica/exdump.o
  CC      net/mac80211/scan.o
  CC      net/handshake/trace.o
  CC      kernel/trace/trace_export.o
  CC      lib/dim/dim.o
  CC [M]  sound/hda/hdac_regmap.o
  AR      drivers/dma/built-in.a
  CC      lib/fonts/fonts.o
  CC      lib/dim/net_dim.o
  CC      drivers/tty/vt/vt_ioctl.o
  CC      lib/xz/xz_dec_lzma2.o
  CC      drivers/tty/hvc/hvc_console.o
  AR      fs/ramfs/built-in.a
  CC      block/blk-ia-ranges.o
  CC      lib/xz/xz_dec_bcj.o
  CC      block/early-lookup.o
  CC      kernel/cgroup/debug.o
  CC      arch/x86/kernel/cpu/intel_epb.o
  CC      drivers/acpi/acpica/exfield.o
  CC      block/bounce.o
  AR      drivers/iommu/amd/built-in.a
  CC      drivers/char/hw_random/core.o
  CC      io_uring/kbuf.o
  CC      drivers/char/agp/backend.o
  AR      drivers/iommu/intel/built-in.a
  CC      crypto/sha256_generic.o
  CC [M]  sound/hda/hdac_controller.o
  CC [M]  sound/hda/hdac_stream.o
  AR      drivers/iommu/arm/arm-smmu/built-in.a
  AR      drivers/iommu/iommufd/built-in.a
  CC      lib/fonts/font_8x16.o
  CC      drivers/virtio/virtio_pci_modern.o
  CC [M]  sound/hda/array.o
  CC      net/netfilter/x_tables.o
  CC      lib/dim/rdma_dim.o
  AR      drivers/iommu/arm/arm-smmu-v3/built-in.a
  AR      drivers/iommu/arm/built-in.a
  CC      net/ethtool/module.o
  CC      drivers/iommu/iommu.o
  CC      net/ipv6/reassembly.o
  CC      io_uring/rsrc.o
  AR      sound/x86/built-in.a
  AR      drivers/gpu/host1x/built-in.a
  CC      io_uring/rw.o
  CC      drivers/acpi/acpica/exfldio.o
  CC      net/sysctl_net.o
  CC      mm/debug.o
  CC      arch/x86/kernel/cpu/amd.o
  CC      kernel/trace/trace_event_perf.o
  CC      drivers/char/mem.o
  CC      drivers/char/random.o
  AR      net/9p/built-in.a
  AR      lib/xz/built-in.a
  CC      arch/x86/kernel/cpu/hygon.o
  AR      drivers/gpu/drm/tests/built-in.a
  AR      drivers/gpu/drm/arm/built-in.a
  AR      lib/fonts/built-in.a
  CC      net/netfilter/xt_tcpudp.o
  CC      drivers/virtio/virtio_pci_common.o
  CC      drivers/gpu/drm/display/drm_display_helper_mod.o
  CC      kernel/time/clockevents.o
  CC      drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
  CC      net/ipv4/tcp_rate.o
  CC      drivers/gpu/drm/display/drm_dp_helper.o
  CC      fs/ext4/fsmap.o
  CC      drivers/char/misc.o
  AR      lib/dim/built-in.a
  CC      lib/argv_split.o
  CC [M]  sound/hda/hdmi_chmap.o
  AR      kernel/cgroup/built-in.a
  CC      kernel/fork.o
  AR      drivers/tty/hvc/built-in.a
  CC      crypto/sha512_generic.o
  CC      net/ethtool/pse-pd.o
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/char/agp/generic.o
  CC [M]  sound/hda/trace.o
  CC      net/mac80211/offchannel.o
  CC      drivers/char/hw_random/intel-rng.o
  CC      drivers/acpi/acpica/exmisc.o
  CC      net/sunrpc/auth_unix.o
  CC      net/netfilter/xt_CONNSECMARK.o
  CC      lib/bug.o
  CC      drivers/gpu/drm/ttm/ttm_tt.o
  CC      drivers/iommu/iommu-traces.o
  AR      net/handshake/built-in.a
  CC      drivers/iommu/iommu-sysfs.o
  CC      mm/gup.o
  AR      kernel/events/built-in.a
  CC      net/ethtool/plca.o
  CC      kernel/time/tick-common.o
  CC      mm/mmap_lock.o
  CC      drivers/char/hw_random/amd-rng.o
  CC      mm/highmem.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      io_uring/opdef.o
  CC      kernel/trace/trace_events_filter.o
  CC      block/bsg.o
  CC      drivers/acpi/acpica/exmutex.o
  CC      drivers/acpi/acpica/exnames.o
  CC      drivers/virtio/virtio_pci_legacy.o
  CC      drivers/char/hw_random/geode-rng.o
  CC      drivers/virtio/virtio_pci_admin_legacy_io.o
  CC      drivers/acpi/blacklist.o
  CC      drivers/char/hw_random/via-rng.o
  CC      kernel/time/tick-broadcast.o
  CC      mm/memory.o
  CC      crypto/sha3_generic.o
  CC      net/ipv6/tcp_ipv6.o
  CC      lib/buildid.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/gpu/drm/ttm/ttm_bo.o
  CC      io_uring/notif.o
  CC      net/core/fib_notifier.o
  CC      arch/x86/kernel/cpu/transmeta.o
  CC      net/ipv4/tcp_recovery.o
  CC      mm/mincore.o
  CC      drivers/acpi/acpica/exoparg1.o
  CC [M]  sound/hda/hdac_component.o
  CC      kernel/trace/trace_events_trigger.o
  CC      drivers/char/virtio_console.o
  CC      net/netfilter/xt_NFLOG.o
  CC      net/wireless/chan.o
  CC      net/wireless/ethtool.o
  CC [M]  sound/hda/hdac_i915.o
  CC      drivers/char/agp/isoch.o
  CC      net/netfilter/xt_SECMARK.o
  CC      net/wireless/mesh.o
  CC      io_uring/waitid.o
  CC      drivers/iommu/dma-iommu.o
  CC      kernel/exec_domain.o
  CC      net/sunrpc/svc.o
  AR      drivers/char/hw_random/built-in.a
  CC      drivers/acpi/acpica/exoparg2.o
  CC      drivers/char/hpet.o
  CC      drivers/virtio/virtio_input.o
  CC      drivers/virtio/virtio_dma_buf.o
  CC      block/blk-cgroup.o
  CC      kernel/trace/trace_eprobe.o
  CC      arch/x86/kernel/cpu/zhaoxin.o
  CC      crypto/ecb.o
  CC      drivers/gpu/drm/display/drm_dp_mst_topology.o
  CC      drivers/char/agp/amd64-agp.o
  CC      drivers/acpi/acpica/exoparg3.o
  AR      net/ethtool/built-in.a
  CC      drivers/acpi/acpica/exoparg6.o
  CC      lib/clz_tab.o
  CC      drivers/connector/cn_queue.o
  CC      lib/cmdline.o
  CC      kernel/time/tick-broadcast-hrtimer.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/gpu/drm/ttm/ttm_bo_util.o
  CC      lib/cpumask.o
  CC      drivers/base/power/generic_ops.o
  CC      arch/x86/kernel/cpu/vortex.o
  CC      drivers/tty/vt/keyboard.o
  CC      block/blk-ioprio.o
  CC [M]  sound/hda/intel-dsp-config.o
  CC      drivers/iommu/iova.o
  CC      kernel/time/tick-oneshot.o
  CC      crypto/cbc.o
  CC      drivers/acpi/acpica/exprep.o
  CC      drivers/char/agp/intel-agp.o
  CC      drivers/char/agp/intel-gtt.o
  CC      drivers/acpi/acpica/exregion.o
  CC      kernel/panic.o
  CC      drivers/gpu/drm/ttm/ttm_bo_vm.o
  CC      fs/ext4/fsync.o
  AR      sound/xen/built-in.a
  CC      fs/ext4/hash.o
  CC      fs/ext4/ialloc.o
  CC      net/netfilter/xt_TCPMSS.o
  AR      sound/virtio/built-in.a
  CC      block/blk-iolatency.o
  CC      kernel/cpu.o
  AR      drivers/virtio/built-in.a
  CC      drivers/acpi/acpica/exresnte.o
  CC      mm/mlock.o
  CC      io_uring/register.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  CC      mm/mmap.o
  CC      drivers/base/power/common.o
  CC      drivers/acpi/acpica/exresolv.o
  CC      block/blk-iocost.o
  CC      net/ipv4/tcp_ulp.o
  CC      sound/sound_core.o
  CC      crypto/ctr.o
  CC      lib/ctype.o
  CC      drivers/char/nvram.o
  CC      kernel/time/tick-sched.o
  CC      lib/dec_and_lock.o
  CC      lib/decompress.o
  CC      net/ipv6/ping.o
  CC      net/netfilter/xt_conntrack.o
  CC      net/ipv6/exthdrs.o
  CC      net/ipv4/tcp_offload.o
  CC      drivers/gpu/drm/i915/i915_config.o
  CC      sound/last.o
  CC      drivers/connector/connector.o
  CC      net/wireless/ap.o
  CC      lib/decompress_bunzip2.o
  CC [M]  sound/hda/intel-nhlt.o
  CC      drivers/gpu/drm/i915/i915_driver.o
  CC      net/netfilter/xt_policy.o
  CC      drivers/acpi/acpica/exresop.o
  CC      kernel/trace/trace_kprobe.o
  CC      io_uring/truncate.o
  CC      kernel/exit.o
  CC      net/ipv4/tcp_plb.o
  CC      drivers/base/power/qos.o
  AR      drivers/iommu/built-in.a
  CC      drivers/gpu/drm/ttm/ttm_module.o
  CC      fs/ext4/indirect.o
  CC      crypto/gcm.o
  CC      drivers/tty/vt/vt.o
  CC      lib/decompress_inflate.o
  CC      fs/ext4/inline.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      net/mac80211/ht.o
  CC      lib/decompress_unlz4.o
  AR      drivers/char/agp/built-in.a
  CC      lib/decompress_unlzma.o
  CC      drivers/acpi/acpica/exserial.o
  AR      drivers/char/built-in.a
  CC      drivers/block/loop.o
  CC [M]  sound/hda/intel-sdw-acpi.o
  CC      drivers/block/virtio_blk.o
  COPY    drivers/tty/vt/defkeymap.c
  CC      drivers/tty/vt/consolemap.o
  CC      lib/decompress_unlzo.o
  CC      drivers/gpu/drm/ttm/ttm_execbuf_util.o
  CC      drivers/base/power/runtime.o
  CC      net/ipv6/datagram.o
  CC      fs/ext4/inode.o
  CC      io_uring/io-wq.o
  CC      net/ipv4/datagram.o
  CC      net/ipv4/raw.o
  CC      kernel/time/timer_migration.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      drivers/acpi/acpica/exstore.o
  CC      io_uring/futex.o
  CC      io_uring/napi.o
  AR      drivers/misc/eeprom/built-in.a
  AR      drivers/misc/cb710/built-in.a
  CC      drivers/connector/cn_proc.o
  AR      drivers/misc/ti-st/built-in.a
  AR      drivers/misc/lis3lv02d/built-in.a
  AR      drivers/misc/cardreader/built-in.a
  AR      drivers/misc/built-in.a
  CC      fs/ext4/ioctl.o
  CC      drivers/gpu/drm/display/drm_dsc_helper.o
  LD [M]  sound/hda/snd-hda-core.o
  LD [M]  sound/hda/snd-intel-dspcfg.o
  LD [M]  sound/hda/snd-intel-sdw-acpi.o
  AR      sound/built-in.a
  CC      net/core/xdp.o
  CC      net/netfilter/xt_state.o
  CC      lib/decompress_unxz.o
  CC      crypto/ccm.o
  CC      mm/mmu_gather.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      lib/decompress_unzstd.o
  CC      net/ipv4/udp.o
  CC      net/ipv6/ip6_flowlabel.o
  CC      net/core/flow_offload.o
  CC      drivers/acpi/acpica/exstoren.o
  CC      drivers/base/power/wakeirq.o
  CC      net/mac80211/agg-tx.o
  CC      mm/mprotect.o
  CC      drivers/gpu/drm/ttm/ttm_range_manager.o
  CC      drivers/gpu/drm/ttm/ttm_resource.o
  CC      fs/ext4/mballoc.o
  CC      drivers/base/power/main.o
  CC      net/sunrpc/svcsock.o
  HOSTCC  drivers/tty/vt/conmakehash
  CC      kernel/time/vsyscall.o
  CC      net/core/gro.o
  CC      drivers/acpi/acpica/exstorob.o
  CC      drivers/gpu/drm/i915/i915_drm_client.o
  CC      fs/ext4/migrate.o
  CC      lib/dump_stack.o
  CC      drivers/acpi/acpica/exsystem.o
  CC      drivers/base/power/wakeup.o
  CC      drivers/base/firmware_loader/builtin/main.o
  CC      drivers/base/regmap/regmap.o
  CC      fs/ext4/mmp.o
  CC      kernel/trace/error_report-traces.o
  CC      net/ipv6/inet6_connection_sock.o
  CC      drivers/gpu/drm/display/drm_hdcp_helper.o
  CC      net/wireless/trace.o
  CC      drivers/base/firmware_loader/main.o
  CC      arch/x86/kernel/cpu/debugfs.o
  CC      crypto/aes_generic.o
  CC      lib/earlycpio.o
  CC [M]  net/netfilter/nf_log_syslog.o
  CC      drivers/tty/vt/defkeymap.o
  CC      arch/x86/kernel/cpu/capflags.o
  AR      drivers/connector/built-in.a
  AR      drivers/block/built-in.a
  AR      drivers/mfd/built-in.a
  AR      drivers/nfc/built-in.a
  CC      drivers/gpu/drm/ttm/ttm_pool.o
  CC      drivers/gpu/drm/ttm/ttm_device.o
  CC      drivers/acpi/acpica/extrace.o
  CC      net/wireless/ocb.o
  CC      drivers/gpu/drm/ttm/ttm_sys_manager.o
  CC      kernel/trace/power-traces.o
  AR      drivers/dax/hmem/built-in.a
  AR      drivers/base/firmware_loader/builtin/built-in.a
  AR      drivers/dax/built-in.a
  CC      kernel/trace/rpm-traces.o
  CC      lib/extable.o
  CC      net/wireless/pmsr.o
  CC      drivers/gpu/drm/ttm/ttm_agp_backend.o
  CC      net/sunrpc/svcauth.o
  CC      kernel/time/timekeeping_debug.o
  AR      drivers/gpu/drm/omapdrm/built-in.a
  AR      drivers/gpu/drm/renesas/rcar-du/built-in.a
  CC      lib/flex_proportions.o
  AR      drivers/gpu/drm/renesas/rz-du/built-in.a
  AR      drivers/gpu/drm/renesas/built-in.a
  CC      block/mq-deadline.o
  CC      drivers/acpi/osi.o
  AR      io_uring/built-in.a
  CC      drivers/dma-buf/dma-buf.o
  CC      mm/mremap.o
  CC      drivers/dma-buf/dma-fence.o
  CC      drivers/dma-buf/dma-fence-array.o
  CC      drivers/dma-buf/dma-fence-chain.o
  CC      drivers/tty/serial/8250/8250_core.o
  CC      drivers/acpi/acpica/exutils.o
  CC      drivers/tty/serial/serial_core.o
  CONMK   drivers/tty/vt/consolemap_deftbl.c
  CC      drivers/tty/vt/consolemap_deftbl.o
  AR      drivers/tty/vt/built-in.a
  CC      fs/ext4/move_extent.o
  CC      drivers/acpi/acpica/hwacpi.o
  CC      block/kyber-iosched.o
  AR      arch/x86/kernel/cpu/built-in.a
  CC      drivers/tty/serial/8250/8250_pnp.o
  GEN     net/wireless/shipped-certs.c
  CC      arch/x86/kernel/idt.o
  CC      net/core/netdev-genl.o
  CC      lib/idr.o
  CC      fs/ext4/namei.o
  CC      drivers/gpu/drm/display/drm_hdmi_helper.o
  CC      arch/x86/kernel/irq.o
  CC      kernel/softirq.o
  CC      drivers/dma-buf/dma-fence-unwrap.o
  CC      crypto/crc32c_generic.o
  CC      crypto/authenc.o
  CC      block/blk-mq-pci.o
  CC      drivers/gpu/drm/i915/i915_getparam.o
  CC      drivers/acpi/acpica/hwesleep.o
  AR      drivers/tty/ipwireless/built-in.a
  CC      drivers/gpu/drm/i915/i915_ioctl.o
  CC      drivers/gpu/drm/i915/i915_irq.o
  AR      drivers/base/firmware_loader/built-in.a
  CC      drivers/gpu/drm/i915/i915_mitigations.o
  CC      kernel/time/namespace.o
  CC      lib/irq_regs.o
  CC      fs/ext4/page-io.o
  AR      drivers/gpu/drm/ttm/built-in.a
  CC      fs/ext4/readpage.o
  AR      drivers/gpu/drm/tilcdc/built-in.a
  CC      net/ipv6/udp_offload.o
  CC      drivers/gpu/drm/virtio/virtgpu_drv.o
  CC [M]  net/netfilter/xt_mark.o
  CC      net/ipv6/seg6.o
  CC      drivers/base/power/wakeup_stats.o
  CC      drivers/gpu/drm/virtio/virtgpu_kms.o
  CC      lib/is_single_threaded.o
  CC      crypto/authencesn.o
  CC      drivers/acpi/acpica/hwgpe.o
  CC      drivers/dma-buf/dma-resv.o
  CC      drivers/gpu/drm/display/drm_scdc_helper.o
  CC      net/mac80211/agg-rx.o
  CC      net/ipv4/udplite.o
  CC      arch/x86/kernel/irq_32.o
  AR      drivers/gpu/drm/imx/built-in.a
  CC      net/ipv4/udp_offload.o
  CC      mm/msync.o
  AR      drivers/gpu/drm/i2c/built-in.a
  AR      drivers/gpu/drm/panel/built-in.a
  CC      drivers/tty/serial/8250/8250_port.o
  AR      drivers/gpu/drm/bridge/analogix/built-in.a
  CC      mm/page_vma_mapped.o
  AR      drivers/gpu/drm/bridge/cadence/built-in.a
  AR      drivers/gpu/drm/bridge/imx/built-in.a
  AR      drivers/gpu/drm/bridge/synopsys/built-in.a
  CC      net/ipv4/arp.o
  CC      lib/klist.o
  CC      lib/kobject.o
  AR      drivers/gpu/drm/bridge/built-in.a
  CC      fs/ext4/resize.o
  CC      drivers/base/power/trace.o
  CC      fs/ext4/super.o
  AR      kernel/time/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_gem.o
  AR      drivers/gpu/vga/built-in.a
  CC      drivers/gpu/drm/virtio/virtgpu_vram.o
  CC      drivers/acpi/acpica/hwregs.o
  CC      drivers/gpu/drm/virtio/virtgpu_display.o
  CC      arch/x86/kernel/dumpstack_32.o
  AR      drivers/gpu/drm/hisilicon/built-in.a
  CC      drivers/acpi/osl.o
  AR      drivers/gpu/drm/mxsfb/built-in.a
  AR      drivers/gpu/drm/tiny/built-in.a
  CC      drivers/acpi/utils.o
  AR      drivers/gpu/drm/xlnx/built-in.a
  CC      kernel/trace/trace_dynevent.o
  CC      drivers/acpi/reboot.o
  CC      drivers/dma-buf/sync_file.o
  CC      crypto/lzo.o
  CC      net/ipv4/icmp.o
  CC      block/blk-mq-virtio.o
  CC      drivers/gpu/drm/virtio/virtgpu_vq.o
  CC [M]  net/netfilter/xt_nat.o
  CC      net/core/netdev-genl-gen.o
  CC      block/blk-mq-debugfs.o
  CC      drivers/gpu/drm/virtio/virtgpu_fence.o
  AR      drivers/gpu/drm/display/built-in.a
  AR      drivers/base/test/built-in.a
  CC      drivers/base/component.o
  CC      kernel/resource.o
  CC      drivers/gpu/drm/i915/i915_module.o
  CC      arch/x86/kernel/time.o
  CC      net/ipv6/fib6_notifier.o
  CC      drivers/acpi/acpica/hwsleep.o
  CC      lib/kobject_uevent.o
  CC      arch/x86/kernel/ioport.o
  CC      crypto/lzo-rle.o
  CC      kernel/sysctl.o
  CC      mm/pagewalk.o
  CC      drivers/gpu/drm/i915/i915_params.o
  AR      drivers/base/power/built-in.a
  AR      drivers/gpu/drm/gud/built-in.a
  CC      drivers/base/core.o
  CC      net/core/gso.o
  CC      net/ipv6/rpl.o
  CC      drivers/base/regmap/regcache.o
  CC      net/ipv6/ioam6.o
  CC      kernel/capability.o
  AR      drivers/gpu/drm/solomon/built-in.a
  CC      net/ipv4/devinet.o
  CC [M]  drivers/gpu/drm/scheduler/sched_main.o
  AR      drivers/dma-buf/built-in.a
  CC      net/sunrpc/svcauth_unix.o
  CC      net/sunrpc/addr.o
  CC      drivers/base/regmap/regcache-rbtree.o
  CC      mm/pgtable-generic.o
  CC [M]  drivers/gpu/drm/scheduler/sched_fence.o
  CC      drivers/acpi/acpica/hwvalid.o
  CC      drivers/gpu/drm/virtio/virtgpu_object.o
  CC      net/sunrpc/rpcb_clnt.o
  CC      drivers/tty/tty_io.o
  CC [M]  net/netfilter/xt_LOG.o
  CC      kernel/trace/trace_probe.o
  CC      net/wireless/shipped-certs.o
  CC [M]  drivers/gpu/drm/xe/xe_bb.o
  CC      crypto/rng.o
  CC      drivers/tty/n_tty.o
  CC      net/core/net-sysfs.o
  CC [M]  drivers/gpu/drm/scheduler/sched_entity.o
  CC      block/blk-pm.o
  CC      drivers/acpi/nvs.o
  CC      arch/x86/kernel/dumpstack.o
  CC      drivers/acpi/acpica/hwxface.o
  CC      drivers/acpi/acpica/hwxfsleep.o
  CC [M]  net/netfilter/xt_MASQUERADE.o
  CC      drivers/tty/serial/8250/8250_dma.o
  CC      net/sunrpc/timer.o
  CC      drivers/base/regmap/regcache-flat.o
  CC      kernel/ptrace.o
  CC      net/sunrpc/xdr.o
  CC      drivers/acpi/wakeup.o
  CC      mm/rmap.o
  CC      drivers/tty/serial/8250/8250_dwlib.o
  CC      lib/logic_pio.o
  CC      drivers/gpu/drm/i915/i915_pci.o
  CC      drivers/gpu/drm/virtio/virtgpu_debugfs.o
  CC      fs/ext4/symlink.o
  CC      drivers/gpu/drm/i915/i915_scatterlist.o
  CC      kernel/trace/trace_uprobe.o
  CC [M]  net/netfilter/xt_addrtype.o
  CC      drivers/base/regmap/regcache-maple.o
  CC      drivers/acpi/acpica/hwpci.o
  CC      fs/ext4/sysfs.o
  CC      drivers/acpi/acpica/nsaccess.o
  CC      lib/maple_tree.o
  CC [M]  drivers/gpu/drm/xe/xe_bo.o
  CC      mm/vmalloc.o
  CC      mm/process_vm_access.o
  CC      crypto/drbg.o
  CC      kernel/user.o
  CC      block/holder.o
  CC      drivers/acpi/sleep.o
  CC      arch/x86/kernel/nmi.o
  CC      drivers/tty/serial/8250/8250_pcilib.o
  CC      drivers/tty/tty_ioctl.o
  CC      net/ipv4/af_inet.o
  CC      mm/page_alloc.o
  CC      net/mac80211/vht.o
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.o
  CC      net/mac80211/he.o
  CC      net/core/hotdata.o
  CC      drivers/gpu/drm/drm_aperture.o
  CC      net/core/net-procfs.o
  CC      drivers/acpi/acpica/nsalloc.o
  CC      drivers/acpi/acpica/nsarguments.o
  CC      drivers/acpi/device_sysfs.o
  CC      lib/memcat_p.o
  CC      net/sunrpc/sunrpc_syms.o
  CC      drivers/gpu/drm/virtio/virtgpu_plane.o
  CC      drivers/base/regmap/regmap-debugfs.o
  CC      fs/ext4/xattr.o
  CC      kernel/signal.o
  CC      drivers/tty/serial/serial_base_bus.o
  CC      drivers/tty/serial/8250/8250_early.o
  CC      net/ipv6/sysctl_net_ipv6.o
  CC      crypto/jitterentropy.o
  CC      net/sunrpc/cache.o
  CC      drivers/acpi/acpica/nsconvert.o
  CC      drivers/gpu/drm/virtio/virtgpu_ioctl.o
  CC      drivers/acpi/device_pm.o
  CC      drivers/tty/tty_ldisc.o
  CC      drivers/gpu/drm/i915/i915_suspend.o
  CC      net/mac80211/s1g.o
  CC      fs/ext4/xattr_hurd.o
  CC      drivers/tty/tty_buffer.o
  CC      kernel/sys.o
  CC      lib/nmi_backtrace.o
  AR      block/built-in.a
  CC      drivers/tty/serial/serial_ctrl.o
  CC      drivers/acpi/acpica/nsdump.o
  CC      drivers/tty/serial/serial_port.o
  CC      drivers/acpi/acpica/nseval.o
  CC      crypto/jitterentropy-kcapi.o
  CC      drivers/gpu/drm/i915/i915_switcheroo.o
  CC      drivers/tty/tty_port.o
  AR      net/netfilter/built-in.a
  AR      drivers/cxl/core/built-in.a
  CC      drivers/tty/serial/8250/8250_exar.o
  CC      lib/objpool.o
  AR      drivers/cxl/built-in.a
  CC      lib/plist.o
  CC      lib/radix-tree.o
  CC      arch/x86/kernel/ldt.o
  CC      net/sunrpc/rpc_pipe.o
  CC      lib/ratelimit.o
  CC      fs/hugetlbfs/inode.o
  CC      net/sunrpc/sysfs.o
  CC      drivers/tty/serial/earlycon.o
  CC      lib/rbtree.o
  CC      drivers/acpi/acpica/nsinit.o
  CC      drivers/gpu/drm/virtio/virtgpu_prime.o
  AR      drivers/base/regmap/built-in.a
  CC      drivers/base/bus.o
  CC      drivers/acpi/proc.o
  CC      lib/seq_buf.o
  CC      lib/siphash.o
  CC      drivers/tty/tty_mutex.o
  CC      lib/string.o
  CC      net/mac80211/ibss.o
  CC      crypto/ghash-generic.o
  CC      net/core/netpoll.o
  CC      drivers/base/dd.o
  CC      net/core/fib_rules.o
  CC      net/mac80211/iface.o
  CC      lib/timerqueue.o
  CC      drivers/base/syscore.o
  CC      net/sunrpc/svc_xprt.o
  CC      drivers/gpu/drm/virtio/virtgpu_trace_points.o
  CC      lib/vsprintf.o
  CC      net/ipv6/xfrm6_policy.o
  CC      net/ipv4/igmp.o
  CC      net/ipv6/xfrm6_state.o
  CC      fs/ext4/xattr_trusted.o
  CC      kernel/trace/rethook.o
  CC      drivers/acpi/acpica/nsload.o
  CC      drivers/base/driver.o
  CC      drivers/gpu/drm/i915/i915_sysfs.o
  CC      drivers/tty/tty_ldsem.o
  CC      mm/init-mm.o
  CC      crypto/hash_info.o
  CC [M]  drivers/gpu/drm/xe/xe_bo_evict.o
  CC      drivers/tty/serial/8250/8250_lpss.o
  CC      crypto/rsapubkey.asn1.o
  CC      mm/memblock.o
  CC [M]  drivers/gpu/drm/xe/xe_debugfs.o
  CC      crypto/rsaprivkey.asn1.o
  CC      mm/slub.o
  CC      lib/win_minmax.o
  CC      arch/x86/kernel/setup.o
  AR      crypto/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_devcoredump.o
  CC      drivers/base/class.o
  CC      drivers/base/platform.o
  CC      drivers/acpi/bus.o
  CC      drivers/acpi/acpica/nsnames.o
  CC      drivers/tty/tty_baudrate.o
  CC      net/ipv6/xfrm6_input.o
  CC      net/ipv6/xfrm6_output.o
  CC      mm/madvise.o
  AR      kernel/trace/built-in.a
  CC      kernel/umh.o
  CC      net/core/net-traces.o
  CC      fs/ext4/xattr_user.o
  CC      net/sunrpc/xprtmultipath.o
  CC      drivers/macintosh/mac_hid.o
  CC      drivers/gpu/drm/virtio/virtgpu_submit.o
  AR      fs/hugetlbfs/built-in.a
  CC      net/ipv6/xfrm6_protocol.o
  CC      mm/page_io.o
  CC      fs/fat/cache.o
  CC      drivers/acpi/acpica/nsobject.o
  CC      fs/fat/dir.o
  CC      mm/swap_state.o
  CC      fs/ext4/fast_commit.o
  CC      net/sunrpc/stats.o
  CC      drivers/tty/serial/8250/8250_mid.o
  CC      drivers/gpu/drm/i915/i915_utils.o
  CC [M]  drivers/gpu/drm/xe/xe_device.o
  CC      fs/fat/fatent.o
  CC      drivers/acpi/acpica/nsparse.o
  CC      drivers/tty/tty_jobctrl.o
  CC      net/ipv6/netfilter.o
  CC      drivers/acpi/acpica/nspredef.o
  CC [M]  drivers/gpu/drm/xe/xe_device_sysfs.o
  CC      net/ipv6/proc.o
  CC [M]  drivers/gpu/drm/xe/xe_dma_buf.o
  CC      net/sunrpc/sysctl.o
  CC      mm/swapfile.o
  CC      net/ipv4/fib_frontend.o
  AR      drivers/macintosh/built-in.a
  CC      net/core/selftests.o
  AR      drivers/scsi/pcmcia/built-in.a
  CC      drivers/base/cpu.o
  CC      drivers/scsi/scsi.o
  CC      drivers/base/firmware.o
  CC      drivers/scsi/hosts.o
  CC      arch/x86/kernel/x86_init.o
  CC      net/mac80211/link.o
  AR      drivers/nvme/common/built-in.a
  AR      drivers/nvme/host/built-in.a
  CC      drivers/acpi/acpica/nsprepkg.o
  AR      drivers/nvme/target/built-in.a
  CC      drivers/ata/libata-core.o
  AR      drivers/nvme/built-in.a
  CC      kernel/workqueue.o
  CC      net/core/ptp_classifier.o
  CC      drivers/ata/libata-scsi.o
  CC      lib/xarray.o
  AR      drivers/gpu/drm/virtio/built-in.a
  CC      net/core/netprio_cgroup.o
  CC      fs/fat/file.o
  CC      net/ipv6/syncookies.o
  CC      drivers/tty/serial/8250/8250_pci.o
  CC      drivers/tty/n_null.o
  CC      drivers/acpi/glue.o
  CC      drivers/ata/libata-eh.o
  CC      fs/isofs/namei.o
  CC      drivers/ata/libata-transport.o
  CC      fs/isofs/inode.o
  CC      drivers/tty/pty.o
  CC      drivers/tty/serial/8250/8250_pericom.o
  CC      drivers/base/init.o
  CC [M]  drivers/gpu/drm/xe/xe_drm_client.o
  CC      drivers/gpu/drm/i915/intel_clock_gating.o
  CC      net/ipv6/calipso.o
  CC      drivers/acpi/acpica/nsrepair.o
  CC      kernel/pid.o
  CC      fs/fat/inode.o
  CC      arch/x86/kernel/i8259.o
  CC      fs/fat/misc.o
  CC      net/ipv4/fib_semantics.o
  CC [M]  drivers/gpu/drm/xe/xe_exec.o
  CC      drivers/base/map.o
  CC      fs/isofs/dir.o
  CC      kernel/task_work.o
  AR      drivers/net/phy/qcom/built-in.a
  CC      drivers/net/phy/mdio-boardinfo.o
  CC      drivers/acpi/acpica/nsrepair2.o
  CC      drivers/net/phy/stubs.o
  CC      kernel/extable.o
  CC      drivers/base/devres.o
  CC      lib/lockref.o
  AR      drivers/net/pse-pd/built-in.a
  CC      drivers/gpu/drm/drm_atomic.o
  CC      drivers/net/phy/mdio_devres.o
  CC      drivers/net/phy/phy.o
  CC      drivers/base/attribute_container.o
  CC      fs/isofs/util.o
  CC      net/core/netclassid_cgroup.o
  CC      fs/fat/nfs.o
  CC      drivers/scsi/scsi_ioctl.o
  CC      drivers/tty/tty_audit.o
  CC      drivers/net/phy/phy-c45.o
  CC      arch/x86/kernel/irqinit.o
  CC      net/ipv4/fib_trie.o
  CC      drivers/ata/libata-trace.o
  CC      lib/bcd.o
  CC      arch/x86/kernel/jump_label.o
  CC      drivers/acpi/acpica/nssearch.o
  CC      net/core/dst_cache.o
  CC      fs/fat/namei_vfat.o
  CC      net/core/gro_cells.o
  CC      drivers/net/mdio/acpi_mdio.o
  AR      drivers/tty/serial/8250/built-in.a
  AR      drivers/tty/serial/built-in.a
  AR      drivers/net/pcs/built-in.a
  CC      drivers/tty/sysrq.o
  CC      drivers/net/mdio/fwnode_mdio.o
  CC [M]  drivers/gpu/drm/xe/xe_execlist.o
  AR      drivers/net/ethernet/3com/built-in.a
  CC      net/ipv4/fib_notifier.o
  CC      drivers/net/ethernet/8390/ne2k-pci.o
  CC      net/mac80211/rate.o
  CC      net/ipv4/inet_fragment.o
  CC      drivers/acpi/acpica/nsutils.o
  CC      fs/fat/namei_msdos.o
  CC      kernel/params.o
  CC      drivers/base/transport_class.o
  CC      fs/isofs/rock.o
  AR      drivers/net/ethernet/adaptec/built-in.a
  CC      fs/isofs/export.o
  CC      net/core/failover.o
  AR      net/sunrpc/built-in.a
  CC      fs/ext4/orphan.o
  CC      mm/swap_slots.o
  CC      fs/nfs/client.o
  CC      fs/exportfs/expfs.o
  CC      fs/nfs/dir.o
  CC      lib/sort.o
  CC      fs/nfs/file.o
  CC      net/ipv4/ping.o
  AR      drivers/net/ethernet/agere/built-in.a
  CC      kernel/kthread.o
  CC      lib/parser.o
  CC      mm/dmapool.o
  CC      fs/ext4/acl.o
  CC      fs/ext4/xattr_security.o
  CC      arch/x86/kernel/irq_work.o
  CC      net/ipv6/ah6.o
  AR      drivers/net/ethernet/alacritech/built-in.a
  CC      drivers/scsi/scsicam.o
  CC      arch/x86/kernel/probe_roms.o
  CC      drivers/base/topology.o
  CC      drivers/acpi/acpica/nswalk.o
  CC      drivers/gpu/drm/i915/intel_device_info.o
  CC      drivers/gpu/drm/i915/intel_memory_region.o
  CC      drivers/gpu/drm/drm_atomic_uapi.o
  CC      lib/debug_locks.o
  AR      drivers/net/mdio/built-in.a
  CC      drivers/gpu/drm/i915/intel_pcode.o
  CC      drivers/gpu/drm/i915/intel_region_ttm.o
  CC      drivers/net/phy/phy-core.o
  CC [M]  drivers/gpu/drm/xe/xe_exec_queue.o
  CC      lib/random32.o
  CC [M]  drivers/gpu/drm/xe/xe_force_wake.o
  CC      drivers/ata/libata-sata.o
  AR      fs/exportfs/built-in.a
  CC      drivers/scsi/scsi_error.o
  AR      drivers/tty/built-in.a
  CC      lib/bust_spinlocks.o
  AR      drivers/net/wireless/admtek/built-in.a
  AR      drivers/net/wireless/ath/built-in.a
  AR      fs/fat/built-in.a
  CC      lib/kasprintf.o
  AR      drivers/net/wireless/atmel/built-in.a
  AR      drivers/net/wireless/broadcom/built-in.a
  AR      drivers/net/wireless/intel/built-in.a
  AR      drivers/net/wireless/intersil/built-in.a
  AR      drivers/net/wireless/marvell/built-in.a
  CC      drivers/acpi/acpica/nsxfeval.o
  CC      drivers/ata/libata-sff.o
  CC      drivers/acpi/acpica/nsxfname.o
  CC      drivers/acpi/acpica/nsxfobj.o
  AR      drivers/net/wireless/mediatek/built-in.a
  CC      drivers/acpi/acpica/psargs.o
  AR      drivers/net/wireless/microchip/built-in.a
  CC      drivers/net/ethernet/8390/8390.o
  CC      drivers/gpu/drm/drm_auth.o
  AR      drivers/net/wireless/purelifi/built-in.a
  CC      fs/isofs/joliet.o
  AR      drivers/net/wireless/quantenna/built-in.a
  CC      mm/hugetlb.o
  AR      drivers/net/wireless/ralink/built-in.a
  AR      drivers/net/wireless/realtek/built-in.a
  CC      kernel/sys_ni.o
  CC      fs/nfs/getroot.o
  AR      drivers/net/wireless/rsi/built-in.a
  AR      drivers/net/wireless/silabs/built-in.a
  CC      kernel/nsproxy.o
  CC      lib/bitmap.o
  CC      drivers/base/container.o
  AR      drivers/net/wireless/st/built-in.a
  CC      mm/mmu_notifier.o
  CC      net/ipv4/ip_tunnel_core.o
  CC      drivers/net/mii.o
  AR      drivers/net/ethernet/alteon/built-in.a
  AR      drivers/net/usb/built-in.a
  AR      drivers/net/wireless/ti/built-in.a
  CC      drivers/net/loopback.o
  CC      net/ipv4/gre_offload.o
  AR      drivers/net/ethernet/amazon/built-in.a
  AR      drivers/net/wireless/zydas/built-in.a
  CC      lib/scatterlist.o
  CC      drivers/ata/libata-pmp.o
  CC      drivers/base/property.o
  AR      drivers/net/wireless/virtual/built-in.a
  AR      drivers/net/wireless/built-in.a
  AR      fs/ext4/built-in.a
  CC      drivers/gpu/drm/i915/intel_runtime_pm.o
  CC      drivers/ata/libata-acpi.o
  AR      net/core/built-in.a
  CC      drivers/net/netconsole.o
  CC      drivers/acpi/acpica/psloop.o
  CC      net/ipv4/metrics.o
  CC      lib/list_sort.o
  CC      mm/migrate.o
  CC      drivers/net/virtio_net.o
  CC      arch/x86/kernel/sys_ia32.o
  CC [M]  drivers/gpu/drm/xe/xe_ggtt.o
  CC      arch/x86/kernel/ksysfs.o
  AR      net/wireless/built-in.a
  CC      arch/x86/kernel/bootflag.o
  CC [M]  drivers/gpu/drm/xe/xe_gpu_scheduler.o
  CC      drivers/base/cacheinfo.o
  AR      drivers/net/ethernet/amd/built-in.a
  CC      fs/isofs/compress.o
  CC      drivers/acpi/acpica/psobject.o
  CC      drivers/acpi/acpica/psopcode.o
  CC      lib/uuid.o
  CC      drivers/scsi/scsi_lib.o
  CC      net/ipv4/netlink.o
  CC      drivers/scsi/constants.o
  CC      arch/x86/kernel/e820.o
  CC      net/ipv6/esp6.o
  CC      net/ipv6/sit.o
  CC      drivers/net/phy/phy_device.o
  CC      drivers/gpu/drm/i915/intel_sbi.o
  CC      lib/iov_iter.o
  CC      drivers/gpu/drm/i915/intel_step.o
  CC      fs/nfs/inode.o
  CC      drivers/ata/libata-pata-timings.o
  CC      lib/clz_ctz.o
  CC      drivers/acpi/scan.o
  CC      mm/page_counter.o
  HOSTCC  drivers/gpu/drm/xe/xe_gen_wa_oob
  CC      mm/hugetlb_cgroup.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_proxy.o
  CC      drivers/acpi/acpica/psopinfo.o
  AR      drivers/net/ethernet/8390/built-in.a
  AR      drivers/net/ethernet/aquantia/built-in.a
  AR      drivers/net/ethernet/arc/built-in.a
  AR      drivers/net/ethernet/asix/built-in.a
  CC      kernel/notifier.o
  AR      drivers/net/ethernet/atheros/built-in.a
  CC      kernel/ksysfs.o
  CC      kernel/cred.o
  AR      drivers/net/ethernet/cadence/built-in.a
  CC      drivers/gpu/drm/drm_blend.o
  CC      drivers/net/ethernet/broadcom/bnx2.o
  AR      drivers/net/ethernet/brocade/built-in.a
  CC      drivers/net/ethernet/broadcom/tg3.o
  CC      fs/nfs/super.o
  CC      kernel/reboot.o
  CC      drivers/net/net_failover.o
  CC      drivers/scsi/scsi_lib_dma.o
  CC      drivers/ata/ahci.o
  CC      drivers/ata/libahci.o
  CC      drivers/acpi/acpica/psparse.o
  CC      fs/nfs/io.o
  CC      arch/x86/kernel/pci-dma.o
  CC      drivers/ata/ata_piix.o
  CC      fs/nfs/direct.o
  CC      drivers/acpi/acpica/psscope.o
  AR      fs/isofs/built-in.a
  CC      drivers/acpi/acpica/pstree.o
  CC      drivers/acpi/acpica/psutils.o
  CC      lib/bsearch.o
  CC      drivers/base/swnode.o
  CC      kernel/async.o
  CC      lib/find_bit.o
  CC      lib/llist.o
  CC      net/mac80211/michael.o
  AR      drivers/net/ethernet/cavium/common/built-in.a
  AR      drivers/net/ethernet/cavium/thunder/built-in.a
  AR      drivers/net/ethernet/cavium/liquidio/built-in.a
  CC      lib/lwq.o
  CC      net/mac80211/tkip.o
  AR      drivers/net/ethernet/cavium/octeon/built-in.a
  AR      drivers/net/ethernet/cavium/built-in.a
  CC      net/ipv4/nexthop.o
  CC      net/ipv6/addrconf_core.o
  CC      mm/early_ioremap.o
  CC      drivers/ata/pata_amd.o
  CC      lib/memweight.o
  CC      drivers/gpu/drm/i915/intel_uncore.o
  CC      kernel/range.o
  CC      fs/lockd/clntlock.o
  CC      fs/lockd/clntproc.o
  CC      drivers/acpi/acpica/pswalk.o
  CC      net/mac80211/aes_cmac.o
  CC      drivers/ata/pata_oldpiix.o
  CC      drivers/ata/pata_sch.o
  CC      drivers/net/phy/linkmode.o
  CC      drivers/acpi/acpica/psxface.o
  CC      arch/x86/kernel/quirks.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc_submit.o
  CC      kernel/smpboot.o
  CC      drivers/net/phy/mdio_bus.o
  CC      lib/kfifo.o
  CC      mm/secretmem.o
  CC      kernel/ucount.o
  CC      drivers/gpu/drm/drm_bridge.o
  CC      arch/x86/kernel/topology.o
  CC      net/ipv6/exthdrs_core.o
  CC      drivers/base/auxiliary.o
  AR      drivers/net/ethernet/chelsio/built-in.a
  AR      drivers/net/ethernet/cisco/built-in.a
  AR      drivers/net/ethernet/cortina/built-in.a
  CC      drivers/acpi/acpica/rsaddr.o
  AR      drivers/net/ethernet/dec/tulip/built-in.a
  AR      drivers/net/ethernet/dec/built-in.a
  AR      drivers/net/ethernet/dlink/built-in.a
  CC      drivers/acpi/acpica/rscalc.o
  CC      drivers/ata/pata_mpiix.o
  CC      drivers/net/phy/mdio_device.o
  CC      lib/percpu-refcount.o
  CC      net/ipv6/ip6_checksum.o
  CC      fs/nls/nls_base.o
  CC      lib/rhashtable.o
  CC      lib/base64.o
  CC      net/ipv6/ip6_icmp.o
  CC      fs/nfs/pagelist.o
  CC      drivers/base/devtmpfs.o
  AR      drivers/net/ethernet/emulex/built-in.a
  CC      drivers/scsi/scsi_scan.o
  CC      kernel/regset.o
  CC      kernel/ksyms_common.o
  GEN     drivers/scsi/scsi_devinfo_tbl.c
  CC      drivers/net/phy/swphy.o
  CC      drivers/scsi/scsi_devinfo.o
  CC      net/mac80211/aes_gmac.o
  CC      drivers/acpi/acpica/rscreate.o
  CC      drivers/scsi/scsi_sysctl.o
  AR      drivers/net/ethernet/engleder/built-in.a
  CC      drivers/net/phy/fixed_phy.o
  AR      drivers/net/ethernet/ezchip/built-in.a
  CC      fs/lockd/clntxdr.o
  CC      arch/x86/kernel/kdebugfs.o
  AR      drivers/net/ethernet/fujitsu/built-in.a
  CC      fs/lockd/host.o
  AR      drivers/net/ethernet/fungible/built-in.a
  CC      drivers/scsi/scsi_proc.o
  CC      drivers/acpi/acpica/rsdumpinfo.o
  CC      net/mac80211/fils_aead.o
  CC [M]  drivers/gpu/drm/xe/xe_gt.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_ccs_mode.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_clock.o
  CC      net/mac80211/cfg.o
  CC      net/ipv6/output_core.o
  CC      net/ipv6/protocol.o
  CC      drivers/ata/ata_generic.o
  CC      arch/x86/kernel/alternative.o
  AR      fs/unicode/built-in.a
  CC      fs/autofs/init.o
  CC      fs/nls/nls_cp437.o
  CC      fs/autofs/inode.o
  CC      fs/9p/vfs_super.o
  CC      fs/autofs/root.o
  AR      fs/hostfs/built-in.a
  CC      net/mac80211/ethtool.o
  CC      fs/9p/vfs_inode.o
  CC      drivers/acpi/acpica/rsinfo.o
  CC      fs/debugfs/inode.o
  CC      fs/autofs/symlink.o
  CC      lib/once.o
  CC      drivers/acpi/acpica/rsio.o
  CC      mm/hmm.o
  CC      kernel/groups.o
  CC      arch/x86/kernel/i8253.o
  CC      drivers/net/phy/realtek.o
  CC      mm/memfd.o
  CC      fs/nls/nls_ascii.o
  CC      drivers/scsi/scsi_debugfs.o
  CC      drivers/scsi/scsi_trace.o
  CC      drivers/base/module.o
  CC      net/ipv6/ip6_offload.o
  CC      kernel/kcmp.o
  CC      mm/ptdump.o
  AR      drivers/net/ethernet/google/built-in.a
  CC      drivers/acpi/mipi-disco-img.o
  CC      net/mac80211/rx.o
  CC      drivers/acpi/acpica/rsirq.o
  CC      drivers/gpu/drm/i915/intel_wakeref.o
  CC      lib/refcount.o
  CC      drivers/scsi/scsi_logging.o
  CC      fs/debugfs/file.o
  CC      drivers/scsi/scsi_pm.o
  CC      net/ipv6/tcpv6_offload.o
  CC      kernel/freezer.o
  AR      drivers/ata/built-in.a
  CC      fs/nls/nls_iso8859-1.o
  CC      drivers/acpi/acpica/rslist.o
  CC      kernel/profile.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      fs/autofs/waitq.o
  CC      fs/nls/nls_utf8.o
  CC      drivers/acpi/resource.o
  CC      drivers/gpu/drm/i915/vlv_sideband.o
  CC      drivers/scsi/scsi_bsg.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_debugfs.o
  CC      drivers/gpu/drm/drm_cache.o
  CC      drivers/gpu/drm/i915/vlv_suspend.o
  CC      lib/rcuref.o
  CC      drivers/base/devcoredump.o
  CC      fs/lockd/svc.o
  CC      drivers/firewire/init_ohci1394_dma.o
  CC      fs/autofs/expire.o
  CC      fs/lockd/svclock.o
  CC      fs/lockd/svcshare.o
  CC      net/ipv6/exthdrs_offload.o
  CC      lib/usercopy.o
  CC      arch/x86/kernel/tsc.o
  CC      fs/9p/vfs_inode_dotl.o
  CC      drivers/cdrom/cdrom.o
  CC      drivers/acpi/acpica/rsmemory.o
  CC      drivers/acpi/acpica/rsmisc.o
  CC      arch/x86/kernel/tsc_msr.o
  CC      fs/nfs/read.o
  CC      kernel/stacktrace.o
  CC      net/ipv4/udp_tunnel_stub.o
  AR      fs/nls/built-in.a
  CC      fs/tracefs/inode.o
  AR      mm/built-in.a
  CC      fs/tracefs/event_inode.o
  CC [M]  fs/efivarfs/inode.o
  CC [M]  fs/efivarfs/file.o
  CC [M]  fs/efivarfs/super.o
  CC      net/mac80211/spectmgmt.o
  CC [M]  fs/efivarfs/vars.o
  CC      drivers/acpi/acpi_processor.o
  AR      drivers/net/phy/built-in.a
  CC      lib/errseq.o
  CC      drivers/base/platform-msi.o
  CC      drivers/scsi/scsi_common.o
  CC      drivers/scsi/scsi_transport_spi.o
  CC      drivers/acpi/acpica/rsserial.o
  CC      lib/bucket_locks.o
  CC      drivers/base/physical_location.o
  CC      drivers/scsi/virtio_scsi.o
  CC      net/mac80211/tx.o
  CC      lib/generic-radix-tree.o
  CC      drivers/acpi/processor_core.o
  CC      net/ipv6/inet6_hashtables.o
  CC      fs/nfs/symlink.o
  CC      drivers/scsi/sd.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_freq.o
  CC      net/mac80211/key.o
  AR      drivers/firewire/built-in.a
  CC      kernel/dma.o
  CC      kernel/smp.o
  CC      drivers/acpi/acpica/rsutils.o
  AR      fs/debugfs/built-in.a
  CC      fs/open.o
  CC      drivers/acpi/processor_pdc.o
  CC      fs/autofs/dev-ioctl.o
  CC      drivers/gpu/drm/drm_client.o
  CC      net/ipv4/ip_tunnel.o
  CC      fs/lockd/svcproc.o
  CC      drivers/gpu/drm/drm_client_modeset.o
  CC      drivers/acpi/ec.o
  CC      net/ipv4/sysctl_net_ipv4.o
  CC      drivers/acpi/acpica/rsxface.o
  CC      drivers/scsi/sr.o
  CC      fs/9p/vfs_addr.o
  CC      fs/9p/vfs_file.o
  CC      fs/nfs/unlink.o
  CC      drivers/base/trace.o
  CC      net/ipv6/mcast_snoop.o
  CC      fs/lockd/svcsubs.o
  CC      lib/bitmap-str.o
  CC      fs/nfs/write.o
  CC      net/ipv4/proc.o
  CC      net/ipv4/fib_rules.o
  CC      drivers/gpu/drm/i915/soc/intel_dram.o
  LD [M]  fs/efivarfs/efivarfs.o
  CC      fs/9p/vfs_dir.o
  CC      net/ipv4/ipmr.o
  CC      fs/lockd/mon.o
  CC      arch/x86/kernel/io_delay.o
  CC      drivers/gpu/drm/i915/soc/intel_gmch.o
  AR      fs/tracefs/built-in.a
  CC      net/ipv4/ipmr_base.o
  CC      net/ipv4/syncookies.o
  CC      drivers/gpu/drm/drm_color_mgmt.o
  CC      lib/string_helpers.o
  CC      drivers/acpi/dock.o
  CC      drivers/acpi/acpica/tbdata.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_idle.o
  CC      drivers/acpi/pci_root.o
  CC      net/mac80211/util.o
  CC      arch/x86/kernel/rtc.o
  CC      drivers/scsi/sr_ioctl.o
  CC      net/mac80211/parse.o
  AR      fs/autofs/built-in.a
  CC      fs/nfs/namespace.o
  CC      drivers/gpu/drm/drm_connector.o
  CC      net/mac80211/wme.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_mcr.o
  CC      fs/9p/vfs_dentry.o
  CC      fs/9p/v9fs.o
  AR      drivers/cdrom/built-in.a
  CC      fs/nfs/mount_clnt.o
  CC      kernel/uid16.o
  CC      fs/9p/fid.o
  AR      drivers/base/built-in.a
  CC      drivers/acpi/acpica/tbfadt.o
  CC      kernel/kallsyms.o
  CC      fs/nfs/nfstrace.o
  CC      net/mac80211/chan.o
  CC      fs/nfs/export.o
  AR      drivers/net/ethernet/huawei/built-in.a
  CC      drivers/scsi/sr_vendor.o
  CC      fs/9p/xattr.o
  CC      drivers/gpu/drm/drm_crtc.o
  AR      net/ipv6/built-in.a
  CC      drivers/scsi/sg.o
  CC      fs/nfs/sysfs.o
  CC      lib/hexdump.o
  CC      drivers/scsi/scsi_sysfs.o
  CC      kernel/acct.o
  CC      drivers/gpu/drm/i915/soc/intel_pch.o
  CC      lib/kstrtox.o
  CC      drivers/acpi/acpica/tbfind.o
  CC      net/ipv4/tunnel4.o
  CC      arch/x86/kernel/resource.o
  CC      fs/lockd/trace.o
  CC      drivers/net/ethernet/intel/e1000/e1000_main.o
  CC      drivers/net/ethernet/intel/e1000e/82571.o
  CC      drivers/net/ethernet/intel/e1000/e1000_hw.o
  CC      drivers/net/ethernet/intel/e100.o
  CC      drivers/net/ethernet/intel/e1000e/ich8lan.o
  CC      drivers/acpi/pci_link.o
  CC      net/ipv4/ipconfig.o
  CC      fs/lockd/xdr.o
  AS      arch/x86/kernel/irqflags.o
  CC      lib/iomap.o
  CC      arch/x86/kernel/static_call.o
  CC      lib/iomap_copy.o
  CC      fs/read_write.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_pagefault.o
  CC      drivers/net/ethernet/intel/e1000e/80003es2lan.o
  CC      drivers/acpi/pci_irq.o
  CC      drivers/acpi/acpica/tbinstal.o
  CC      net/mac80211/trace.o
  AR      fs/9p/built-in.a
  CC      fs/file_table.o
  CC      kernel/vmcore_info.o
  AR      drivers/net/ethernet/i825xx/built-in.a
  AR      drivers/net/ethernet/microsoft/built-in.a
  CC      arch/x86/kernel/process.o
  CC      arch/x86/kernel/ptrace.o
  CC      arch/x86/kernel/tls.o
  CC      fs/nfs/fs_context.o
  AR      drivers/auxdisplay/built-in.a
  CC      fs/nfs/nfsroot.o
  CC      drivers/gpu/drm/drm_displayid.o
  CC      lib/devres.o
  CC      fs/nfs/sysctl.o
  CC      net/mac80211/mlme.o
  CC      drivers/acpi/acpica/tbprint.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_sysfs.o
  CC      fs/super.o
  CC      fs/char_dev.o
  CC      kernel/elfcorehdr.o
  CC      lib/check_signature.o
  CC      drivers/net/ethernet/intel/e1000/e1000_ethtool.o
  CC      drivers/gpu/drm/i915/i915_memcpy.o
  AR      drivers/net/ethernet/litex/built-in.a
  CC      drivers/gpu/drm/i915/i915_mm.o
  AR      drivers/net/ethernet/marvell/octeon_ep/built-in.a
  AR      drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
  CC      fs/nfs/nfs2super.o
  AR      drivers/net/ethernet/marvell/octeontx2/built-in.a
  AR      drivers/net/ethernet/marvell/prestera/built-in.a
  CC      drivers/net/ethernet/marvell/sky2.o
  CC      kernel/crash_reserve.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.o
  CC      drivers/acpi/acpica/tbutils.o
  CC      drivers/gpu/drm/i915/i915_sw_fence.o
  CC      kernel/kexec_core.o
  CC      fs/stat.o
  CC      lib/interval_tree.o
  CC      fs/lockd/clnt4xdr.o
  CC      drivers/net/ethernet/intel/e1000e/mac.o
  CC      net/ipv4/netfilter.o
  CC      drivers/net/ethernet/intel/e1000e/manage.o
  CC      net/mac80211/tdls.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
  CC      fs/lockd/xdr4.o
  CC      drivers/net/ethernet/intel/e1000e/nvm.o
  CC      lib/assoc_array.o
  AR      drivers/scsi/built-in.a
  CC      fs/nfs/proc.o
  AR      drivers/net/ethernet/mellanox/built-in.a
  CC      arch/x86/kernel/step.o
  CC      net/mac80211/ocb.o
  CC      drivers/gpu/drm/i915/i915_sw_fence_work.o
  CC      drivers/acpi/acpica/tbxface.o
  CC      fs/exec.o
  CC      drivers/net/ethernet/intel/e1000e/phy.o
  CC      fs/nfs/nfs2xdr.o
  CC [M]  drivers/gpu/drm/xe/xe_gt_topology.o
  CC      fs/nfs/nfs3super.o
  GEN     xe_wa_oob.c xe_wa_oob.h
  CC      drivers/net/ethernet/intel/e1000e/param.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_db_mgr.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_debugfs.o
  CC      fs/pipe.o
  CC      lib/bitrev.o
  CC      drivers/pcmcia/cs.o
  CC      kernel/crash_core.o
  CC      drivers/gpu/drm/i915/i915_syncmap.o
  CC      net/ipv4/tcp_cubic.o
  CC      drivers/acpi/acpica/tbxfload.o
  CC      arch/x86/kernel/i8237.o
  CC      drivers/gpu/drm/drm_drv.o
  CC      fs/nfs/nfs3client.o
  AR      drivers/net/ethernet/micrel/built-in.a
  AR      drivers/net/ethernet/microchip/built-in.a
  CC      drivers/usb/common/common.o
  AR      drivers/net/ethernet/mscc/built-in.a
  CC      drivers/input/serio/serio.o
  CC      fs/namei.o
  CC      drivers/rtc/lib.o
  CC      drivers/input/keyboard/atkbd.o
  CC      drivers/rtc/class.o
  CC      drivers/net/ethernet/intel/e1000/e1000_param.o
  CC      lib/crc-ccitt.o
  CC      fs/lockd/svc4proc.o
  CC      drivers/input/mouse/psmouse-base.o
  CC      net/ipv4/tcp_sigpool.o
  CC      drivers/net/ethernet/intel/e1000e/ethtool.o
  CC      arch/x86/kernel/stacktrace.o
  CC      drivers/gpu/drm/i915/i915_user_extensions.o
  CC      drivers/acpi/acpica/tbxfroot.o
  CC      drivers/rtc/interface.o
  CC      fs/lockd/procfs.o
  CC      drivers/usb/core/usb.o
  CC      drivers/usb/core/hub.o
  AR      drivers/usb/phy/built-in.a
  CC      drivers/rtc/nvmem.o
  CC      drivers/usb/core/hcd.o
  CC      lib/crc16.o
  CC      fs/nfs/nfs3proc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_hwconfig.o
  CC      fs/nfs/nfs3xdr.o
  CC      drivers/pcmcia/socket_sysfs.o
  CC      kernel/kexec.o
  CC      drivers/acpi/acpica/utaddress.o
  CC      drivers/input/mouse/synaptics.o
  CC      drivers/usb/core/urb.o
  CC      drivers/gpu/drm/i915/i915_debugfs.o
  AR      drivers/input/joystick/built-in.a
  CC      net/mac80211/airtime.o
  CC      drivers/input/serio/i8042.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_id_mgr.o
  AR      drivers/input/tablet/built-in.a
  CC      drivers/usb/common/debug.o
  AR      drivers/input/touchscreen/built-in.a
  CC      fs/fcntl.o
  CC      drivers/acpi/acpi_lpss.o
  HOSTCC  lib/gen_crc32table
  CC      drivers/gpu/drm/i915/i915_debugfs_params.o
  CC      drivers/acpi/acpica/utalloc.o
  AR      drivers/usb/common/built-in.a
  CC      arch/x86/kernel/reboot.o
  CC      arch/x86/kernel/msr.o
  CC      lib/xxhash.o
  CC      fs/ioctl.o
  CC      drivers/usb/mon/mon_main.o
  CC      drivers/rtc/dev.o
  CC      arch/x86/kernel/cpuid.o
  CC      lib/genalloc.o
  AR      drivers/input/keyboard/built-in.a
  CC      drivers/net/ethernet/intel/e1000e/netdev.o
  CC      net/mac80211/eht.o
  CC      net/ipv4/cipso_ipv4.o
  CC      drivers/pcmcia/cardbus.o
  CC      net/ipv4/xfrm4_policy.o
  AR      drivers/net/ethernet/intel/e1000/built-in.a
  CC      drivers/input/mouse/focaltech.o
  CC      drivers/acpi/acpica/utascii.o
  CC      drivers/usb/mon/mon_stat.o
  AR      drivers/input/misc/built-in.a
  CC      fs/readdir.o
  CC      net/mac80211/led.o
  AR      fs/lockd/built-in.a
  CC      fs/select.o
  CC      drivers/usb/core/message.o
  CC      drivers/input/mouse/alps.o
  CC      kernel/utsname.o
  CC      fs/nfs/nfs3acl.o
  AR      drivers/net/ethernet/broadcom/built-in.a
  CC      drivers/acpi/acpica/utbuffer.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_klv_helpers.o
  CC      drivers/input/serio/serport.o
  CC      drivers/pcmcia/ds.o
  CC      drivers/net/ethernet/intel/e1000e/ptp.o
  CC      arch/x86/kernel/early-quirks.o
  CC      drivers/usb/mon/mon_text.o
  CC      drivers/usb/core/driver.o
  CC      drivers/input/serio/libps2.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_log.o
  CC      drivers/input/mouse/byd.o
  CC      fs/nfs/nfs4proc.o
  CC      lib/percpu_counter.o
  CC      drivers/acpi/acpi_apd.o
  CC      arch/x86/kernel/smp.o
  CC      drivers/rtc/proc.o
  AR      drivers/net/ethernet/marvell/built-in.a
  CC      fs/dcache.o
  CC      drivers/acpi/acpi_platform.o
  CC      fs/nfs/nfs4xdr.o
  CC      lib/audit.o
  CC      arch/x86/kernel/smpboot.o
  CC      kernel/pid_namespace.o
  CC      fs/inode.o
  CC      drivers/usb/core/config.o
  CC      drivers/usb/core/file.o
  CC      drivers/acpi/acpica/utcksum.o
  CC      drivers/usb/mon/mon_bin.o
  CC      drivers/pcmcia/pcmcia_resource.o
  CC      drivers/acpi/acpica/utcopy.o
  CC      net/mac80211/pm.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_pc.o
  CC      drivers/gpu/drm/i915/i915_pmu.o
  CC      net/mac80211/rc80211_minstrel_ht.o
  CC      net/mac80211/wbrf.o
  CC      net/ipv4/xfrm4_state.o
  CC      net/ipv4/xfrm4_input.o
  CC      drivers/acpi/acpi_pnp.o
  CC      drivers/pcmcia/cistpl.o
  CC      drivers/gpu/drm/i915/gt/gen2_engine_cs.o
  CC      drivers/input/mouse/logips2pp.o
  CC      drivers/i2c/algos/i2c-algo-bit.o
  CC      drivers/rtc/sysfs.o
  AR      drivers/input/serio/built-in.a
  CC      lib/syscall.o
  CC      drivers/i2c/busses/i2c-i801.o
  AR      drivers/i2c/muxes/built-in.a
  CC      drivers/acpi/acpica/utexcep.o
  CC      drivers/gpu/drm/drm_dumb_buffers.o
  CC      kernel/stop_machine.o
  CC      drivers/usb/host/pci-quirks.o
  CC      drivers/usb/host/ehci-hcd.o
  CC      drivers/usb/class/usblp.o
  CC      drivers/usb/host/ehci-pci.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      drivers/pcmcia/pcmcia_cis.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_submit.o
  CC      drivers/usb/storage/scsiglue.o
  CC      net/ipv4/xfrm4_output.o
  CC      drivers/usb/storage/protocol.o
  CC      arch/x86/kernel/setup_percpu.o
  CC      drivers/usb/core/buffer.o
  CC      drivers/acpi/acpica/utdebug.o
  CC      drivers/acpi/acpica/utdecode.o
  CC      fs/attr.o
  CC      drivers/pcmcia/rsrc_mgr.o
  CC      drivers/gpu/drm/i915/gt/gen6_engine_cs.o
  CC      drivers/usb/core/sysfs.o
  AR      drivers/usb/mon/built-in.a
  AR      drivers/usb/misc/built-in.a
  CC      drivers/usb/core/endpoint.o
  CC      drivers/usb/early/ehci-dbgp.o
  AR      drivers/net/ethernet/myricom/built-in.a
  CC      drivers/input/mouse/lifebook.o
  CC      drivers/usb/core/devio.o
  CC      fs/nfs/nfs4state.o
  CC      lib/errname.o
  CC      drivers/usb/core/notify.o
  CC      drivers/acpi/acpica/utdelete.o
  CC      drivers/rtc/rtc-mc146818-lib.o
  CC      drivers/usb/host/ohci-hcd.o
  CC      lib/nlattr.o
  CC      drivers/gpu/drm/drm_edid.o
  CC [M]  drivers/gpu/drm/xe/xe_heci_gsc.o
  CC      arch/x86/kernel/mpparse.o
  CC      drivers/input/input.o
  CC      net/ipv4/xfrm4_protocol.o
  CC      drivers/acpi/power.o
  CC      drivers/rtc/rtc-cmos.o
  AR      drivers/i2c/algos/built-in.a
  CC      kernel/audit.o
  CC      kernel/auditfilter.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC      drivers/usb/core/generic.o
  CC      drivers/usb/core/quirks.o
  CC      fs/nfs/nfs4renewd.o
  CC      lib/cpu_rmap.o
  CC      drivers/acpi/acpica/uterror.o
  CC      arch/x86/kernel/trace_clock.o
  AR      drivers/usb/class/built-in.a
  CC      kernel/auditsc.o
  CC      drivers/acpi/acpica/uteval.o
  CC      arch/x86/kernel/trace.o
  CC      drivers/gpu/drm/i915/gt/gen6_ppgtt.o
  CC      fs/bad_inode.o
  CC      drivers/input/mouse/trackpoint.o
  CC      fs/nfs/nfs4super.o
  CC      drivers/usb/host/ohci-pci.o
  CC      drivers/usb/storage/transport.o
  CC      drivers/usb/host/uhci-hcd.o
  AR      drivers/i2c/busses/built-in.a
  CC      drivers/i2c/i2c-core-base.o
  CC      drivers/usb/storage/usb.o
  CC      drivers/input/mouse/cypress_ps2.o
  CC      drivers/acpi/event.o
  CC      drivers/pcmcia/rsrc_nonstatic.o
  CC      fs/nfs/nfs4file.o
  CC      fs/nfs/delegation.o
  AR      drivers/usb/early/built-in.a
  CC      kernel/audit_watch.o
  AR      drivers/net/ethernet/natsemi/built-in.a
  CC      drivers/gpu/drm/i915/gt/gen7_renderclear.o
  CC      fs/nfs/nfs4idmap.o
  CC      drivers/gpu/drm/i915/gt/gen8_engine_cs.o
  CC      drivers/acpi/acpica/utglobal.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine.o
  CC      drivers/usb/storage/initializers.o
  CC      drivers/usb/core/devices.o
  CC      drivers/acpi/evged.o
  CC [M]  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
  CC      drivers/pcmcia/yenta_socket.o
  CC      drivers/i2c/i2c-core-smbus.o
  AR      drivers/net/ethernet/neterion/built-in.a
  AR      drivers/net/ethernet/netronome/built-in.a
  AR      drivers/net/ethernet/ni/built-in.a
  CC      drivers/net/ethernet/nvidia/forcedeth.o
  CC      arch/x86/kernel/rethook.o
  CC      lib/dynamic_queue_limits.o
  CC      drivers/acpi/acpica/uthex.o
  AR      drivers/rtc/built-in.a
  AR      drivers/i3c/built-in.a
  CC      drivers/usb/host/xhci.o
  AR      drivers/media/i2c/built-in.a
  AR      drivers/media/tuners/built-in.a
  CC      drivers/input/mouse/psmouse-smbus.o
  AR      drivers/media/rc/keymaps/built-in.a
  AR      drivers/media/rc/built-in.a
  AR      net/ipv4/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_hw_fence.o
  AR      drivers/media/common/b2c2/built-in.a
  AR      drivers/media/common/saa7146/built-in.a
  AR      drivers/media/common/siano/built-in.a
  AR      drivers/media/common/v4l2-tpg/built-in.a
  AR      drivers/media/platform/allegro-dvt/built-in.a
  AR      drivers/media/common/videobuf2/built-in.a
  AR      drivers/media/common/built-in.a
  AR      drivers/media/platform/amlogic/meson-ge2d/built-in.a
  AR      drivers/media/platform/amlogic/built-in.a
  AR      drivers/pps/clients/built-in.a
  CC      drivers/pps/pps.o
  AR      drivers/pps/generators/built-in.a
  AR      drivers/media/platform/amphion/built-in.a
  CC      drivers/ptp/ptp_clock.o
  CC      drivers/ptp/ptp_chardev.o
  AR      drivers/media/platform/aspeed/built-in.a
  AR      drivers/media/platform/atmel/built-in.a
  CC      drivers/pps/kapi.o
  AR      drivers/media/platform/cadence/built-in.a
  AR      drivers/media/platform/chips-media/coda/built-in.a
  CC      drivers/ptp/ptp_sysfs.o
  CC      drivers/acpi/acpica/utids.o
  AR      drivers/media/platform/chips-media/wave5/built-in.a
  AR      drivers/media/platform/chips-media/built-in.a
  CC      drivers/power/supply/power_supply_core.o
  CC      drivers/power/supply/power_supply_sysfs.o
  AR      drivers/media/platform/intel/built-in.a
  CC      drivers/usb/host/xhci-mem.o
  CC      drivers/ptp/ptp_vclock.o
  AR      drivers/media/platform/marvell/built-in.a
  CC      drivers/ptp/ptp_kvm_x86.o
  CC      drivers/usb/storage/sierra_ms.o
  AR      drivers/media/platform/mediatek/jpeg/built-in.a
  AR      drivers/media/platform/mediatek/mdp/built-in.a
  CC      drivers/power/supply/power_supply_leds.o
  AR      drivers/media/platform/mediatek/vcodec/common/built-in.a
  AR      drivers/media/platform/mediatek/vpu/built-in.a
  CC      fs/nfs/callback.o
  AR      drivers/media/platform/mediatek/vcodec/encoder/built-in.a
  CC      arch/x86/kernel/vmcore_info_32.o
  CC      drivers/i2c/i2c-core-acpi.o
  AR      drivers/media/platform/mediatek/vcodec/decoder/built-in.a
  CC      drivers/i2c/i2c-smbus.o
  AR      drivers/media/platform/mediatek/vcodec/built-in.a
  CC      kernel/audit_fsnotify.o
  CC      drivers/usb/core/phy.o
  AR      drivers/media/platform/mediatek/mdp3/built-in.a
  CC      fs/nfs/callback_xdr.o
  AR      drivers/media/platform/mediatek/built-in.a
  AR      drivers/media/platform/microchip/built-in.a
  CC      arch/x86/kernel/machine_kexec_32.o
  AR      drivers/media/platform/nuvoton/built-in.a
  AR      drivers/media/platform/nvidia/tegra-vde/built-in.a
  AR      drivers/media/platform/nvidia/built-in.a
  CC      kernel/audit_tree.o
  CC      drivers/input/input-compat.o
  AR      drivers/media/platform/nxp/dw100/built-in.a
  AR      drivers/net/ethernet/intel/e1000e/built-in.a
  AR      drivers/media/platform/nxp/imx-jpeg/built-in.a
  AR      drivers/media/platform/nxp/imx8-isi/built-in.a
  AR      drivers/net/ethernet/intel/built-in.a
  CC      drivers/gpu/drm/i915/gt/gen8_ppgtt.o
  AR      drivers/media/platform/nxp/built-in.a
  AR      drivers/media/platform/qcom/camss/built-in.a
  AR      drivers/net/ethernet/oki-semi/built-in.a
  AR      drivers/net/ethernet/packetengines/built-in.a
  CC      drivers/input/input-mt.o
  AR      drivers/net/ethernet/qlogic/built-in.a
  AR      drivers/media/platform/qcom/venus/built-in.a
  AR      drivers/media/platform/qcom/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
  CC      drivers/acpi/acpica/utinit.o
  AR      drivers/media/platform/renesas/rcar-vin/built-in.a
  AR      drivers/media/platform/renesas/rzg2l-cru/built-in.a
  AR      drivers/media/platform/renesas/vsp1/built-in.a
  AR      drivers/media/platform/renesas/built-in.a
  AR      drivers/input/mouse/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_huc.o
  CC      drivers/pps/sysfs.o
  AR      drivers/media/platform/rockchip/rga/built-in.a
  AR      drivers/media/platform/samsung/exynos-gsc/built-in.a
  CC      lib/glob.o
  AR      drivers/media/platform/rockchip/rkisp1/built-in.a
  AR      drivers/media/platform/samsung/exynos4-is/built-in.a
  CC      lib/strncpy_from_user.o
  AR      drivers/media/platform/rockchip/built-in.a
  AR      drivers/media/platform/samsung/s3c-camif/built-in.a
  CC      drivers/input/input-poller.o
  CC      drivers/usb/host/xhci-ext-caps.o
  AS      arch/x86/kernel/relocate_kernel_32.o
  AR      drivers/media/platform/samsung/s5p-g2d/built-in.a
  AR      drivers/media/platform/samsung/s5p-jpeg/built-in.a
  CC      drivers/gpu/drm/drm_eld.o
  CC      lib/strnlen_user.o
  AR      drivers/media/platform/samsung/s5p-mfc/built-in.a
  CC      lib/net_utils.o
  AR      drivers/media/platform/samsung/built-in.a
  CC      lib/sg_pool.o
  AR      drivers/pcmcia/built-in.a
  CC      kernel/kprobes.o
  CC [M]  drivers/gpu/drm/xe/xe_huc_debugfs.o
  CC      drivers/input/ff-core.o
  AR      drivers/media/platform/st/sti/bdisp/built-in.a
  AR      drivers/media/platform/st/sti/c8sectpfe/built-in.a
  AR      drivers/media/platform/st/sti/delta/built-in.a
  CC      kernel/seccomp.o
  AR      drivers/media/platform/st/sti/hva/built-in.a
  CC      drivers/ptp/ptp_kvm_common.o
  AR      drivers/media/platform/st/stm32/built-in.a
  CC      kernel/relay.o
  AR      drivers/media/platform/st/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_irq.o
  CC      drivers/power/supply/power_supply_hwmon.o
  CC      drivers/usb/host/xhci-ring.o
  CC [M]  drivers/gpu/drm/xe/xe_lrc.o
  CC      drivers/acpi/acpica/utlock.o
  AR      drivers/media/platform/sunxi/sun4i-csi/built-in.a
  AR      drivers/media/platform/sunxi/sun6i-csi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_migrate.o
  CC      drivers/acpi/acpica/utmath.o
  CC      drivers/gpu/drm/drm_encoder.o
  AR      drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
  CC      drivers/usb/storage/option_ms.o
  CC      drivers/acpi/acpica/utmisc.o
  AR      drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-di/built-in.a
  AR      drivers/media/platform/sunxi/sun8i-rotate/built-in.a
  CC      drivers/usb/core/port.o
  AR      drivers/pps/built-in.a
  AR      drivers/media/platform/sunxi/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_mmio.o
  CC      drivers/usb/core/hcd-pci.o
  CC      arch/x86/kernel/crash_dump_32.o
  AR      drivers/media/platform/ti/am437x/built-in.a
  CC      drivers/usb/core/usb-acpi.o
  CC      drivers/hwmon/hwmon.o
  AR      drivers/media/platform/ti/cal/built-in.a
  CC      fs/nfs/callback_proc.o
  AR      drivers/media/platform/ti/vpe/built-in.a
  AR      drivers/media/platform/ti/davinci/built-in.a
  AR      drivers/thermal/broadcom/built-in.a
  AR      drivers/media/platform/ti/j721e-csi2rx/built-in.a
  AR      drivers/thermal/samsung/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_mocs.o
  AR      drivers/media/platform/ti/omap/built-in.a
  CC      drivers/thermal/intel/intel_tcc.o
  AR      drivers/media/platform/ti/omap3isp/built-in.a
  AR      drivers/media/platform/ti/built-in.a
  CC      lib/stackdepot.o
  AR      drivers/i2c/built-in.a
  CC      fs/file.o
  AR      drivers/media/platform/verisilicon/built-in.a
  AR      drivers/watchdog/built-in.a
  CC      drivers/input/touchscreen.o
  AR      drivers/media/platform/via/built-in.a
  CC      drivers/md/md.o
  CC      drivers/input/ff-memless.o
  AR      drivers/media/platform/xilinx/built-in.a
  AR      drivers/media/platform/built-in.a
  CC      drivers/thermal/intel/therm_throt.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.o
  CC      lib/asn1_decoder.o
  CC      drivers/gpu/drm/drm_file.o
  GEN     lib/oid_registry_data.c
  CC      drivers/usb/host/xhci-hub.o
  CC      drivers/acpi/acpica/utmutex.o
  CC      drivers/md/md-bitmap.o
  AR      drivers/power/supply/built-in.a
  AR      drivers/media/pci/ttpci/built-in.a
  AR      drivers/power/built-in.a
  CC      drivers/acpi/acpica/utnonansi.o
  CC      drivers/gpu/drm/drm_fourcc.o
  AR      drivers/media/pci/b2c2/built-in.a
  CC      drivers/gpu/drm/drm_framebuffer.o
  CC      drivers/gpu/drm/i915/gt/intel_context.o
  AR      drivers/media/usb/b2c2/built-in.a
  AR      drivers/media/pci/pluto2/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_context_sseu.o
  AR      drivers/media/usb/dvb-usb/built-in.a
  AR      drivers/media/pci/dm1105/built-in.a
  AR      drivers/media/usb/dvb-usb-v2/built-in.a
  AR      drivers/media/pci/pt1/built-in.a
  AR      drivers/media/usb/s2255/built-in.a
  AR      drivers/media/pci/pt3/built-in.a
  CC      kernel/utsname_sysctl.o
  AR      drivers/media/usb/siano/built-in.a
  CC      kernel/delayacct.o
  AR      drivers/media/pci/mantis/built-in.a
  AR      drivers/media/pci/ngene/built-in.a
  AR      drivers/media/usb/ttusb-budget/built-in.a
  AR      drivers/media/pci/ddbridge/built-in.a
  AR      drivers/media/usb/ttusb-dec/built-in.a
  AR      drivers/media/pci/smipcie/built-in.a
  AR      drivers/media/pci/saa7146/built-in.a
  AR      drivers/media/usb/built-in.a
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/gpu/drm/drm_gem.o
  AR      drivers/media/pci/netup_unidvb/built-in.a
  CC      drivers/md/md-autodetect.o
  AR      drivers/media/pci/intel/ipu3/built-in.a
  AR      drivers/ptp/built-in.a
  AR      drivers/media/pci/intel/ivsc/built-in.a
  CC      kernel/taskstats.o
  AR      drivers/media/pci/intel/built-in.a
  AR      drivers/media/pci/built-in.a
  AR      drivers/media/mmc/siano/built-in.a
  CC      fs/nfs/nfs4namespace.o
  AR      drivers/media/mmc/built-in.a
  AR      drivers/media/firewire/built-in.a
  CC      drivers/usb/storage/usual-tables.o
  CC      arch/x86/kernel/crash.o
  AR      drivers/media/spi/built-in.a
  AR      drivers/media/test-drivers/built-in.a
  AR      drivers/net/ethernet/qualcomm/emac/built-in.a
  AR      drivers/media/built-in.a
  AR      drivers/net/ethernet/qualcomm/built-in.a
  CC      drivers/net/ethernet/realtek/8139too.o
  CC      drivers/acpi/acpica/utobject.o
  CC      kernel/tsacct.o
  CC      fs/nfs/nfs4getroot.o
  CC      drivers/net/ethernet/realtek/r8169_main.o
  CC      kernel/tracepoint.o
  CC      fs/nfs/nfs4client.o
  CC      drivers/net/ethernet/realtek/r8169_firmware.o
  CC      fs/nfs/nfs4session.o
  AR      net/mac80211/built-in.a
  CC      kernel/irq_work.o
  AR      net/built-in.a
  CC      fs/nfs/dns_resolve.o
  CC      drivers/usb/host/xhci-dbg.o
  AR      drivers/usb/core/built-in.a
  CC      fs/filesystems.o
  CC      lib/ucs2_string.o
  CC      fs/namespace.o
  CC      drivers/cpuidle/governors/menu.o
  CC [M]  drivers/gpu/drm/xe/xe_module.o
  CC      drivers/input/sparse-keymap.o
  CC [M]  drivers/gpu/drm/xe/xe_pat.o
  CC      drivers/cpuidle/governors/haltpoll.o
  CC      fs/nfs/nfs4trace.o
  CC      drivers/net/ethernet/realtek/r8169_phy_config.o
  CC      drivers/usb/host/xhci-trace.o
  CC      drivers/acpi/acpica/utosi.o
  CC      drivers/acpi/sysfs.o
  CC      arch/x86/kernel/module.o
  AR      drivers/net/ethernet/renesas/built-in.a
  AR      drivers/hwmon/built-in.a
  AR      drivers/usb/storage/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_engine_cs.o
  AR      drivers/net/ethernet/rdc/built-in.a
  AR      drivers/thermal/intel/built-in.a
  AR      drivers/net/ethernet/rocker/built-in.a
  AR      drivers/net/ethernet/samsung/built-in.a
  AR      drivers/thermal/st/built-in.a
  CC      drivers/acpi/property.o
  AR      drivers/thermal/qcom/built-in.a
  AR      drivers/net/ethernet/seeq/built-in.a
  CC      drivers/gpu/drm/drm_ioctl.o
  AR      drivers/thermal/tegra/built-in.a
  AR      drivers/mmc/built-in.a
  CC      drivers/cpuidle/cpuidle.o
  CC      kernel/static_call.o
  CC      lib/sbitmap.o
  AR      drivers/thermal/mediatek/built-in.a
  CC      lib/group_cpus.o
  CC      drivers/thermal/thermal_core.o
  AR      drivers/net/ethernet/nvidia/built-in.a
  CC      drivers/usb/host/xhci-debugfs.o
  CC      lib/fw_table.o
  CC      drivers/acpi/acpica/utownerid.o
  CC      drivers/thermal/thermal_sysfs.o
  CC      kernel/padata.o
  AR      drivers/ufs/built-in.a
  CC      drivers/md/dm.o
  AR      drivers/leds/trigger/built-in.a
  CC      kernel/jump_label.o
  AR      drivers/leds/blink/built-in.a
  AR      drivers/leds/simple/built-in.a
  CC      drivers/leds/led-core.o
  CC      arch/x86/kernel/doublefault_32.o
  CC      drivers/leds/led-class.o
  CC      drivers/input/vivaldi-fmap.o
  CC      drivers/leds/led-triggers.o
  CC      drivers/cpuidle/driver.o
  AR      drivers/net/ethernet/silan/built-in.a
  CC      drivers/cpuidle/governor.o
  CC      drivers/thermal/thermal_trip.o
  CC      fs/seq_file.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
  CC      fs/nfs/nfs4sysctl.o
  AR      drivers/firmware/arm_ffa/built-in.a
  AR      drivers/firmware/arm_scmi/built-in.a
  CC      drivers/acpi/acpica/utpredef.o
  CC      drivers/gpu/drm/drm_lease.o
  AR      drivers/firmware/broadcom/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_engine_pm.o
  AR      drivers/firmware/cirrus/built-in.a
  CC      drivers/gpu/drm/drm_managed.o
  AR      drivers/firmware/meson/built-in.a
  AR      drivers/firmware/microchip/built-in.a
  CC      drivers/gpu/drm/drm_mm.o
  AR      drivers/firmware/imx/built-in.a
  CC      drivers/firmware/efi/efi-bgrt.o
  CC      drivers/firmware/efi/efi.o
  CC      drivers/thermal/thermal_helpers.o
  CC      drivers/thermal/thermal_hwmon.o
  CC      drivers/thermal/gov_step_wise.o
  CC      drivers/input/input-leds.o
  CC      drivers/firmware/efi/libstub/efi-stub-helper.o
  AR      drivers/cpuidle/governors/built-in.a
  CC      drivers/firmware/efi/vars.o
  CC [M]  drivers/gpu/drm/xe/xe_pci.o
  AR      lib/lib.a
  AR      drivers/firmware/psci/built-in.a
  GEN     lib/crc32table.h
  AR      drivers/firmware/qcom/built-in.a
  CC      drivers/cpuidle/sysfs.o
  AR      drivers/firmware/smccc/built-in.a
  CC      drivers/cpufreq/freq_table.o
  CC      lib/oid_registry.o
  CC [M]  drivers/gpu/drm/xe/xe_pcode.o
  AR      drivers/firmware/tegra/built-in.a
  AR      drivers/firmware/xilinx/built-in.a
  CC      drivers/firmware/dmi_scan.o
  CC      drivers/cpuidle/poll_state.o
  CC      drivers/cpuidle/cpuidle-haltpoll.o
  CC      drivers/cpufreq/cpufreq_performance.o
  CC      drivers/acpi/acpica/utresdecode.o
  CC      drivers/firmware/dmi-id.o
  CC      drivers/gpu/drm/drm_mode_config.o
  CC      drivers/thermal/gov_user_space.o
  CC      drivers/gpu/drm/drm_mode_object.o
  CC      lib/crc32.o
  CC      kernel/context_tracking.o
  CC      drivers/acpi/acpi_cmos_rtc.o
  CC      drivers/usb/host/xhci-pci.o
  AR      drivers/leds/built-in.a
  CC      drivers/acpi/x86/apple.o
  CC      drivers/firmware/efi/libstub/gop.o
  CC      arch/x86/kernel/early_printk.o
  CC      arch/x86/kernel/hpet.o
  CC      drivers/md/dm-table.o
  CC      kernel/iomem.o
  AR      drivers/crypto/stm32/built-in.a
  CC      kernel/rseq.o
  AR      drivers/crypto/xilinx/built-in.a
  AR      drivers/crypto/hisilicon/built-in.a
  AR      drivers/crypto/intel/keembay/built-in.a
  CC      drivers/clocksource/acpi_pm.o
  CC      drivers/acpi/acpica/utresrc.o
  CC      drivers/md/dm-target.o
  AR      drivers/crypto/intel/ixp4xx/built-in.a
  CC      drivers/clocksource/i8253.o
  AR      drivers/crypto/intel/built-in.a
  CC      drivers/firmware/efi/reboot.o
  AR      drivers/crypto/starfive/built-in.a
  AR      drivers/crypto/built-in.a
  CC      drivers/input/evdev.o
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC      drivers/md/dm-linear.o
  CC      drivers/firmware/efi/memattr.o
  CC      drivers/hid/usbhid/hid-core.o
  CC      drivers/cpufreq/cpufreq_ondemand.o
  CC      drivers/hid/usbhid/hiddev.o
  CC      drivers/hid/hid-core.o
  CC      drivers/firmware/efi/tpm.o
  AR      drivers/cpuidle/built-in.a
  CC      drivers/hid/hid-input.o
  CC      drivers/hid/usbhid/hid-pidff.o
  AR      drivers/net/ethernet/sis/built-in.a
  CC      drivers/md/dm-stripe.o
  AR      drivers/net/ethernet/sfc/built-in.a
  AR      drivers/thermal/built-in.a
  AR      drivers/net/ethernet/smsc/built-in.a
  CC      drivers/firmware/efi/libstub/secureboot.o
  CC      drivers/hid/hid-quirks.o
  AR      lib/built-in.a
  CC      drivers/firmware/efi/memmap.o
  CC      drivers/gpu/drm/drm_modes.o
  CC      drivers/firmware/efi/capsule.o
  CC      drivers/firmware/memmap.o
  CC      fs/xattr.o
  CC      drivers/cpufreq/cpufreq_governor.o
  CC      drivers/acpi/acpica/utstate.o
  CC      drivers/gpu/drm/i915/gt/intel_engine_user.o
  CC      drivers/acpi/x86/utils.o
  CC      fs/libfs.o
  CC [M]  drivers/gpu/drm/xe/xe_pm.o
  CC      drivers/firmware/efi/esrt.o
  CC      drivers/cpufreq/cpufreq_governor_attr_set.o
  CC      drivers/firmware/efi/runtime-wrappers.o
  CC      drivers/md/dm-ioctl.o
  CC      drivers/gpu/drm/i915/gt/intel_execlists_submission.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt.o
  CC      drivers/acpi/x86/s2idle.o
  CC      drivers/acpi/debugfs.o
  CC      drivers/cpufreq/acpi-cpufreq.o
  CC      drivers/acpi/acpi_lpat.o
  CC      drivers/acpi/acpi_pcc.o
  AR      drivers/clocksource/built-in.a
  CC      arch/x86/kernel/amd_nb.o
  CC      drivers/firmware/efi/capsule-loader.o
  CC      drivers/md/dm-io.o
  CC      drivers/acpi/acpica/utstring.o
  CC      drivers/hid/hid-debug.o
  CC      drivers/firmware/efi/earlycon.o
  CC      drivers/hid/hidraw.o
  CC      drivers/firmware/efi/libstub/tpm.o
  AR      kernel/built-in.a
  AR      drivers/net/ethernet/realtek/built-in.a
  AR      drivers/net/ethernet/socionext/built-in.a
  AR      drivers/net/ethernet/stmicro/built-in.a
  CC      drivers/firmware/efi/libstub/file.o
  CC      drivers/acpi/ac.o
  AR      drivers/net/ethernet/sun/built-in.a
  AR      drivers/net/ethernet/tehuti/built-in.a
  CC      drivers/cpufreq/amd-pstate.o
  AR      drivers/net/ethernet/ti/built-in.a
  CC      drivers/cpufreq/amd-pstate-trace.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
  CC      drivers/gpu/drm/drm_modeset_lock.o
  AR      drivers/net/ethernet/vertexcom/built-in.a
  CC      drivers/gpu/drm/drm_plane.o
  AR      drivers/net/ethernet/via/built-in.a
  CC      arch/x86/kernel/kvm.o
  AR      drivers/net/ethernet/wangxun/built-in.a
  AR      drivers/net/ethernet/wiznet/built-in.a
  AR      drivers/input/built-in.a
  CC      drivers/hid/hid-generic.o
  CC [M]  drivers/gpu/drm/xe/xe_preempt_fence.o
  CC      drivers/acpi/acpica/utstrsuppt.o
  AR      drivers/net/ethernet/xilinx/built-in.a
  CC      drivers/md/dm-kcopyd.o
  AR      drivers/net/ethernet/xircom/built-in.a
  CC      fs/fs-writeback.o
  CC      drivers/md/dm-sysfs.o
  AR      drivers/net/ethernet/synopsys/built-in.a
  AR      drivers/net/ethernet/pensando/built-in.a
  CC      drivers/acpi/acpica/utstrtoul64.o
  AR      drivers/net/ethernet/built-in.a
  CC      drivers/acpi/button.o
  CC      arch/x86/kernel/kvmclock.o
  CC [M]  drivers/gpu/drm/xe/xe_pt.o
  CC      drivers/acpi/acpica/utxface.o
  CC      drivers/acpi/fan_core.o
  CC      arch/x86/kernel/paravirt.o
  CC      arch/x86/kernel/pvclock.o
  AR      drivers/net/built-in.a
  CC      arch/x86/kernel/pcspeaker.o
  AR      drivers/usb/host/built-in.a
  AR      drivers/platform/x86/amd/built-in.a
  AR      drivers/usb/built-in.a
  AR      drivers/platform/x86/intel/built-in.a
  CC      drivers/platform/x86/wmi.o
  AR      drivers/platform/surface/built-in.a
  CC      drivers/platform/x86/wmi-bmof.o
  CC      drivers/platform/x86/eeepc-laptop.o
  AR      drivers/hid/usbhid/built-in.a
  CC      drivers/acpi/fan_attr.o
  CC      drivers/cpufreq/intel_pstate.o
  CC [M]  drivers/gpu/drm/xe/xe_pt_walk.o
  CC      drivers/gpu/drm/i915/gt/intel_gt.o
  CC      drivers/platform/x86/p2sb.o
  CC      drivers/acpi/acpi_video.o
  CC      drivers/hid/hid-a4tech.o
  CC      arch/x86/kernel/check.o
  CC      drivers/hid/hid-apple.o
  CC      drivers/mailbox/mailbox.o
  CC      drivers/md/dm-stats.o
  CC      drivers/mailbox/pcc.o
  CC      drivers/acpi/acpica/utxfinit.o
  CC [M]  drivers/gpu/drm/xe/xe_query.o
  CC      drivers/firmware/efi/libstub/mem.o
  CC      drivers/gpu/drm/drm_prime.o
  CC      arch/x86/kernel/uprobes.o
  CC      drivers/gpu/drm/drm_print.o
  CC      drivers/hid/hid-belkin.o
  CC [M]  drivers/gpu/drm/xe/xe_range_fence.o
  AR      drivers/perf/built-in.a
  CC      drivers/hid/hid-cherry.o
  CC      drivers/md/dm-rq.o
  AR      drivers/hwtracing/intel_th/built-in.a
  CC      drivers/md/dm-io-rewind.o
  CC      fs/pnode.o
  AR      fs/nfs/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_reg_sr.o
  CC      drivers/gpu/drm/drm_property.o
  CC      drivers/hid/hid-chicony.o
  CC      arch/x86/kernel/perf_regs.o
  CC      drivers/acpi/video_detect.o
  CC      drivers/gpu/drm/drm_syncobj.o
  CC      arch/x86/kernel/tracepoint.o
  CC [M]  drivers/gpu/drm/xe/xe_reg_whitelist.o
  CC      drivers/acpi/processor_driver.o
  CC      drivers/acpi/acpica/utxferror.o
  CC      fs/splice.o
  CC      drivers/md/dm-builtin.o
  CC      drivers/md/dm-raid1.o
  CC      drivers/hid/hid-cypress.o
  CC      drivers/gpu/drm/drm_sysfs.o
  CC      drivers/hid/hid-ezkey.o
  CC      drivers/acpi/acpica/utxfmutex.o
  CC      drivers/hid/hid-gyration.o
  CC      drivers/acpi/processor_thermal.o
  AR      drivers/mailbox/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
  CC      drivers/gpu/drm/drm_trace_points.o
  CC      drivers/md/dm-log.o
  CC      drivers/hid/hid-ite.o
  CC      fs/sync.o
  CC      arch/x86/kernel/itmt.o
  CC [M]  drivers/gpu/drm/xe/xe_rtp.o
  CC      drivers/gpu/drm/drm_vblank.o
  CC      drivers/firmware/efi/libstub/random.o
  AR      drivers/android/built-in.a
  AR      drivers/nvmem/layouts/built-in.a
  CC      drivers/gpu/drm/drm_vblank_work.o
  CC      drivers/nvmem/core.o
  CC [M]  drivers/gpu/drm/xe/xe_ring_ops.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
  CC      drivers/hid/hid-kensington.o
  CC      drivers/hid/hid-lg.o
  AR      drivers/platform/x86/built-in.a
  AR      drivers/platform/built-in.a
  CC      arch/x86/kernel/umip.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
  CC      arch/x86/kernel/unwind_frame.o
  CC      fs/utimes.o
  AR      drivers/acpi/acpica/built-in.a
  CC      drivers/hid/hid-lgff.o
  CC      fs/d_path.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
  CC      drivers/gpu/drm/drm_vma_manager.o
  CC      drivers/firmware/efi/libstub/randomalloc.o
  CC      drivers/hid/hid-lg4ff.o
  CC [M]  drivers/gpu/drm/xe/xe_sa.o
  CC [M]  drivers/gpu/drm/xe/xe_sched_job.o
  CC      drivers/acpi/processor_idle.o
  CC      drivers/md/dm-region-hash.o
  CC      drivers/acpi/processor_throttling.o
  CC      drivers/gpu/drm/drm_writeback.o
  CC      drivers/hid/hid-lg-g15.o
  CC      drivers/acpi/processor_perflib.o
  CC [M]  drivers/gpu/drm/xe/xe_step.o
  CC      drivers/md/dm-zero.o
  AR      drivers/firmware/efi/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_irq.o
  CC      drivers/hid/hid-microsoft.o
  CC      drivers/hid/hid-monterey.o
  CC [M]  drivers/gpu/drm/xe/xe_sync.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_mcr.o
  CC      drivers/acpi/container.o
  CC      drivers/hid/hid-ntrig.o
  CC      drivers/firmware/efi/libstub/pci.o
  CC      drivers/gpu/drm/drm_panel.o
  CC [M]  drivers/gpu/drm/xe/xe_tile.o
  CC      drivers/hid/hid-pl.o
  CC [M]  drivers/gpu/drm/xe/xe_tile_sysfs.o
  CC      drivers/hid/hid-petalynx.o
  CC      drivers/gpu/drm/drm_pci.o
  CC      drivers/gpu/drm/drm_debugfs.o
  CC      drivers/acpi/thermal_lib.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm.o
  CC      drivers/gpu/drm/drm_debugfs_crc.o
  CC      drivers/gpu/drm/drm_panel_orientation_quirks.o
  CC      drivers/firmware/efi/libstub/skip_spaces.o
  CC      drivers/firmware/efi/libstub/lib-cmdline.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
  CC      fs/stack.o
  CC      drivers/firmware/efi/libstub/lib-ctype.o
  CC [M]  drivers/gpu/drm/xe/xe_trace.o
  AR      arch/x86/kernel/built-in.a
  CC      drivers/gpu/drm/drm_buddy.o
  CC      fs/fs_struct.o
  AR      arch/x86/built-in.a
  CC      drivers/firmware/efi/libstub/alignedmem.o
  CC      drivers/firmware/efi/libstub/relocate.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
  CC      drivers/firmware/efi/libstub/printk.o
  AR      drivers/cpufreq/built-in.a
  CC      fs/statfs.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_requests.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
  AR      drivers/nvmem/built-in.a
  CC [M]  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
  CC      drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
  CC      drivers/gpu/drm/i915/gt/intel_gtt.o
  CC      drivers/firmware/efi/libstub/vsprintf.o
  CC      drivers/acpi/thermal.o
  CC [M]  drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
  CC      drivers/acpi/acpi_memhotplug.o
  CC      drivers/firmware/efi/libstub/x86-stub.o
  CC      drivers/acpi/ioapic.o
  AR      drivers/md/built-in.a
  CC      drivers/gpu/drm/drm_gem_shmem_helper.o
  CC      drivers/acpi/battery.o
  CC      drivers/hid/hid-redragon.o
  CC [M]  drivers/gpu/drm/xe/xe_tuning.o
  CC      drivers/gpu/drm/i915/gt/intel_llc.o
  CC      drivers/acpi/bgrt.o
  STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
  STUBCPY drivers/firmware/efi/libstub/file.stub.o
  STUBCPY drivers/firmware/efi/libstub/gop.stub.o
  CC [M]  drivers/gpu/drm/xe/xe_uc.o
  STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
  CC      fs/fs_pin.o
  STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
  CC      drivers/gpu/drm/i915/gt/intel_lrc.o
  CC      drivers/gpu/drm/i915/gt/intel_migrate.o
  CC      drivers/gpu/drm/drm_atomic_helper.o
  CC      drivers/gpu/drm/drm_atomic_state_helper.o
  CC      drivers/hid/hid-samsung.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_debugfs.o
  CC      drivers/acpi/spcr.o
  CC      drivers/gpu/drm/i915/gt/intel_mocs.o
  CC      drivers/gpu/drm/i915/gt/intel_ppgtt.o
  CC      drivers/gpu/drm/drm_bridge_connector.o
  CC      fs/nsfs.o
  CC      fs/fs_types.o
  CC      drivers/gpu/drm/drm_crtc_helper.o
  CC      fs/fs_context.o
  STUBCPY drivers/firmware/efi/libstub/mem.stub.o
  STUBCPY drivers/firmware/efi/libstub/pci.stub.o
  STUBCPY drivers/firmware/efi/libstub/random.stub.o
  STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
  STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
  STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
  STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
  STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
  CC      drivers/hid/hid-sony.o
  CC      drivers/hid/hid-sunplus.o
  CC [M]  drivers/gpu/drm/xe/xe_uc_fw.o
  CC      drivers/hid/hid-topseed.o
  CC      drivers/gpu/drm/drm_damage_helper.o
  CC [M]  drivers/gpu/drm/xe/xe_vm.o
  STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
  CC      drivers/gpu/drm/i915/gt/intel_rc6.o
  STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
  CC      drivers/gpu/drm/i915/gt/intel_region_lmem.o
  STUBCPY drivers/firmware/efi/libstub/printk.stub.o
  CC      drivers/gpu/drm/i915/gt/intel_renderstate.o
  CC [M]  drivers/gpu/drm/xe/xe_vram_freq.o
  CC [M]  drivers/gpu/drm/xe/xe_wait_user_fence.o
  CC      drivers/gpu/drm/i915/gt/intel_reset.o
  CC      drivers/gpu/drm/drm_encoder_slave.o
  CC      fs/fs_parser.o
  CC      drivers/gpu/drm/drm_flip_work.o
  CC [M]  drivers/gpu/drm/xe/xe_wa.o
  CC [M]  drivers/gpu/drm/xe/xe_wopcm.o
  CC [M]  drivers/gpu/drm/xe/xe_hmm.o
  CC      fs/fsopen.o
  CC      fs/init.o
  CC      drivers/gpu/drm/i915/gt/intel_ring.o
  CC [M]  drivers/gpu/drm/xe/xe_hwmon.o
  CC      drivers/gpu/drm/i915/gt/intel_ring_submission.o
  STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
  CC      drivers/gpu/drm/i915/gt/intel_rps.o
  AR      drivers/firmware/efi/libstub/lib.a
  AR      drivers/firmware/built-in.a
  CC      fs/kernel_read_file.o
  CC      drivers/gpu/drm/drm_format_helper.o
  CC      drivers/gpu/drm/i915/gt/intel_sa_media.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_relay.o
  CC      drivers/gpu/drm/drm_gem_atomic_helper.o
  CC      drivers/gpu/drm/drm_gem_framebuffer_helper.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu.o
  CC      drivers/gpu/drm/drm_kms_helper_common.o
  CC      fs/mnt_idmapping.o
  CC [M]  drivers/gpu/drm/xe/xe_memirq.o
  CC      drivers/gpu/drm/drm_modeset_helper.o
  CC      drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
  AR      drivers/acpi/built-in.a
  CC      drivers/gpu/drm/i915/gt/intel_timeline.o
  CC      drivers/gpu/drm/i915/gt/intel_tlb.o
  CC      drivers/gpu/drm/i915/gt/intel_wopcm.o
  CC      drivers/gpu/drm/i915/gt/intel_workarounds.o
  CC      drivers/gpu/drm/drm_plane_helper.o
  CC      drivers/gpu/drm/i915/gt/shmem_utils.o
  CC      drivers/gpu/drm/i915/gt/sysfs_engines.o
  CC [M]  drivers/gpu/drm/xe/xe_sriov.o
  CC      fs/remap_range.o
  CC      drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
  CC      drivers/gpu/drm/drm_probe_helper.o
  CC      drivers/gpu/drm/drm_rect.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_irq.o
  CC      drivers/gpu/drm/drm_self_refresh_helper.o
  CC [M]  drivers/gpu/drm/xe/display/ext/i915_utils.o
  CC      drivers/gpu/drm/drm_simple_kms_helper.o
  CC      drivers/gpu/drm/i915/gt/gen6_renderstate.o
  CC      fs/pidfs.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fb_bo.o
  CC      drivers/gpu/drm/i915/gt/gen7_renderstate.o
  CC      fs/buffer.o
  CC      fs/mpage.o
  CC [M]  drivers/gpu/drm/xe/display/intel_fbdev_fb.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display.o
  CC      fs/proc_namespace.o
  CC [M]  drivers/gpu/drm/xe/display/xe_display_misc.o
  CC      drivers/gpu/drm/bridge/panel.o
  AR      drivers/hid/built-in.a
  CC [M]  drivers/gpu/drm/xe/display/xe_display_rps.o
  CC [M]  drivers/gpu/drm/xe/display/xe_dsb_buffer.o
  CC      drivers/gpu/drm/i915/gt/gen8_renderstate.o
  CC [M]  drivers/gpu/drm/xe/display/xe_fb_pin.o
  CC      drivers/gpu/drm/i915/gt/gen9_renderstate.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_busy.o
  CC      drivers/gpu/drm/drm_mipi_dsi.o
  CC [M]  drivers/gpu/drm/drm_exec.o
  CC [M]  drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
  CC [M]  drivers/gpu/drm/xe/display/xe_plane_initial.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_dram.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.o
  CC [M]  drivers/gpu/drm/xe/i915-soc/intel_pch.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_clflush.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_context.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_create.o
  CC [M]  drivers/gpu/drm/drm_suballoc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/icl_dsi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_audio.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_backlight.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_domain.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bios.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_internal.o
  CC [M]  drivers/gpu/drm/drm_gem_ttm_helper.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_bw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cdclk.o
  CC      fs/direct-io.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_lmem.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_mman.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_object.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pages.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_color.o
  CC      fs/eventpoll.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_phys.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_pm.o
  CC      fs/anon_inodes.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_region.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_connector.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shmem.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
  CC      fs/signalfd.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cursor.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_device.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_driver.o
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.o
  LD [M]  drivers/gpu/drm/drm_ttm_helper.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_irq.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_stolen.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_throttle.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_tiling.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
  CC      fs/timerfd.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_userptr.o
  CC      drivers/gpu/drm/i915/gem/i915_gem_wait.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
  CC      drivers/gpu/drm/i915/gem/i915_gemfs.o
  CC      drivers/gpu/drm/i915/i915_active.o
  CC      fs/eventfd.o
  CC      fs/aio.o
  CC      drivers/gpu/drm/i915/i915_cmd_parser.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_trace.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_wa.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/i915_deps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dmc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp.o
  CC      drivers/gpu/drm/i915/i915_gem.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
  CC      drivers/gpu/drm/i915/i915_gem_evict.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
  CC      drivers/gpu/drm/i915/i915_gem_gtt.o
  CC      fs/locks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
  CC      drivers/gpu/drm/i915/i915_gem_ww.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_drrs.o
  CC      drivers/gpu/drm/i915/i915_query.o
  CC      drivers/gpu/drm/i915/i915_request.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsb.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi.o
  CC      drivers/gpu/drm/i915/i915_scheduler.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/i915_trace_points.o
  CC      drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
  CC      drivers/gpu/drm/i915/i915_vma.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
  CC      drivers/gpu/drm/i915/i915_vma_resource.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
  CC      fs/binfmt_misc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fb.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fbc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fdi.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_global_state.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_gmbus.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hdmi.o
  CC      fs/binfmt_script.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_hti.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_link_bw.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_lspcon.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
  CC      fs/binfmt_elf.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
  CC      fs/mbcache.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
  CC      fs/posix_acl.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
  CC      fs/coredump.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_panel.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pps.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_psr.o
  CC      drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
  CC      fs/drop_caches.o
  CC      drivers/gpu/drm/i915/gt/intel_gsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_quirks.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
  CC      fs/sysctls.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_tc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vblank.o
  CC      fs/fhandle.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vdsc.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vga.o
  CC      drivers/gpu/drm/i915/i915_hwmon.o
  CC      drivers/gpu/drm/i915/display/hsw_ips.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_vrr.o
  CC      drivers/gpu/drm/i915/display/i9xx_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_wm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_scaler.o
  CC      drivers/gpu/drm/i915/display/i9xx_wm.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/skl_watermark.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_acpi.o
  CC      drivers/gpu/drm/i915/display/intel_atomic.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_opregion.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
  CC      drivers/gpu/drm/i915/display/intel_atomic_plane.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
  CC [M]  drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
  CC      drivers/gpu/drm/i915/display/intel_audio.o
  CC      drivers/gpu/drm/i915/display/intel_bios.o
  CC      drivers/gpu/drm/i915/display/intel_bw.o
  CC      drivers/gpu/drm/i915/display/intel_cdclk.o
  CC      drivers/gpu/drm/i915/display/intel_color.o
  CC [M]  drivers/gpu/drm/xe/xe_gsc.o
  CC      drivers/gpu/drm/i915/display/intel_combo_phy.o
  CC [M]  drivers/gpu/drm/xe/xe_guc.o
  CC [M]  drivers/gpu/drm/xe/xe_guc_ads.o
  CC      drivers/gpu/drm/i915/display/intel_connector.o
  CC      drivers/gpu/drm/i915/display/intel_crtc.o
  CC      drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
  CC      drivers/gpu/drm/i915/display/intel_cursor.o
  CC      drivers/gpu/drm/i915/display/intel_display.o
  CC      drivers/gpu/drm/i915/display/intel_display_driver.o
  CC      drivers/gpu/drm/i915/display/intel_display_irq.o
  CC      drivers/gpu/drm/i915/display/intel_display_params.o
  CC      drivers/gpu/drm/i915/display/intel_display_power.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_map.o
  CC      drivers/gpu/drm/i915/display/intel_display_power_well.o
  CC      drivers/gpu/drm/i915/display/intel_display_reset.o
  AR      fs/built-in.a
  CC      drivers/gpu/drm/i915/display/intel_display_rps.o
  CC      drivers/gpu/drm/i915/display/intel_display_wa.o
  CC      drivers/gpu/drm/i915/display/intel_dmc.o
  CC      drivers/gpu/drm/i915/display/intel_dpio_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dpll.o
  CC      drivers/gpu/drm/i915/display/intel_dpll_mgr.o
  CC      drivers/gpu/drm/i915/display/intel_dpt.o
  CC      drivers/gpu/drm/i915/display/intel_dpt_common.o
  CC      drivers/gpu/drm/i915/display/intel_drrs.o
  CC      drivers/gpu/drm/i915/display/intel_dsb.o
  CC      drivers/gpu/drm/i915/display/intel_dsb_buffer.o
  CC      drivers/gpu/drm/i915/display/intel_fb.o
  CC      drivers/gpu/drm/i915/display/intel_fb_bo.o
  CC      drivers/gpu/drm/i915/display/intel_fb_pin.o
  CC      drivers/gpu/drm/i915/display/intel_fbc.o
  CC      drivers/gpu/drm/i915/display/intel_fdi.o
  CC      drivers/gpu/drm/i915/display/intel_fifo_underrun.o
  CC      drivers/gpu/drm/i915/display/intel_frontbuffer.o
  CC      drivers/gpu/drm/i915/display/intel_global_state.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
  CC      drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug.o
  CC      drivers/gpu/drm/i915/display/intel_hotplug_irq.o
  CC      drivers/gpu/drm/i915/display/intel_hti.o
  CC      drivers/gpu/drm/i915/display/intel_link_bw.o
  CC      drivers/gpu/drm/i915/display/intel_load_detect.o
  CC      drivers/gpu/drm/i915/display/intel_lpe_audio.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_lock.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_setup.o
  CC      drivers/gpu/drm/i915/display/intel_modeset_verify.o
  CC      drivers/gpu/drm/i915/display/intel_overlay.o
  CC      drivers/gpu/drm/i915/display/intel_pch_display.o
  CC      drivers/gpu/drm/i915/display/intel_pch_refclk.o
  CC      drivers/gpu/drm/i915/display/intel_plane_initial.o
  CC      drivers/gpu/drm/i915/display/intel_pmdemand.o
  CC      drivers/gpu/drm/i915/display/intel_psr.o
  CC      drivers/gpu/drm/i915/display/intel_quirks.o
  CC      drivers/gpu/drm/i915/display/intel_sprite.o
  CC      drivers/gpu/drm/i915/display/intel_sprite_uapi.o
  CC      drivers/gpu/drm/i915/display/intel_tc.o
  CC      drivers/gpu/drm/i915/display/intel_vblank.o
  CC      drivers/gpu/drm/i915/display/intel_vga.o
  CC      drivers/gpu/drm/i915/display/intel_wm.o
  CC      drivers/gpu/drm/i915/display/skl_scaler.o
  CC      drivers/gpu/drm/i915/display/skl_universal_plane.o
  CC      drivers/gpu/drm/i915/display/skl_watermark.o
  CC      drivers/gpu/drm/i915/display/intel_acpi.o
  CC      drivers/gpu/drm/i915/display/intel_opregion.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs.o
  CC      drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
  CC      drivers/gpu/drm/i915/display/intel_pipe_crc.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7017.o
  CC      drivers/gpu/drm/i915/display/dvo_ch7xxx.o
  CC      drivers/gpu/drm/i915/display/dvo_ivch.o
  CC      drivers/gpu/drm/i915/display/dvo_ns2501.o
  CC      drivers/gpu/drm/i915/display/dvo_sil164.o
  CC      drivers/gpu/drm/i915/display/dvo_tfp410.o
  CC      drivers/gpu/drm/i915/display/g4x_dp.o
  CC      drivers/gpu/drm/i915/display/g4x_hdmi.o
  CC      drivers/gpu/drm/i915/display/icl_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_crt.o
  CC      drivers/gpu/drm/i915/display/intel_cx0_phy.o
  CC      drivers/gpu/drm/i915/display/intel_ddi.o
  CC      drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
  CC      drivers/gpu/drm/i915/display/intel_display_device.o
  CC      drivers/gpu/drm/i915/display/intel_display_trace.o
  CC      drivers/gpu/drm/i915/display/intel_dkl_phy.o
  CC      drivers/gpu/drm/i915/display/intel_dp.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux.o
  CC      drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dp_hdcp.o
  CC      drivers/gpu/drm/i915/display/intel_dp_link_training.o
  LD [M]  drivers/gpu/drm/xe/xe.o
  CC      drivers/gpu/drm/i915/display/intel_dp_mst.o
  CC      drivers/gpu/drm/i915/display/intel_dsi.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
  CC      drivers/gpu/drm/i915/display/intel_dsi_vbt.o
  CC      drivers/gpu/drm/i915/display/intel_dvo.o
  CC      drivers/gpu/drm/i915/display/intel_gmbus.o
  CC      drivers/gpu/drm/i915/display/intel_hdmi.o
  CC      drivers/gpu/drm/i915/display/intel_lspcon.o
  CC      drivers/gpu/drm/i915/display/intel_lvds.o
  CC      drivers/gpu/drm/i915/display/intel_panel.o
  CC      drivers/gpu/drm/i915/display/intel_pps.o
  CC      drivers/gpu/drm/i915/display/intel_qp_tables.o
  CC      drivers/gpu/drm/i915/display/intel_sdvo.o
  CC      drivers/gpu/drm/i915/display/intel_snps_phy.o
  CC      drivers/gpu/drm/i915/display/intel_tv.o
  CC      drivers/gpu/drm/i915/display/intel_vdsc.o
  CC      drivers/gpu/drm/i915/display/intel_vrr.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi.o
  CC      drivers/gpu/drm/i915/display/vlv_dsi_pll.o
  CC      drivers/gpu/drm/i915/i915_perf.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
  CC      drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
  CC      drivers/gpu/drm/i915/i915_gpu_error.o
  CC      drivers/gpu/drm/i915/i915_vgpu.o
  AR      drivers/gpu/drm/i915/built-in.a
  AR      drivers/gpu/drm/built-in.a
  AR      drivers/gpu/built-in.a
  AR      drivers/built-in.a
  AR      built-in.a
  AR      vmlinux.a
  LD      vmlinux.o
  OBJCOPY modules.builtin.modinfo
  GEN     modules.builtin
  MODPOST Module.symvers
  CC      .vmlinux.export.o
  CC [M]  fs/efivarfs/efivarfs.mod.o
  CC [M]  drivers/gpu/drm/drm_exec.mod.o
  CC [M]  drivers/gpu/drm/drm_gpuvm.mod.o
  CC [M]  drivers/gpu/drm/drm_suballoc_helper.mod.o
  CC [M]  drivers/gpu/drm/drm_ttm_helper.mod.o
  CC [M]  drivers/gpu/drm/scheduler/gpu-sched.mod.o
  CC [M]  drivers/gpu/drm/xe/xe.mod.o
  CC [M]  drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
  CC [M]  sound/core/snd-hwdep.mod.o
  CC [M]  sound/core/snd-pcm.mod.o
  CC [M]  sound/pci/hda/snd-hda-codec.mod.o
  CC [M]  sound/pci/hda/snd-hda-codec-hdmi.mod.o
  CC [M]  sound/pci/hda/snd-hda-intel.mod.o
  CC [M]  sound/hda/snd-hda-core.mod.o
  CC [M]  sound/hda/snd-intel-dspcfg.mod.o
  CC [M]  sound/hda/snd-intel-sdw-acpi.mod.o
  CC [M]  net/netfilter/nf_log_syslog.mod.o
  CC [M]  net/netfilter/xt_nat.mod.o
  CC [M]  net/netfilter/xt_mark.mod.o
  CC [M]  net/netfilter/xt_LOG.mod.o
  CC [M]  net/netfilter/xt_MASQUERADE.mod.o
  CC [M]  net/netfilter/xt_addrtype.mod.o
  CC [M]  net/ipv4/netfilter/iptable_nat.mod.o
  LD [M]  fs/efivarfs/efivarfs.ko
  LD [M]  drivers/gpu/drm/drm_ttm_helper.ko
  LD [M]  drivers/gpu/drm/scheduler/gpu-sched.ko
  LD [M]  net/netfilter/xt_nat.ko
  LD [M]  drivers/gpu/drm/drm_gpuvm.ko
  LD [M]  sound/core/snd-pcm.ko
  LD [M]  net/ipv4/netfilter/iptable_nat.ko
  LD [M]  sound/hda/snd-intel-dspcfg.ko
  LD [M]  net/netfilter/xt_addrtype.ko
  LD [M]  net/netfilter/xt_LOG.ko
  LD [M]  net/netfilter/xt_mark.ko
  LD [M]  drivers/thermal/intel/x86_pkg_temp_thermal.ko
  LD [M]  drivers/gpu/drm/drm_suballoc_helper.ko
  LD [M]  drivers/gpu/drm/drm_exec.ko
  LD [M]  sound/hda/snd-intel-sdw-acpi.ko
  LD [M]  sound/core/snd-hwdep.ko
  LD [M]  sound/pci/hda/snd-hda-codec.ko
  LD [M]  net/netfilter/nf_log_syslog.ko
  LD [M]  net/netfilter/xt_MASQUERADE.ko
  LD [M]  drivers/gpu/drm/xe/xe.ko
  LD [M]  sound/pci/hda/snd-hda-codec-hdmi.ko
  LD [M]  sound/pci/hda/snd-hda-intel.ko
  LD [M]  sound/hda/snd-hda-core.ko
  UPD     include/generated/utsversion.h
  CC      init/version-timestamp.o
  LD      .tmp_vmlinux.kallsyms1
  NM      .tmp_vmlinux.kallsyms1.syms
  KSYMS   .tmp_vmlinux.kallsyms1.S
  AS      .tmp_vmlinux.kallsyms1.S
  LD      .tmp_vmlinux.kallsyms2
  NM      .tmp_vmlinux.kallsyms2.syms
  KSYMS   .tmp_vmlinux.kallsyms2.S
  AS      .tmp_vmlinux.kallsyms2.S
  LD      vmlinux
  NM      System.map
  SORTTAB vmlinux
  RELOCS  arch/x86/boot/compressed/vmlinux.relocs
  RSTRIP  vmlinux
  CC      arch/x86/boot/a20.o
  AS      arch/x86/boot/bioscall.o
  CC      arch/x86/boot/cmdline.o
  AS      arch/x86/boot/copy.o
  HOSTCC  arch/x86/boot/mkcpustr
  CC      arch/x86/boot/cpuflags.o
  CC      arch/x86/boot/cpucheck.o
  CC      arch/x86/boot/early_serial_console.o
  CC      arch/x86/boot/edd.o
  CC      arch/x86/boot/main.o
  CC      arch/x86/boot/memory.o
  CC      arch/x86/boot/pm.o
  AS      arch/x86/boot/pmjump.o
  CC      arch/x86/boot/printf.o
  CC      arch/x86/boot/regs.o
  CC      arch/x86/boot/string.o
  CC      arch/x86/boot/tty.o
  CC      arch/x86/boot/video.o
  CC      arch/x86/boot/video-mode.o
  CC      arch/x86/boot/version.o
  CC      arch/x86/boot/video-vga.o
  CC      arch/x86/boot/video-vesa.o
  CC      arch/x86/boot/video-bios.o
  HOSTCC  arch/x86/boot/tools/build
  CPUSTR  arch/x86/boot/cpustr.h
  CC      arch/x86/boot/cpu.o
  LDS     arch/x86/boot/compressed/vmlinux.lds
  AS      arch/x86/boot/compressed/kernel_info.o
  AS      arch/x86/boot/compressed/head_32.o
  VOFFSET arch/x86/boot/compressed/../voffset.h
  CC      arch/x86/boot/compressed/string.o
  CC      arch/x86/boot/compressed/cmdline.o
  CC      arch/x86/boot/compressed/error.o
  OBJCOPY arch/x86/boot/compressed/vmlinux.bin
  HOSTCC  arch/x86/boot/compressed/mkpiggy
  CC      arch/x86/boot/compressed/cpuflags.o
  CC      arch/x86/boot/compressed/early_serial_console.o
  CC      arch/x86/boot/compressed/kaslr.o
  CC      arch/x86/boot/compressed/acpi.o
  CC      arch/x86/boot/compressed/efi.o
  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
  CC      arch/x86/boot/compressed/misc.o
  MKPIGGY arch/x86/boot/compressed/piggy.S
  AS      arch/x86/boot/compressed/piggy.o
  LD      arch/x86/boot/compressed/vmlinux
  ZOFFSET arch/x86/boot/zoffset.h
  OBJCOPY arch/x86/boot/vmlinux.bin
  AS      arch/x86/boot/header.o
  LD      arch/x86/boot/setup.elf
  OBJCOPY arch/x86/boot/setup.bin
  BUILD   arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready  (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
All hooks done



^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✓ CI.checksparse: success for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (11 preceding siblings ...)
  2024-04-16  3:32 ` ✓ CI.Hooks: " Patchwork
@ 2024-04-16  3:34 ` Patchwork
  2024-04-16  3:59 ` ✗ CI.BAT: failure " Patchwork
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:34 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : success

== 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 5f7597e990bea547bd1261170497e7476fb781bb
Sparse version: 0.6.1 (Ubuntu: 0.6.1-2build1)
Fast mode used, each commit won't be checked separately.
Okay!

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✗ CI.BAT: failure for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (12 preceding siblings ...)
  2024-04-16  3:34 ` ✓ CI.checksparse: " Patchwork
@ 2024-04-16  3:59 ` Patchwork
  2024-04-16  8:37 ` [PATCH 0/7] " Tvrtko Ursulin
  2024-04-16 22:12 ` ✗ CI.FULL: failure for " Patchwork
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16  3:59 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 1565 bytes --]

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : failure

== Summary ==

CI Bug Log - changes from xe-1095-5f7597e990bea547bd1261170497e7476fb781bb_BAT -> xe-pw-132477v1_BAT
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-132477v1_BAT absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-132477v1_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 (5 -> 0)
------------------------------

  ERROR: It appears as if the changes made in xe-pw-132477v1_BAT prevented too many machines from booting.

  Missing    (5): bat-pvc-2 bat-lnl-1 bat-dg2-oem2 bat-adlp-7 bat-atsm-2 


Changes
-------

  No changes found


Build changes
-------------

  * IGT: IGT_7806 -> IGT_7807
  * Linux: xe-1095-5f7597e990bea547bd1261170497e7476fb781bb -> xe-pw-132477v1

  IGT_7806: 849cd963ce7e8222dcf17cc872d355181fd2c2a2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7807: 43e71eeac0fb4fe59df40df2c96fd0fdbf585c0b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1095-5f7597e990bea547bd1261170497e7476fb781bb: 5f7597e990bea547bd1261170497e7476fb781bb
  xe-pw-132477v1: 132477v1

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/index.html

[-- Attachment #2: Type: text/html, Size: 2151 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 2/7] drm/xe: Add helper to capture context runtime
  2024-04-16  3:04 ` [PATCH 2/7] drm/xe: Add helper to capture context runtime Lucas De Marchi
@ 2024-04-16  5:26   ` Vivekanandan, Balasubramani
  2024-04-16 13:42     ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Vivekanandan, Balasubramani @ 2024-04-16  5:26 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin

On 15.04.2024 20:04, Lucas De Marchi wrote:
> From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> 
> Add a helper to update the runtime of an exec_queue accumulate it at 2
> places:
> 
> 1. when the exec_queue is destroyed
> 2. when the sched job is completed
> 
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> ---
>  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>  4 files changed, 49 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index 60ced5f90c2b..f6632b4d8399 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -553,6 +553,15 @@ struct xe_file {
>  		struct mutex lock;
>  	} exec_queue;
>  
> +	/**
> +	 * @runtime: hw engine class runtime in ticks for this drm client
> +	 *
> +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
> +	 * case, since all jobs run in parallel on the engines, only the stats
> +	 * from lrc[0] are sufficient.
> +	 */
> +	u64 runtime[XE_ENGINE_CLASS_MAX];
> +
>  	/** @client: drm client */
>  	struct xe_drm_client *client;
>  };
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> index 71bd52dfebcf..c752d292fd33 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>  {
>  	int i;
>  
> +	xe_exec_queue_update_runtime(q);
> +
>  	for (i = 0; i < q->width; ++i)
>  		xe_lrc_finish(q->lrc + i);
>  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
> @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>  		q->lrc[0].fence_ctx.next_seqno - 1;
>  }
>  
> +/**
> + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
> + * @q: The exec queue
> + *
> + * Update the timestamp saved by HW for this exec queue and save runtime
> + * calculated by using the delta from last update. On multi-lrc case, only the
> + * first is considered.
> + */
> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
> +{
> +	struct xe_file *xef;
> +	struct xe_lrc *lrc;
> +	u32 old_ts, new_ts;
> +
> +	/*
> +	 * Jobs that are run during driver load may use an exec_queue, but are
> +	 * not associated with a user xe file, so avoid accumulating busyness
> +	 * for kernel specific work.
> +	 */
> +	if (!q->vm || !q->vm->xef)
> +		return;
> +
> +	xef = q->vm->xef;
> +	lrc = &q->lrc[0];
> +
> +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
> +
> +	/*
> +	 * Special case the very first timestamp: we don't want the
> +	 * initial delta to be a huge value
> +	 */
> +	if (old_ts)
> +		xef->runtime[q->class] += new_ts - old_ts;
What is the need for accumulating the delta instead of using the
absolute timestamp read from CTX_TIMESTAMP?
This would break if xe_lrc_update_timestamp() is called from some
additional places in future. The delta would be incorrect.

Regards,
Bala
    
> +}
> +
>  void xe_exec_queue_kill(struct xe_exec_queue *q)
>  {
>  	struct xe_exec_queue *eq = q, *next;
> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.h b/drivers/gpu/drm/xe/xe_exec_queue.h
> index 02ce8d204622..45b72daa2db3 100644
> --- a/drivers/gpu/drm/xe/xe_exec_queue.h
> +++ b/drivers/gpu/drm/xe/xe_exec_queue.h
> @@ -66,5 +66,6 @@ struct dma_fence *xe_exec_queue_last_fence_get(struct xe_exec_queue *e,
>  					       struct xe_vm *vm);
>  void xe_exec_queue_last_fence_set(struct xe_exec_queue *e, struct xe_vm *vm,
>  				  struct dma_fence *fence);
> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q);
>  
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_sched_job.c b/drivers/gpu/drm/xe/xe_sched_job.c
> index 80daee910ae9..48bcede63d35 100644
> --- a/drivers/gpu/drm/xe/xe_sched_job.c
> +++ b/drivers/gpu/drm/xe/xe_sched_job.c
> @@ -241,6 +241,8 @@ bool xe_sched_job_completed(struct xe_sched_job *job)
>  {
>  	struct xe_lrc *lrc = job->q->lrc;
>  
> +	xe_exec_queue_update_runtime(job->q);
> +
>  	/*
>  	 * Can safely check just LRC[0] seqno as that is last seqno written when
>  	 * parallel handshake is done.
> -- 
> 2.43.0
> 

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (13 preceding siblings ...)
  2024-04-16  3:59 ` ✗ CI.BAT: failure " Patchwork
@ 2024-04-16  8:37 ` Tvrtko Ursulin
  2024-04-16 13:30   ` Lucas De Marchi
  2024-04-16 22:12 ` ✗ CI.FULL: failure for " Patchwork
  15 siblings, 1 reply; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-16  8:37 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe; +Cc: Umesh Nerlige Ramappa


On 16/04/2024 04:04, Lucas De Marchi wrote:
> Add per-client usage statistics to xe. This ports xe to use the common
> method in drm to export the usage to userspace per client (where 1
> client == 1 drm fd open).
> 
> However insted of using the current format, this creates a new one with
> the unit "ticks". The intention here is not to mix the GPU clock domain
> with the CPU clock. It allows to cover a few more use cases without
> extra complications.
> 
> Last patch was a quick implemenation of a gputop-like tool in python.
> I ended doing it to cross check the gputop implementation. I's not
> really meant to be applied here.
> 
> I tested this on DG2 and TGL with kmscube (console-only) and vkcube
> (in a gnome session), but it would be good to soak this under more
> tests. The biggest goal for this patch series right now is to get
> consensus on the new UAPI.
> 
> TODO: Add documentation on top with the new interface.

Yeah a drm-usage-stats.rst patch would be nice to have in the RFC so one 
does not have to look into the driver implementation to discuss the 
proposed uapi.

Nevertheless I understand the proposal is to add this:

  drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks

That's two values per key. I guess "one key value pair for per one line 
of text" does not get strictly broken and that you propose a heuristics 
in parsing to detect that the <RUNTIME> cannot be mis-interpreted as the 
unit?

Not sure it is a good idea though. If you instead added a new key for 
the gpu time what would be the downside in your view? Like:

drm-engine-<class>: <uint> ticks
drm-ticks-<class>: <uint>

Or maybe even obsfuscate/generalise as:

drm-engine-<class>: <uint> gpu-time
drm-gpu-time-<class>: <uint>

Potentially could also add a key saying how much wall time is one unit 
of GPU time.

Or.. would even the existing drm-cycles, plus abuse of drm-maxfreq, 
work? Ticks == cycles, maxfreq == ticks per wall second.

Secondly, wrap behaviour every 25-30 seconds patch 6/7 describes 
definitely breaks the format spec and in my view should be worked around 
in the driver:

"""
Values are not required to be constantly monotonic if it makes the driver
implementation easier, but are required to catch up with the previously 
reported
larger value within a reasonable period. Upon observing a value lower 
than what
was previously read, userspace is expected to stay with that larger previous
value until a monotonic update is seen.
"""

Regards,

Tvrtko

> 
> Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
> 
> Lucas De Marchi (5):
>    drm/xe: Promote xe_hw_engine_class_to_str()
>    drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
>    drm/xe: Add helper to capture engine timestamp
>    drm/xe/client: Print runtime to fdinfo
>    HACK: simple gputop-like impl in python
> 
> Umesh Nerlige Ramappa (2):
>    drm/xe/lrc: Add helper to capture context timestamp
>    drm/xe: Add helper to capture context runtime
> 
>   drivers/gpu/drm/xe/regs/xe_lrc_layout.h       |   1 +
>   drivers/gpu/drm/xe/xe_device_types.h          |   9 ++
>   drivers/gpu/drm/xe/xe_drm_client.c            |  81 ++++++++++++-
>   drivers/gpu/drm/xe/xe_exec_queue.c            |  37 ++++++
>   drivers/gpu/drm/xe/xe_exec_queue.h            |   1 +
>   drivers/gpu/drm/xe/xe_hw_engine.c             |  29 +++++
>   drivers/gpu/drm/xe/xe_hw_engine.h             |   4 +
>   drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c |  18 ---
>   drivers/gpu/drm/xe/xe_lrc.c                   |  11 ++
>   drivers/gpu/drm/xe/xe_lrc.h                   |   2 +
>   drivers/gpu/drm/xe/xe_lrc_types.h             |   3 +
>   drivers/gpu/drm/xe/xe_sched_job.c             |   2 +
>   pyfdinfo                                      | 113 ++++++++++++++++++
>   13 files changed, 292 insertions(+), 19 deletions(-)
>   create mode 100755 pyfdinfo
> 

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str()
  2024-04-16  3:04 ` [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
@ 2024-04-16  9:36   ` Nirmoy Das
  2024-04-19 18:36     ` Zeng, Oak
  0 siblings, 1 reply; 46+ messages in thread
From: Nirmoy Das @ 2024-04-16  9:36 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin


On 4/16/2024 5:04 AM, Lucas De Marchi wrote:
> Move it out of the sysfs compilation unit so it can be re-used in other
> places.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_hw_engine.c             | 18 ++++++++++++++++++
>   drivers/gpu/drm/xe/xe_hw_engine.h             |  2 ++
>   drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 18 ------------------
>   3 files changed, 20 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index a688bb2d96ce..8f72f324eee7 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -959,3 +959,21 @@ bool xe_hw_engine_is_reserved(struct xe_hw_engine *hwe)
>   	return xe->info.has_usm && hwe->class == XE_ENGINE_CLASS_COPY &&
>   		hwe->instance == gt->usm.reserved_bcs_instance;
>   }
> +
> +const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
> +{
> +	switch (class) {
> +	case XE_ENGINE_CLASS_RENDER:
> +		return "rcs";
> +	case XE_ENGINE_CLASS_VIDEO_DECODE:
> +		return "vcs";
> +	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
> +		return "vecs";
> +	case XE_ENGINE_CLASS_COPY:
> +		return "bcs";
> +	case XE_ENGINE_CLASS_COMPUTE:
> +		return "ccs";
> +	default:
> +		return NULL;
> +	}
> +}
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
> index 71968ee2f600..843de159e47c 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.h
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.h
> @@ -67,4 +67,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
>   	return hwe->name;
>   }
>   
> +const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
> +
>   #endif
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> index c5084d94c442..4e9db6299c7c 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> @@ -624,24 +624,6 @@ static void hw_engine_class_sysfs_fini(struct drm_device *drm, void *arg)
>   	kobject_put(kobj);
>   }
>   
> -static const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
> -{
> -	switch (class) {
> -	case XE_ENGINE_CLASS_RENDER:
> -		return "rcs";
> -	case XE_ENGINE_CLASS_VIDEO_DECODE:
> -		return "vcs";
> -	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
> -		return "vecs";
> -	case XE_ENGINE_CLASS_COPY:
> -		return "bcs";
> -	case XE_ENGINE_CLASS_COMPUTE:
> -		return "ccs";
> -	default:
> -		return NULL;
> -	}
> -}
> -
>   /**
>    * xe_hw_engine_class_sysfs_init - Init HW engine classes on GT.
>    * @gt: Xe GT.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
  2024-04-16  3:04 ` [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
@ 2024-04-16  9:37   ` Nirmoy Das
  0 siblings, 0 replies; 46+ messages in thread
From: Nirmoy Das @ 2024-04-16  9:37 UTC (permalink / raw)
  To: Lucas De Marchi, intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin


On 4/16/2024 5:04 AM, Lucas De Marchi wrote:
> XE_ENGINE_CLASS_OTHER was missing from the str conversion. Add it and
> remove the default handling so it's protected by -Wswitch-enum.
> Currently the only user is xe_hw_engine_class_sysfs_init(), which
> already skips XE_ENGINE_CLASS_OTHER, so there's no change in behavior.
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>   drivers/gpu/drm/xe/xe_hw_engine.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index 8f72f324eee7..ab227fa8984a 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -971,9 +971,13 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
>   		return "vecs";
>   	case XE_ENGINE_CLASS_COPY:
>   		return "bcs";
> +	case XE_ENGINE_CLASS_OTHER:
> +		return "other";
>   	case XE_ENGINE_CLASS_COMPUTE:
>   		return "ccs";
> -	default:
> -		return NULL;
> +	case XE_ENGINE_CLASS_MAX:
> +		break;
>   	}
> +
> +	return NULL;
>   }

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-16  8:37 ` [PATCH 0/7] " Tvrtko Ursulin
@ 2024-04-16 13:30   ` Lucas De Marchi
  2024-04-16 13:51     ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16 13:30 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe, Umesh Nerlige Ramappa

On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>
>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>Add per-client usage statistics to xe. This ports xe to use the common
>>method in drm to export the usage to userspace per client (where 1
>>client == 1 drm fd open).
>>
>>However insted of using the current format, this creates a new one with
>>the unit "ticks". The intention here is not to mix the GPU clock domain
>>with the CPU clock. It allows to cover a few more use cases without
>>extra complications.
>>
>>Last patch was a quick implemenation of a gputop-like tool in python.
>>I ended doing it to cross check the gputop implementation. I's not
>>really meant to be applied here.
>>
>>I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>(in a gnome session), but it would be good to soak this under more
>>tests. The biggest goal for this patch series right now is to get
>>consensus on the new UAPI.
>>
>>TODO: Add documentation on top with the new interface.
>
>Yeah a drm-usage-stats.rst patch would be nice to have in the RFC so 
>one does not have to look into the driver implementation to discuss 
>the proposed uapi.
>
>Nevertheless I understand the proposal is to add this:
>
> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks

yes, the gputop patch was more explicit about this. Should had added in
the kernel patch series too.

>
>That's two values per key. I guess "one key value pair for per one 
>line of text" does not get strictly broken and that you propose a 
>heuristics in parsing to detect that the <RUNTIME> cannot be 
>mis-interpreted as the unit?

the current format is

	drm-engine-<class>: <RUNTIME> ns

the "ns" in the end should be parsed by userspace to know
what it is about.

>
>Not sure it is a good idea though. If you instead added a new key for 
>the gpu time what would be the downside in your view? Like:
>
>drm-engine-<class>: <uint> ticks
>drm-ticks-<class>: <uint>
>
>Or maybe even obsfuscate/generalise as:
>
>drm-engine-<class>: <uint> gpu-time
>drm-gpu-time-<class>: <uint>

I think both work, but I fail to see the advantage. This alternative is
slightly heavier on the parsing side since you have to correlate the
values from 2 keys, possibly dealing with them appearing in different
order. The only possible breakage remains with this alternative: if
userspace didn't parse the unit before. I checked nvtop and htop and
they were doing the right thing. I sent a fix to igt a few weeks back
for it to consider the unit:
https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/

>
>Potentially could also add a key saying how much wall time is one unit 
>of GPU time.

I wouldn't add it really as it may not make sense depending on the
vendor and or usage. Examples: the gpu time may be different for
different engines depending on where they are located (tile/gt). The
correlation with CPU time is different when running in VF mode, and may
change in runtime depending on the number of VFs. +Michal.

Also, if the userspace side really wants to know (why would it?)
it could be just calculate from 2 samples (possibly repeated a few
times as it updates the output).

>
>Or.. would even the existing drm-cycles, plus abuse of drm-maxfreq, 
>work? Ticks == cycles, maxfreq == ticks per wall second.

I think it'd be up to gpu vendor what clock backs this time. For the
current Intel cards, it's the refclock and it doesn't vary the
frequency.

>
>Secondly, wrap behaviour every 25-30 seconds patch 6/7 describes 
>definitely breaks the format spec and in my view should be worked 
>around in the driver:
>
>"""
>Values are not required to be constantly monotonic if it makes the driver
>implementation easier, but are required to catch up with the 
>previously reported
>larger value within a reasonable period. Upon observing a value lower 
>than what
>was previously read, userspace is expected to stay with that larger previous
>value until a monotonic update is seen.
>"""

but this is the behavior for dealing with "ns", not with "ticks". We can
add a worker to run every so often.  When I got the original patches
from Umesh, we had this worker implemented, but dealing with that was
complex and wasting a lot of cycles since it was always running (except
if we didn't have any exec_queue). Here is my tentative to simplify it
since I don't really see the need to account for a ~25s wrap around.

thanks
Lucas De Marchi

>
>Regards,
>
>Tvrtko
>
>>
>>Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
>>
>>Lucas De Marchi (5):
>>   drm/xe: Promote xe_hw_engine_class_to_str()
>>   drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
>>   drm/xe: Add helper to capture engine timestamp
>>   drm/xe/client: Print runtime to fdinfo
>>   HACK: simple gputop-like impl in python
>>
>>Umesh Nerlige Ramappa (2):
>>   drm/xe/lrc: Add helper to capture context timestamp
>>   drm/xe: Add helper to capture context runtime
>>
>>  drivers/gpu/drm/xe/regs/xe_lrc_layout.h       |   1 +
>>  drivers/gpu/drm/xe/xe_device_types.h          |   9 ++
>>  drivers/gpu/drm/xe/xe_drm_client.c            |  81 ++++++++++++-
>>  drivers/gpu/drm/xe/xe_exec_queue.c            |  37 ++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.h            |   1 +
>>  drivers/gpu/drm/xe/xe_hw_engine.c             |  29 +++++
>>  drivers/gpu/drm/xe/xe_hw_engine.h             |   4 +
>>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c |  18 ---
>>  drivers/gpu/drm/xe/xe_lrc.c                   |  11 ++
>>  drivers/gpu/drm/xe/xe_lrc.h                   |   2 +
>>  drivers/gpu/drm/xe/xe_lrc_types.h             |   3 +
>>  drivers/gpu/drm/xe/xe_sched_job.c             |   2 +
>>  pyfdinfo                                      | 113 ++++++++++++++++++
>>  13 files changed, 292 insertions(+), 19 deletions(-)
>>  create mode 100755 pyfdinfo
>>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 2/7] drm/xe: Add helper to capture context runtime
  2024-04-16  5:26   ` Vivekanandan, Balasubramani
@ 2024-04-16 13:42     ` Lucas De Marchi
  2024-04-16 15:45       ` Vivekanandan, Balasubramani
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16 13:42 UTC (permalink / raw)
  To: Vivekanandan, Balasubramani
  Cc: intel-xe, Umesh Nerlige Ramappa, Tvrtko Ursulin

On Tue, Apr 16, 2024 at 10:56:13AM +0530, Vivekanandan, Balasubramani wrote:
>On 15.04.2024 20:04, Lucas De Marchi wrote:
>> From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>
>> Add a helper to update the runtime of an exec_queue accumulate it at 2
>> places:
>>
>> 1. when the exec_queue is destroyed
>> 2. when the sched job is completed
>>
>> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>>  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>>  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>>  4 files changed, 49 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>> index 60ced5f90c2b..f6632b4d8399 100644
>> --- a/drivers/gpu/drm/xe/xe_device_types.h
>> +++ b/drivers/gpu/drm/xe/xe_device_types.h
>> @@ -553,6 +553,15 @@ struct xe_file {
>>  		struct mutex lock;
>>  	} exec_queue;
>>
>> +	/**
>> +	 * @runtime: hw engine class runtime in ticks for this drm client
>> +	 *
>> +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
>> +	 * case, since all jobs run in parallel on the engines, only the stats
>> +	 * from lrc[0] are sufficient.
>> +	 */
>> +	u64 runtime[XE_ENGINE_CLASS_MAX];
>> +
>>  	/** @client: drm client */
>>  	struct xe_drm_client *client;
>>  };
>> diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
>> index 71bd52dfebcf..c752d292fd33 100644
>> --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>> +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>> @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>>  {
>>  	int i;
>>
>> +	xe_exec_queue_update_runtime(q);
>> +
>>  	for (i = 0; i < q->width; ++i)
>>  		xe_lrc_finish(q->lrc + i);
>>  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
>> @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>>  		q->lrc[0].fence_ctx.next_seqno - 1;
>>  }
>>
>> +/**
>> + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
>> + * @q: The exec queue
>> + *
>> + * Update the timestamp saved by HW for this exec queue and save runtime
>> + * calculated by using the delta from last update. On multi-lrc case, only the
>> + * first is considered.
>> + */
>> +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
>> +{
>> +	struct xe_file *xef;
>> +	struct xe_lrc *lrc;
>> +	u32 old_ts, new_ts;
>> +
>> +	/*
>> +	 * Jobs that are run during driver load may use an exec_queue, but are
>> +	 * not associated with a user xe file, so avoid accumulating busyness
>> +	 * for kernel specific work.
>> +	 */
>> +	if (!q->vm || !q->vm->xef)
>> +		return;
>> +
>> +	xef = q->vm->xef;
>> +	lrc = &q->lrc[0];
>> +
>> +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
>> +
>> +	/*
>> +	 * Special case the very first timestamp: we don't want the
>> +	 * initial delta to be a huge value
>> +	 */
>> +	if (old_ts)
>> +		xef->runtime[q->class] += new_ts - old_ts;
>What is the need for accumulating the delta instead of using the
>absolute timestamp read from CTX_TIMESTAMP?
>This would break if xe_lrc_update_timestamp() is called from some
>additional places in future. The delta would be incorrect.

can you clarify the breakage?

- CTX_TIMESTAMP is per context (or exec_queue if you want to use the sw
   name)
- Reported runtime is per client.
- any update to xef->runtime[] should only ever be done by
   xe_lrc_update_timestamp()

Anytime xe_lrc_update_timestamp() is called, it updates the timestamp,
saves the new one in the lrc, and updates the delta in the xef. The
value in xef is the **runtime** for all the exec_queues created by that
client, per engine class.

Note that we already call it from multiple places with this patch
series:

1. when the exec_queue is destroyed
2. when the sched job is completed
3. when userspace queries the runtime

... so I don't think I understood what would break.

Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-16 13:30   ` Lucas De Marchi
@ 2024-04-16 13:51     ` Lucas De Marchi
  2024-04-16 14:22       ` Tvrtko Ursulin
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16 13:51 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe, Umesh Nerlige Ramappa, Michal Wajdeczko

Forgot to Cc Michal, doing now.

Lucas De Marchi

On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>
>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>Add per-client usage statistics to xe. This ports xe to use the common
>>>method in drm to export the usage to userspace per client (where 1
>>>client == 1 drm fd open).
>>>
>>>However insted of using the current format, this creates a new one with
>>>the unit "ticks". The intention here is not to mix the GPU clock domain
>>>with the CPU clock. It allows to cover a few more use cases without
>>>extra complications.
>>>
>>>Last patch was a quick implemenation of a gputop-like tool in python.
>>>I ended doing it to cross check the gputop implementation. I's not
>>>really meant to be applied here.
>>>
>>>I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>(in a gnome session), but it would be good to soak this under more
>>>tests. The biggest goal for this patch series right now is to get
>>>consensus on the new UAPI.
>>>
>>>TODO: Add documentation on top with the new interface.
>>
>>Yeah a drm-usage-stats.rst patch would be nice to have in the RFC so 
>>one does not have to look into the driver implementation to discuss 
>>the proposed uapi.
>>
>>Nevertheless I understand the proposal is to add this:
>>
>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>
>yes, the gputop patch was more explicit about this. Should had added in
>the kernel patch series too.
>
>>
>>That's two values per key. I guess "one key value pair for per one 
>>line of text" does not get strictly broken and that you propose a 
>>heuristics in parsing to detect that the <RUNTIME> cannot be 
>>mis-interpreted as the unit?
>
>the current format is
>
>	drm-engine-<class>: <RUNTIME> ns
>
>the "ns" in the end should be parsed by userspace to know
>what it is about.
>
>>
>>Not sure it is a good idea though. If you instead added a new key 
>>for the gpu time what would be the downside in your view? Like:
>>
>>drm-engine-<class>: <uint> ticks
>>drm-ticks-<class>: <uint>
>>
>>Or maybe even obsfuscate/generalise as:
>>
>>drm-engine-<class>: <uint> gpu-time
>>drm-gpu-time-<class>: <uint>
>
>I think both work, but I fail to see the advantage. This alternative is
>slightly heavier on the parsing side since you have to correlate the
>values from 2 keys, possibly dealing with them appearing in different
>order. The only possible breakage remains with this alternative: if
>userspace didn't parse the unit before. I checked nvtop and htop and
>they were doing the right thing. I sent a fix to igt a few weeks back
>for it to consider the unit:
>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>
>>
>>Potentially could also add a key saying how much wall time is one 
>>unit of GPU time.
>
>I wouldn't add it really as it may not make sense depending on the
>vendor and or usage. Examples: the gpu time may be different for
>different engines depending on where they are located (tile/gt). The
>correlation with CPU time is different when running in VF mode, and may
>change in runtime depending on the number of VFs. +Michal.
>
>Also, if the userspace side really wants to know (why would it?)
>it could be just calculate from 2 samples (possibly repeated a few
>times as it updates the output).
>
>>
>>Or.. would even the existing drm-cycles, plus abuse of drm-maxfreq, 
>>work? Ticks == cycles, maxfreq == ticks per wall second.
>
>I think it'd be up to gpu vendor what clock backs this time. For the
>current Intel cards, it's the refclock and it doesn't vary the
>frequency.
>
>>
>>Secondly, wrap behaviour every 25-30 seconds patch 6/7 describes 
>>definitely breaks the format spec and in my view should be worked 
>>around in the driver:
>>
>>"""
>>Values are not required to be constantly monotonic if it makes the driver
>>implementation easier, but are required to catch up with the 
>>previously reported
>>larger value within a reasonable period. Upon observing a value 
>>lower than what
>>was previously read, userspace is expected to stay with that larger previous
>>value until a monotonic update is seen.
>>"""
>
>but this is the behavior for dealing with "ns", not with "ticks". We can
>add a worker to run every so often.  When I got the original patches
>from Umesh, we had this worker implemented, but dealing with that was
>complex and wasting a lot of cycles since it was always running (except
>if we didn't have any exec_queue). Here is my tentative to simplify it
>since I don't really see the need to account for a ~25s wrap around.
>
>thanks
>Lucas De Marchi
>
>>
>>Regards,
>>
>>Tvrtko
>>
>>>
>>>Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
>>>
>>>Lucas De Marchi (5):
>>>  drm/xe: Promote xe_hw_engine_class_to_str()
>>>  drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
>>>  drm/xe: Add helper to capture engine timestamp
>>>  drm/xe/client: Print runtime to fdinfo
>>>  HACK: simple gputop-like impl in python
>>>
>>>Umesh Nerlige Ramappa (2):
>>>  drm/xe/lrc: Add helper to capture context timestamp
>>>  drm/xe: Add helper to capture context runtime
>>>
>>> drivers/gpu/drm/xe/regs/xe_lrc_layout.h       |   1 +
>>> drivers/gpu/drm/xe/xe_device_types.h          |   9 ++
>>> drivers/gpu/drm/xe/xe_drm_client.c            |  81 ++++++++++++-
>>> drivers/gpu/drm/xe/xe_exec_queue.c            |  37 ++++++
>>> drivers/gpu/drm/xe/xe_exec_queue.h            |   1 +
>>> drivers/gpu/drm/xe/xe_hw_engine.c             |  29 +++++
>>> drivers/gpu/drm/xe/xe_hw_engine.h             |   4 +
>>> drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c |  18 ---
>>> drivers/gpu/drm/xe/xe_lrc.c                   |  11 ++
>>> drivers/gpu/drm/xe/xe_lrc.h                   |   2 +
>>> drivers/gpu/drm/xe/xe_lrc_types.h             |   3 +
>>> drivers/gpu/drm/xe/xe_sched_job.c             |   2 +
>>> pyfdinfo                                      | 113 ++++++++++++++++++
>>> 13 files changed, 292 insertions(+), 19 deletions(-)
>>> create mode 100755 pyfdinfo
>>>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-16 13:51     ` Lucas De Marchi
@ 2024-04-16 14:22       ` Tvrtko Ursulin
  2024-04-16 18:29         ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-16 14:22 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Umesh Nerlige Ramappa, Michal Wajdeczko


On 16/04/2024 14:51, Lucas De Marchi wrote:
> Forgot to Cc Michal, doing now.
> 
> Lucas De Marchi
> 
> On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>> On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>
>>> On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>> Add per-client usage statistics to xe. This ports xe to use the common
>>>> method in drm to export the usage to userspace per client (where 1
>>>> client == 1 drm fd open).
>>>>
>>>> However insted of using the current format, this creates a new one with
>>>> the unit "ticks". The intention here is not to mix the GPU clock domain
>>>> with the CPU clock. It allows to cover a few more use cases without
>>>> extra complications.
>>>>
>>>> Last patch was a quick implemenation of a gputop-like tool in python.
>>>> I ended doing it to cross check the gputop implementation. I's not
>>>> really meant to be applied here.
>>>>
>>>> I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>> (in a gnome session), but it would be good to soak this under more
>>>> tests. The biggest goal for this patch series right now is to get
>>>> consensus on the new UAPI.
>>>>
>>>> TODO: Add documentation on top with the new interface.
>>>
>>> Yeah a drm-usage-stats.rst patch would be nice to have in the RFC so 
>>> one does not have to look into the driver implementation to discuss 
>>> the proposed uapi.
>>>
>>> Nevertheless I understand the proposal is to add this:
>>>
>>> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>
>> yes, the gputop patch was more explicit about this. Should had added in
>> the kernel patch series too.
>>
>>>
>>> That's two values per key. I guess "one key value pair for per one 
>>> line of text" does not get strictly broken and that you propose a 
>>> heuristics in parsing to detect that the <RUNTIME> cannot be 
>>> mis-interpreted as the unit?
>>
>> the current format is
>>
>>     drm-engine-<class>: <RUNTIME> ns
>>
>> the "ns" in the end should be parsed by userspace to know
>> what it is about.

Right.

>>
>>>
>>> Not sure it is a good idea though. If you instead added a new key for 
>>> the gpu time what would be the downside in your view? Like:
>>>
>>> drm-engine-<class>: <uint> ticks
>>> drm-ticks-<class>: <uint>
>>>
>>> Or maybe even obsfuscate/generalise as:
>>>
>>> drm-engine-<class>: <uint> gpu-time
>>> drm-gpu-time-<class>: <uint>
>>
>> I think both work, but I fail to see the advantage. This alternative is
>> slightly heavier on the parsing side since you have to correlate the
>> values from 2 keys, possibly dealing with them appearing in different
>> order. The only possible breakage remains with this alternative: if
>> userspace didn't parse the unit before. I checked nvtop and htop and
>> they were doing the right thing. I sent a fix to igt a few weeks back
>> for it to consider the unit:
>> https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/

Advantages are that "drm-engine-something: 1234 5678 ticks" isn't 
self-explanatory (intuitively humanly readable) and that it doesn't 
diverge from the one value per key plus unit format. Latter we would 
then document clearly.

Different keys potentially appearing in different order does not matter 
since userspace already has to handle that.

>>> Potentially could also add a key saying how much wall time is one 
>>> unit of GPU time.
>>
>> I wouldn't add it really as it may not make sense depending on the
>> vendor and or usage. Examples: the gpu time may be different for
>> different engines depending on where they are located (tile/gt). The
>> correlation with CPU time is different when running in VF mode, and may
>> change in runtime depending on the number of VFs. +Michal.

Yes, that's why I said "potentially", which was supposed to mean if and 
where it makes sense and perhaps adds value.

>> Also, if the userspace side really wants to know (why would it?)
>> it could be just calculate from 2 samples (possibly repeated a few
>> times as it updates the output).
>>
>>>
>>> Or.. would even the existing drm-cycles, plus abuse of drm-maxfreq, 
>>> work? Ticks == cycles, maxfreq == ticks per wall second.
>>
>> I think it'd be up to gpu vendor what clock backs this time. For the
>> current Intel cards, it's the refclock and it doesn't vary the
>> frequency.

Right, but that doesn't matter. What I was saying is that if you exposed 
ticks in drm-cycles and tick frequency in drm-maxfreq it would even 
work, no? (Assuming support for those two was actually in 
igt_drm_fdinfo/clients/gputop and could be used as fallback to time 
based stats.)

Only problem is the name maxfreq is not really an exact fit, which is 
why I am not convinced we should go this route. Perhaps could add 
drm-cycle-frequency and then drm-cycles would fit.

>>> Secondly, wrap behaviour every 25-30 seconds patch 6/7 describes 
>>> definitely breaks the format spec and in my view should be worked 
>>> around in the driver:
>>>
>>> """
>>> Values are not required to be constantly monotonic if it makes the 
>>> driver
>>> implementation easier, but are required to catch up with the 
>>> previously reported
>>> larger value within a reasonable period. Upon observing a value lower 
>>> than what
>>> was previously read, userspace is expected to stay with that larger 
>>> previous
>>> value until a monotonic update is seen.
>>> """
>>
>> but this is the behavior for dealing with "ns", not with "ticks". We can

Applies to drm-cycles- too.

>> add a worker to run every so often.  When I got the original patches
>> from Umesh, we had this worker implemented, but dealing with that was
>> complex and wasting a lot of cycles since it was always running (except
>> if we didn't have any exec_queue). Here is my tentative to simplify it
>> since I don't really see the need to account for a ~25s wrap around.

At the moment I don't think diverging like that would be user friendly. 
Apart from diverging it would only make the output useful to tools which 
know to keep polling with a small enough period.

The tools with support a configurable polling period such as 
intel_gpu_top could even inadvertently fail. Or would need to start 
embedding knowledge about maximum periods per driver/backend/whatever. 
Or new fdinfo keys to signal that.

Sticking with the same monotic scheme sounds preferrable to me.

And if wrap is 25-30 seconds why it was wasting that many cycles? Some 
worker only needs to run once every 20 seconds or so and that is it, no?

Regards,

Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 2/7] drm/xe: Add helper to capture context runtime
  2024-04-16 13:42     ` Lucas De Marchi
@ 2024-04-16 15:45       ` Vivekanandan, Balasubramani
  2024-04-16 15:53         ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Vivekanandan, Balasubramani @ 2024-04-16 15:45 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Umesh Nerlige Ramappa, Tvrtko Ursulin

On 16.04.2024 08:42, Lucas De Marchi wrote:
> On Tue, Apr 16, 2024 at 10:56:13AM +0530, Vivekanandan, Balasubramani wrote:
> > On 15.04.2024 20:04, Lucas De Marchi wrote:
> > > From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> > > 
> > > Add a helper to update the runtime of an exec_queue accumulate it at 2
> > > places:
> > > 
> > > 1. when the exec_queue is destroyed
> > > 2. when the sched job is completed
> > > 
> > > Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
> > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> > > ---
> > >  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
> > >  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
> > >  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
> > >  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
> > >  4 files changed, 49 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> > > index 60ced5f90c2b..f6632b4d8399 100644
> > > --- a/drivers/gpu/drm/xe/xe_device_types.h
> > > +++ b/drivers/gpu/drm/xe/xe_device_types.h
> > > @@ -553,6 +553,15 @@ struct xe_file {
> > >  		struct mutex lock;
> > >  	} exec_queue;
> > > 
> > > +	/**
> > > +	 * @runtime: hw engine class runtime in ticks for this drm client
> > > +	 *
> > > +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
> > > +	 * case, since all jobs run in parallel on the engines, only the stats
> > > +	 * from lrc[0] are sufficient.
> > > +	 */
> > > +	u64 runtime[XE_ENGINE_CLASS_MAX];
> > > +
> > >  	/** @client: drm client */
> > >  	struct xe_drm_client *client;
> > >  };
> > > diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
> > > index 71bd52dfebcf..c752d292fd33 100644
> > > --- a/drivers/gpu/drm/xe/xe_exec_queue.c
> > > +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
> > > @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
> > >  {
> > >  	int i;
> > > 
> > > +	xe_exec_queue_update_runtime(q);
> > > +
> > >  	for (i = 0; i < q->width; ++i)
> > >  		xe_lrc_finish(q->lrc + i);
> > >  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
> > > @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
> > >  		q->lrc[0].fence_ctx.next_seqno - 1;
> > >  }
> > > 
> > > +/**
> > > + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
> > > + * @q: The exec queue
> > > + *
> > > + * Update the timestamp saved by HW for this exec queue and save runtime
> > > + * calculated by using the delta from last update. On multi-lrc case, only the
> > > + * first is considered.
> > > + */
> > > +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
> > > +{
> > > +	struct xe_file *xef;
> > > +	struct xe_lrc *lrc;
> > > +	u32 old_ts, new_ts;
> > > +
> > > +	/*
> > > +	 * Jobs that are run during driver load may use an exec_queue, but are
> > > +	 * not associated with a user xe file, so avoid accumulating busyness
> > > +	 * for kernel specific work.
> > > +	 */
> > > +	if (!q->vm || !q->vm->xef)
> > > +		return;
> > > +
> > > +	xef = q->vm->xef;
> > > +	lrc = &q->lrc[0];
> > > +
> > > +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
> > > +
> > > +	/*
> > > +	 * Special case the very first timestamp: we don't want the
> > > +	 * initial delta to be a huge value
> > > +	 */
> > > +	if (old_ts)
> > > +		xef->runtime[q->class] += new_ts - old_ts;
> > What is the need for accumulating the delta instead of using the
> > absolute timestamp read from CTX_TIMESTAMP?
> > This would break if xe_lrc_update_timestamp() is called from some
> > additional places in future. The delta would be incorrect.
> 
> can you clarify the breakage?
> 
> - CTX_TIMESTAMP is per context (or exec_queue if you want to use the sw
>   name)
> - Reported runtime is per client.
> - any update to xef->runtime[] should only ever be done by
>   xe_lrc_update_timestamp()
> 
> Anytime xe_lrc_update_timestamp() is called, it updates the timestamp,
> saves the new one in the lrc, and updates the delta in the xef. The
Everytime xe_lrc_update_timestamp() is invoked, it reads the
CTX_TIMESTAMP and caches it in lrc. The value in lrc is updated on every
invoke of xe_lrc_update_timestamp().
xe_exec_queue_update_runtime() is using the delta between the new value
from CTX_TIMESTAMP and the value stored in lrc. In this series,
xe_lrc_update_timestamp() is called only from
xe_exec_queue_update_runtime(). But there is nothing blocking from
xe_lrc_update_timestamp() being called from some other place in future.
In that case, the cached value in lrc would be updated by that
invocation outside of xe_exec_queue_update_runtime(). So the next time
xe_exec_queue_update_runtime() calls xe_lrc_update_timestamp(), it would
have lost a update.

> value in xef is the **runtime** for all the exec_queues created by that
> client, per engine class.
> 
> Note that we already call it from multiple places with this patch
No, xe_lrc_update_timestamp() is called only from
xe_exec_queue_update_runtime(). But it is xe_exec_queue_update_runtime()
which is called from multiple places.

Regards,
Bala

> series:
> 
> 1. when the exec_queue is destroyed
> 2. when the sched job is completed
> 3. when userspace queries the runtime
> 
> ... so I don't think I understood what would break.
> 
> Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 2/7] drm/xe: Add helper to capture context runtime
  2024-04-16 15:45       ` Vivekanandan, Balasubramani
@ 2024-04-16 15:53         ` Lucas De Marchi
  0 siblings, 0 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16 15:53 UTC (permalink / raw)
  To: Vivekanandan, Balasubramani
  Cc: intel-xe, Umesh Nerlige Ramappa, Tvrtko Ursulin

On Tue, Apr 16, 2024 at 09:15:16PM +0530, Vivekanandan, Balasubramani wrote:
>On 16.04.2024 08:42, Lucas De Marchi wrote:
>> On Tue, Apr 16, 2024 at 10:56:13AM +0530, Vivekanandan, Balasubramani wrote:
>> > On 15.04.2024 20:04, Lucas De Marchi wrote:
>> > > From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>> > >
>> > > Add a helper to update the runtime of an exec_queue accumulate it at 2
>> > > places:
>> > >
>> > > 1. when the exec_queue is destroyed
>> > > 2. when the sched job is completed
>> > >
>> > > Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>> > > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>> > > ---
>> > >  drivers/gpu/drm/xe/xe_device_types.h |  9 +++++++
>> > >  drivers/gpu/drm/xe/xe_exec_queue.c   | 37 ++++++++++++++++++++++++++++
>> > >  drivers/gpu/drm/xe/xe_exec_queue.h   |  1 +
>> > >  drivers/gpu/drm/xe/xe_sched_job.c    |  2 ++
>> > >  4 files changed, 49 insertions(+)
>> > >
>> > > diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
>> > > index 60ced5f90c2b..f6632b4d8399 100644
>> > > --- a/drivers/gpu/drm/xe/xe_device_types.h
>> > > +++ b/drivers/gpu/drm/xe/xe_device_types.h
>> > > @@ -553,6 +553,15 @@ struct xe_file {
>> > >  		struct mutex lock;
>> > >  	} exec_queue;
>> > >
>> > > +	/**
>> > > +	 * @runtime: hw engine class runtime in ticks for this drm client
>> > > +	 *
>> > > +	 * Only stats from xe_exec_queue->lrc[0] are accumulated. For multi-lrc
>> > > +	 * case, since all jobs run in parallel on the engines, only the stats
>> > > +	 * from lrc[0] are sufficient.
>> > > +	 */
>> > > +	u64 runtime[XE_ENGINE_CLASS_MAX];
>> > > +
>> > >  	/** @client: drm client */
>> > >  	struct xe_drm_client *client;
>> > >  };
>> > > diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
>> > > index 71bd52dfebcf..c752d292fd33 100644
>> > > --- a/drivers/gpu/drm/xe/xe_exec_queue.c
>> > > +++ b/drivers/gpu/drm/xe/xe_exec_queue.c
>> > > @@ -214,6 +214,8 @@ void xe_exec_queue_fini(struct xe_exec_queue *q)
>> > >  {
>> > >  	int i;
>> > >
>> > > +	xe_exec_queue_update_runtime(q);
>> > > +
>> > >  	for (i = 0; i < q->width; ++i)
>> > >  		xe_lrc_finish(q->lrc + i);
>> > >  	if (!(q->flags & EXEC_QUEUE_FLAG_PERMANENT) && (q->flags & EXEC_QUEUE_FLAG_VM || !q->vm))
>> > > @@ -769,6 +771,41 @@ bool xe_exec_queue_is_idle(struct xe_exec_queue *q)
>> > >  		q->lrc[0].fence_ctx.next_seqno - 1;
>> > >  }
>> > >
>> > > +/**
>> > > + * xe_exec_queue_update_runtime() - Update runtime for this exec queue from hw
>> > > + * @q: The exec queue
>> > > + *
>> > > + * Update the timestamp saved by HW for this exec queue and save runtime
>> > > + * calculated by using the delta from last update. On multi-lrc case, only the
>> > > + * first is considered.
>> > > + */
>> > > +void xe_exec_queue_update_runtime(struct xe_exec_queue *q)
>> > > +{
>> > > +	struct xe_file *xef;
>> > > +	struct xe_lrc *lrc;
>> > > +	u32 old_ts, new_ts;
>> > > +
>> > > +	/*
>> > > +	 * Jobs that are run during driver load may use an exec_queue, but are
>> > > +	 * not associated with a user xe file, so avoid accumulating busyness
>> > > +	 * for kernel specific work.
>> > > +	 */
>> > > +	if (!q->vm || !q->vm->xef)
>> > > +		return;
>> > > +
>> > > +	xef = q->vm->xef;
>> > > +	lrc = &q->lrc[0];
>> > > +
>> > > +	new_ts = xe_lrc_update_timestamp(lrc, &old_ts);
>> > > +
>> > > +	/*
>> > > +	 * Special case the very first timestamp: we don't want the
>> > > +	 * initial delta to be a huge value
>> > > +	 */
>> > > +	if (old_ts)
>> > > +		xef->runtime[q->class] += new_ts - old_ts;
>> > What is the need for accumulating the delta instead of using the
>> > absolute timestamp read from CTX_TIMESTAMP?
>> > This would break if xe_lrc_update_timestamp() is called from some
>> > additional places in future. The delta would be incorrect.
>>
>> can you clarify the breakage?
>>
>> - CTX_TIMESTAMP is per context (or exec_queue if you want to use the sw
>>   name)
>> - Reported runtime is per client.
>> - any update to xef->runtime[] should only ever be done by
>>   xe_lrc_update_timestamp()
>>
>> Anytime xe_lrc_update_timestamp() is called, it updates the timestamp,
>> saves the new one in the lrc, and updates the delta in the xef. The
>Everytime xe_lrc_update_timestamp() is invoked, it reads the
>CTX_TIMESTAMP and caches it in lrc. The value in lrc is updated on every
>invoke of xe_lrc_update_timestamp().
>xe_exec_queue_update_runtime() is using the delta between the new value
>from CTX_TIMESTAMP and the value stored in lrc. In this series,
>xe_lrc_update_timestamp() is called only from
>xe_exec_queue_update_runtime(). But there is nothing blocking from
>xe_lrc_update_timestamp() being called from some other place in future.

there is nothing blocking it, but it would be the wrong thing to do.

Just like there's nothing blocking a call to e.g. xe_guc_ads_populate(),
but calling it willing nilly is the wrong thing to do.

xe_lrc_update_timestamp() shouldn't be called from other places. The
alternative would be to move the logic to be all inside
xe_exec_queue_update_runtime(), but it would be breaking one abstraction
layer to make xe_exec_queue_ know about the lrc layout. And that I
consider worse than what's here.


>In that case, the cached value in lrc would be updated by that
>invocation outside of xe_exec_queue_update_runtime(). So the next time
>xe_exec_queue_update_runtime() calls xe_lrc_update_timestamp(), it would
>have lost a update.
>
>> value in xef is the **runtime** for all the exec_queues created by that
>> client, per engine class.
>>
>> Note that we already call it from multiple places with this patch
>No, xe_lrc_update_timestamp() is called only from
>xe_exec_queue_update_runtime(). But it is xe_exec_queue_update_runtime()
>which is called from multiple places.

I thought you were referring to xe_exec_queue_update_runtime(), not
xe_lrc_update_timestamp().

Lucas De Marchi

>
>Regards,
>Bala
>
>> series:
>>
>> 1. when the exec_queue is destroyed
>> 2. when the sched job is completed
>> 3. when userspace queries the runtime
>>
>> ... so I don't think I understood what would break.
>>
>> Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-16 14:22       ` Tvrtko Ursulin
@ 2024-04-16 18:29         ` Lucas De Marchi
  2024-04-17  8:51           ` Tvrtko Ursulin
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16 18:29 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe, Umesh Nerlige Ramappa, Michal Wajdeczko

On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>
>On 16/04/2024 14:51, Lucas De Marchi wrote:
>>Forgot to Cc Michal, doing now.
>>
>>Lucas De Marchi
>>
>>On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>
>>>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>Add per-client usage statistics to xe. This ports xe to use the common
>>>>>method in drm to export the usage to userspace per client (where 1
>>>>>client == 1 drm fd open).
>>>>>
>>>>>However insted of using the current format, this creates a new one with
>>>>>the unit "ticks". The intention here is not to mix the GPU clock domain
>>>>>with the CPU clock. It allows to cover a few more use cases without
>>>>>extra complications.
>>>>>
>>>>>Last patch was a quick implemenation of a gputop-like tool in python.
>>>>>I ended doing it to cross check the gputop implementation. I's not
>>>>>really meant to be applied here.
>>>>>
>>>>>I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>>>(in a gnome session), but it would be good to soak this under more
>>>>>tests. The biggest goal for this patch series right now is to get
>>>>>consensus on the new UAPI.
>>>>>
>>>>>TODO: Add documentation on top with the new interface.
>>>>
>>>>Yeah a drm-usage-stats.rst patch would be nice to have in the 
>>>>RFC so one does not have to look into the driver implementation 
>>>>to discuss the proposed uapi.
>>>>
>>>>Nevertheless I understand the proposal is to add this:
>>>>
>>>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>
>>>yes, the gputop patch was more explicit about this. Should had added in
>>>the kernel patch series too.
>>>
>>>>
>>>>That's two values per key. I guess "one key value pair for per 
>>>>one line of text" does not get strictly broken and that you 
>>>>propose a heuristics in parsing to detect that the <RUNTIME> 
>>>>cannot be mis-interpreted as the unit?
>>>
>>>the current format is
>>>
>>>    drm-engine-<class>: <RUNTIME> ns
>>>
>>>the "ns" in the end should be parsed by userspace to know
>>>what it is about.
>
>Right.
>
>>>
>>>>
>>>>Not sure it is a good idea though. If you instead added a new 
>>>>key for the gpu time what would be the downside in your view? 
>>>>Like:
>>>>
>>>>drm-engine-<class>: <uint> ticks
>>>>drm-ticks-<class>: <uint>
>>>>
>>>>Or maybe even obsfuscate/generalise as:
>>>>
>>>>drm-engine-<class>: <uint> gpu-time
>>>>drm-gpu-time-<class>: <uint>
>>>
>>>I think both work, but I fail to see the advantage. This alternative is
>>>slightly heavier on the parsing side since you have to correlate the
>>>values from 2 keys, possibly dealing with them appearing in different
>>>order. The only possible breakage remains with this alternative: if
>>>userspace didn't parse the unit before. I checked nvtop and htop and
>>>they were doing the right thing. I sent a fix to igt a few weeks back
>>>for it to consider the unit:
>>>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>
>Advantages are that "drm-engine-something: 1234 5678 ticks" isn't 
>self-explanatory (intuitively humanly readable) and that it doesn't 

maybe I have a different expectation from procfs. When I do e.g.

# cat /proc/self/stat
3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 0 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 18446744073709551615 93979016876032 93979016892449 140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 0 0 0 0 93979016907440 93979016908904 93979037196288 140720658380605 140720658380625 140720658380625 140720658382827 0

it doesn't seem to me "intuitively humanly readable" was the first
concern for people adding files in procfs :)... I'd rather think "machine
readable" was more important.


>diverge from the one value per key plus unit format. Latter we would 
>then document clearly.
>
>Different keys potentially appearing in different order does not 
>matter since userspace already has to handle that.
>
>>>>Potentially could also add a key saying how much wall time is 
>>>>one unit of GPU time.
>>>
>>>I wouldn't add it really as it may not make sense depending on the
>>>vendor and or usage. Examples: the gpu time may be different for
>>>different engines depending on where they are located (tile/gt). The
>>>correlation with CPU time is different when running in VF mode, and may
>>>change in runtime depending on the number of VFs. +Michal.
>
>Yes, that's why I said "potentially", which was supposed to mean if 
>and where it makes sense and perhaps adds value.
>
>>>Also, if the userspace side really wants to know (why would it?)
>>>it could be just calculate from 2 samples (possibly repeated a few
>>>times as it updates the output).
>>>
>>>>
>>>>Or.. would even the existing drm-cycles, plus abuse of 
>>>>drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per wall 
>>>>second.
>>>
>>>I think it'd be up to gpu vendor what clock backs this time. For the
>>>current Intel cards, it's the refclock and it doesn't vary the
>>>frequency.
>
>Right, but that doesn't matter. What I was saying is that if you 
>exposed ticks in drm-cycles and tick frequency in drm-maxfreq it would 
>even work, no? (Assuming support for those two was actually in 
>igt_drm_fdinfo/clients/gputop and could be used as fallback to time 
>based stats.)

oh... I was looking at the output for i915 and missed that we had
drm-cycles as currently i915 doesn't use it. It seems to be a similar
thing. I agree the drm-maxfreq- is unfortunate and that we don't
actually have support for that in gputop.

So, instead of the 2 numbers + different unit, I can adapt this to
rather use drm-cycles. However for maxfreq, it doesn't seem to be
what we need since it doesn't scale for VF. It brings back the cpu clock
domain this series is trying to avoid. The difference is that using
drm-cycles- and drm-maxfreq- you are expecting the userspace to do
(let me know if I interpreted the docs wrong):

	s1 = sample()
	sleep(period)
	s2 = sample()
	engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - (s1.drm_cycles * s1.drm_max_freq)) / period

... considering the drm_max_freq may change from one call to the other.
if we simplify it and assume it doesn't change:

	engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * drm_max_freq) / period

we'd need different drm_max_freq reported on VF driver that would need
to know the number of VFs enabled to scaled it correctly. Maybe this is
abusing the "drm-maxfreq" a little bit?

What if we had

drm-cycles-<keystr>: <uint>
drm-total-cycles-<keystr>: <uint>

Then the utilization can be done:

	s1 = sample()
	sleep(period)
	s2 = sample()
	engine_utilization = (s2.cycles - s1.cycles) / \
			     (s2.total_cycles - s1.total_cycles + 1);

Capacity still to be added above, but we'd need to clarify if
drm-total-cycles-<keystr> already accounts for it.

Here instead of the conversion to cpu clock, I'm expecting to read
"total_cycles" from HW and that being different (slower) for VF.
AFAICS this is not the case with this current polling implementation
since we are simply reading the RING_TIMESTAMP, but there are planned
changes to get it from GuC. Umesh/Michal Cc'ed may know better.

Lucas De Marchi

>
>Only problem is the name maxfreq is not really an exact fit, which is 
>why I am not convinced we should go this route. Perhaps could add 
>drm-cycle-frequency and then drm-cycles would fit.
>
>>>>Secondly, wrap behaviour every 25-30 seconds patch 6/7 describes 
>>>>definitely breaks the format spec and in my view should be 
>>>>worked around in the driver:
>>>>
>>>>"""
>>>>Values are not required to be constantly monotonic if it makes 
>>>>the driver
>>>>implementation easier, but are required to catch up with the 
>>>>previously reported
>>>>larger value within a reasonable period. Upon observing a value 
>>>>lower than what
>>>>was previously read, userspace is expected to stay with that 
>>>>larger previous
>>>>value until a monotonic update is seen.
>>>>"""
>>>
>>>but this is the behavior for dealing with "ns", not with "ticks". We can
>
>Applies to drm-cycles- too.
>
>>>add a worker to run every so often.  When I got the original patches
>>>from Umesh, we had this worker implemented, but dealing with that was
>>>complex and wasting a lot of cycles since it was always running (except
>>>if we didn't have any exec_queue). Here is my tentative to simplify it
>>>since I don't really see the need to account for a ~25s wrap around.
>
>At the moment I don't think diverging like that would be user 
>friendly. Apart from diverging it would only make the output useful to 
>tools which know to keep polling with a small enough period.
>
>The tools with support a configurable polling period such as 
>intel_gpu_top could even inadvertently fail. Or would need to start 
>embedding knowledge about maximum periods per driver/backend/whatever. 
>Or new fdinfo keys to signal that.
>
>Sticking with the same monotic scheme sounds preferrable to me.
>
>And if wrap is 25-30 seconds why it was wasting that many cycles? Some 
>worker only needs to run once every 20 seconds or so and that is it, 
>no?

every 25-30s for every card regardless of having a userspace tool
quering or not seems wasteful to me.

Lucas De Marchi

>
>Regards,
>
>Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* ✗ CI.FULL: failure for drm/xe: Per client usage
  2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
                   ` (14 preceding siblings ...)
  2024-04-16  8:37 ` [PATCH 0/7] " Tvrtko Ursulin
@ 2024-04-16 22:12 ` Patchwork
  15 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-04-16 22:12 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 81896 bytes --]

== Series Details ==

Series: drm/xe: Per client usage
URL   : https://patchwork.freedesktop.org/series/132477/
State : failure

== Summary ==

CI Bug Log - changes from xe-1095-5f7597e990bea547bd1261170497e7476fb781bb_full -> xe-pw-132477v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-132477v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-132477v1_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 (3 -> 3)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in xe-pw-132477v1_full:

### IGT changes ###

#### Possible regressions ####

  * {igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-2} (NEW):
    - {shard-lnl}:        NOTRUN -> [SKIP][1]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-2.html

  * igt@xe_vm@large-split-binds-2097152:
    - shard-adlp:         [PASS][2] -> [DMESG-FAIL][3] +1 other test dmesg-fail
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-1/igt@xe_vm@large-split-binds-2097152.html
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@xe_vm@large-split-binds-2097152.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - {shard-lnl}:        [PASS][4] -> [FAIL][5]
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-4/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-4/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_chamelium_frames@hdmi-crc-single:
    - {shard-lnl}:        [SKIP][6] ([Intel XE#373]) -> [SKIP][7]
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-7/igt@kms_chamelium_frames@hdmi-crc-single.html
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-8/igt@kms_chamelium_frames@hdmi-crc-single.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
    - {shard-lnl}:        [SKIP][8] ([Intel XE#309]) -> [SKIP][9]
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-8/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html

  * igt@kms_fbcon_fbt@fbc:
    - {shard-lnl}:        NOTRUN -> [DMESG-WARN][10]
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_feature_discovery@psr2:
    - {shard-lnl}:        [PASS][11] -> [DMESG-WARN][12]
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-4/igt@kms_feature_discovery@psr2.html
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@kms_feature_discovery@psr2.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
    - {shard-lnl}:        [SKIP][13] ([Intel XE#1401]) -> [SKIP][14]
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-8/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt:
    - {shard-lnl}:        [SKIP][15] ([Intel XE#656]) -> [SKIP][16]
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_plane_alpha_blend@alpha-basic:
    - {shard-lnl}:        [PASS][17] -> [INCOMPLETE][18]
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-1/igt@kms_plane_alpha_blend@alpha-basic.html
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@kms_plane_alpha_blend@alpha-basic.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a-edp-1:
    - {shard-lnl}:        [TIMEOUT][19] ([Intel XE#1558]) -> [INCOMPLETE][20] +1 other test incomplete
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-4/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a-edp-1.html
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a-edp-1.html

  
New tests
---------

  New tests have been introduced between xe-1095-5f7597e990bea547bd1261170497e7476fb781bb_full and xe-pw-132477v1_full:

### New IGT tests (6) ###

  * igt@kms_cursor_edge_walk@64x64-top-edge@pipe-a-edp-2:
    - Statuses : 1 dmesg-warn(s)
    - Exec time: [50.27] s

  * igt@kms_cursor_edge_walk@64x64-top-edge@pipe-c-edp-2:
    - Statuses : 1 dmesg-warn(s)
    - Exec time: [49.33] s

  * igt@kms_hdr@bpc-switch-dpms@pipe-a-edp-2:
    - Statuses : 1 dmesg-warn(s)
    - Exec time: [28.28] s

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-a-edp-2:
    - Statuses : 1 skip(s)
    - Exec time: [0.01] s

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-2:
    - Statuses : 1 skip(s)
    - Exec time: [0.01] s

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-c-edp-2:
    - Statuses : 1 skip(s)
    - Exec time: [0.01] s

  

Known issues
------------

  Here are the changes found in xe-pw-132477v1_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_async_flips@async-flip-with-page-flip-events:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][21] ([Intel XE#1033] / [Intel XE#1214] / [Intel XE#358])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_async_flips@async-flip-with-page-flip-events.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-1-y:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][22] ([Intel XE#1033] / [Intel XE#1214]) +3 other tests dmesg-warn
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-1-y.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-dp-4-4-rc-ccs:
    - shard-dg2-set2:     NOTRUN -> [SKIP][23] ([Intel XE#1201] / [Intel XE#801]) +15 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-dp-4-4-rc-ccs.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-6-4-mc-ccs:
    - shard-dg2-set2:     NOTRUN -> [FAIL][24] ([Intel XE#650]) +12 other tests fail
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-6-4-mc-ccs.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-270:
    - shard-dg2-set2:     NOTRUN -> [SKIP][25] ([Intel XE#1201] / [Intel XE#316])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_big_fb@4-tiled-16bpp-rotate-270.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         NOTRUN -> [SKIP][26] ([Intel XE#1124] / [Intel XE#1201]) +10 other tests skip
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-90:
    - shard-adlp:         NOTRUN -> [SKIP][27] ([Intel XE#1201] / [Intel XE#316]) +3 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-adlp:         [PASS][28] -> [FAIL][29] ([Intel XE#1231])
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - shard-dg2-set2:     NOTRUN -> [SKIP][30] ([Intel XE#1124] / [Intel XE#1201]) +2 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_bw@linear-tiling-2-displays-3840x2160p:
    - shard-adlp:         NOTRUN -> [SKIP][31] ([Intel XE#1201] / [Intel XE#367]) +1 other test skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][32] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +23 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [SKIP][33] ([Intel XE#1201] / [Intel XE#787]) +57 other tests skip
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-433/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-6.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][34] ([Intel XE#1201] / [Intel XE#787]) +44 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [SKIP][35] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +18 other tests skip
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-adlp:         NOTRUN -> [SKIP][36] ([Intel XE#1201] / [Intel XE#306]) +1 other test skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_edid@dp-edid-resolution-list:
    - shard-adlp:         NOTRUN -> [SKIP][37] ([Intel XE#1201] / [Intel XE#373]) +5 other tests skip
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_chamelium_edid@dp-edid-resolution-list.html

  * igt@kms_chamelium_edid@dp-edid-stress-resolution-4k:
    - shard-dg2-set2:     NOTRUN -> [SKIP][38] ([Intel XE#1201] / [Intel XE#373]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_chamelium_edid@dp-edid-stress-resolution-4k.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-adlp:         NOTRUN -> [SKIP][39] ([Intel XE#1201] / [Intel XE#307])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-dg2-set2:     NOTRUN -> [SKIP][40] ([Intel XE#1201] / [Intel XE#455])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_content_protection@mei-interface.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     NOTRUN -> [SKIP][41] ([Intel XE#1201] / [Intel XE#308])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_cursor_crc@cursor-onscreen-512x170.html
    - shard-adlp:         NOTRUN -> [SKIP][42] ([Intel XE#1201] / [Intel XE#308])
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-suspend:
    - shard-adlp:         NOTRUN -> [INCOMPLETE][43] ([Intel XE#1195] / [Intel XE#927]) +1 other test incomplete
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_cursor_crc@cursor-suspend.html

  * igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [INCOMPLETE][44] ([Intel XE#1195])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_cursor_edge_walk@256x256-top-bottom@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][45] ([Intel XE#1214] / [Intel XE#282]) +1 other test dmesg-warn
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_cursor_edge_walk@256x256-top-bottom@pipe-a-hdmi-a-6.html

  * {igt@kms_cursor_edge_walk@64x64-top-edge@pipe-a-edp-2} (NEW):
    - {shard-lnl}:        NOTRUN -> [DMESG-WARN][46] ([Intel XE#1537]) +2 other tests dmesg-warn
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@kms_cursor_edge_walk@64x64-top-edge@pipe-a-edp-2.html

  * igt@kms_cursor_edge_walk@64x64-top-edge@pipe-a-hdmi-a-2:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][47] ([Intel XE#1214]) +1 other test dmesg-warn
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_cursor_edge_walk@64x64-top-edge@pipe-a-hdmi-a-2.html

  * igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy:
    - shard-dg2-set2:     [PASS][48] -> [DMESG-WARN][49] ([Intel XE#1214] / [Intel XE#282]) +6 other tests dmesg-warn
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-434/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_cursor_legacy@2x-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions:
    - shard-adlp:         NOTRUN -> [SKIP][50] ([Intel XE#1201] / [Intel XE#309]) +3 other tests skip
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
    - shard-adlp:         NOTRUN -> [SKIP][51] ([Intel XE#1201] / [Intel XE#323])
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-adlp:         NOTRUN -> [SKIP][52] ([Intel XE#1137] / [Intel XE#1201])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_flip@2x-wf_vblank-ts-check:
    - shard-adlp:         NOTRUN -> [SKIP][53] ([Intel XE#1201] / [Intel XE#310]) +3 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_flip@2x-wf_vblank-ts-check.html

  * igt@kms_flip@flip-vs-suspend@b-hdmi-a1:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][54] ([Intel XE#1214] / [Intel XE#1608]) +2 other tests dmesg-warn
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
    - shard-adlp:         [PASS][55] -> [SKIP][56] ([Intel XE#1201])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-9/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
    - shard-dg2-set2:     NOTRUN -> [SKIP][57] ([Intel XE#1201])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][58] ([Intel XE#324]) +3 other tests dmesg-fail
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render:
    - shard-adlp:         NOTRUN -> [SKIP][59] ([Intel XE#1201] / [Intel XE#656]) +30 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][60] ([Intel XE#1201] / [Intel XE#651]) +6 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-wc:
    - shard-adlp:         NOTRUN -> [SKIP][61] ([Intel XE#1201] / [Intel XE#651]) +8 other tests skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][62] ([Intel XE#1201] / [Intel XE#653]) +5 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-adlp:         NOTRUN -> [SKIP][63] ([Intel XE#1201] / [Intel XE#653]) +12 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_getfb@getfb-reject-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][64] ([Intel XE#1201] / [Intel XE#1341])
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_getfb@getfb-reject-ccs.html

  * igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [FAIL][65] ([Intel XE#616])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-434/igt@kms_hdr@static-toggle-suspend@pipe-a-hdmi-a-6.html

  * igt@kms_panel_fitting@legacy:
    - shard-adlp:         NOTRUN -> [SKIP][66] ([Intel XE#1201] / [Intel XE#455]) +21 other tests skip
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_panel_fitting@legacy.html

  * igt@kms_plane@pixel-format@pipe-b:
    - shard-adlp:         NOTRUN -> [FAIL][67] ([Intel XE#1331]) +2 other tests fail
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_plane@pixel-format@pipe-b.html

  * igt@kms_plane_alpha_blend@alpha-basic:
    - shard-adlp:         [PASS][68] -> [INCOMPLETE][69] ([Intel XE#1150] / [Intel XE#1195])
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@kms_plane_alpha_blend@alpha-basic.html
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_plane_alpha_blend@alpha-basic.html

  * igt@kms_plane_lowres@tiling-4@pipe-a-hdmi-a-7:
    - shard-dg2-set2:     NOTRUN -> [DMESG-FAIL][70] ([Intel XE#324])
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-464/igt@kms_plane_lowres@tiling-4@pipe-a-hdmi-a-7.html

  * igt@kms_plane_lowres@tiling-none@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [DMESG-WARN][71] ([Intel XE#1214] / [Intel XE#324])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-433/igt@kms_plane_lowres@tiling-none@pipe-a-dp-4.html

  * igt@kms_plane_lowres@tiling-x@pipe-c-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [FAIL][72] ([Intel XE#616]) +6 other tests fail
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_plane_lowres@tiling-x@pipe-c-hdmi-a-1.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
    - shard-dg2-set2:     [PASS][73] -> [FAIL][74] ([Intel XE#361]) +2 other tests fail
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][75] ([Intel XE#1195] / [Intel XE#904] / [Intel XE#909])
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-a-hdmi-a-6.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][76] ([Intel XE#1201] / [Intel XE#305]) +5 other tests skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25:
    - shard-adlp:         NOTRUN -> [SKIP][77] ([Intel XE#1201] / [Intel XE#305] / [Intel XE#455]) +3 other tests skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-2 (NEW):
    - {shard-lnl}:        NOTRUN -> [SKIP][78] ([Intel XE#305]) +1 other test skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5@pipe-b-edp-2.html

  * igt@kms_pm_backlight@fade:
    - shard-adlp:         NOTRUN -> [SKIP][79] ([Intel XE#1201] / [Intel XE#870])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_pm_backlight@fade.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-adlp:         NOTRUN -> [SKIP][80] ([Intel XE#1129] / [Intel XE#1201])
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_rpm@modeset-stress-extra-wait:
    - shard-dg2-set2:     [PASS][81] -> [SKIP][82] ([Intel XE#1201] / [Intel XE#1211]) +2 other tests skip
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-433/igt@kms_pm_rpm@modeset-stress-extra-wait.html
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_pm_rpm@modeset-stress-extra-wait.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area:
    - shard-adlp:         NOTRUN -> [SKIP][83] ([Intel XE#1201]) +1 other test skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_psr2_sf@plane-move-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-xrgb8888:
    - shard-adlp:         NOTRUN -> [SKIP][84] ([Intel XE#1122] / [Intel XE#1201])
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_psr2_su@page_flip-xrgb8888.html

  * igt@kms_psr@fbc-psr2-primary-render:
    - shard-dg2-set2:     NOTRUN -> [SKIP][85] ([Intel XE#1201] / [Intel XE#929]) +3 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-434/igt@kms_psr@fbc-psr2-primary-render.html

  * igt@kms_psr@psr-suspend:
    - shard-adlp:         NOTRUN -> [SKIP][86] ([Intel XE#1201] / [Intel XE#929]) +11 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_psr@psr-suspend.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-adlp:         NOTRUN -> [SKIP][87] ([Intel XE#1149] / [Intel XE#1201])
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rmfb@close-fd@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [FAIL][88] ([Intel XE#294]) +1 other test fail
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_rmfb@close-fd@pipe-a-hdmi-a-1.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     NOTRUN -> [SKIP][89] ([Intel XE#1201] / [Intel XE#327])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-dg2-set2:     [PASS][90] -> [DMESG-WARN][91] ([Intel XE#1162] / [Intel XE#1214])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-433/igt@kms_vblank@ts-continuation-suspend.html
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_vblank@ts-continuation-suspend.html

  * igt@kms_writeback@writeback-invalid-parameters:
    - shard-dg2-set2:     NOTRUN -> [SKIP][92] ([Intel XE#1201] / [Intel XE#756])
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-464/igt@kms_writeback@writeback-invalid-parameters.html

  * igt@xe_ccs@ctrl-surf-copy:
    - shard-adlp:         NOTRUN -> [SKIP][93] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#488]) +2 other tests skip
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@xe_ccs@ctrl-surf-copy.html

  * igt@xe_compute@ccs-mode-compute-kernel:
    - shard-dg2-set2:     NOTRUN -> [FAIL][94] ([Intel XE#1050])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-434/igt@xe_compute@ccs-mode-compute-kernel.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-dg2-set2:     [PASS][95] -> [FAIL][96] ([Intel XE#1259])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-436/igt@xe_evict@evict-beng-mixed-many-threads-small.html
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-cm-threads-large:
    - shard-dg2-set2:     [PASS][97] -> [TIMEOUT][98] ([Intel XE#1473] / [Intel XE#392])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-433/igt@xe_evict@evict-cm-threads-large.html
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-433/igt@xe_evict@evict-cm-threads-large.html

  * igt@xe_evict@evict-cm-threads-large-multi-vm:
    - shard-dg2-set2:     [PASS][99] -> [INCOMPLETE][100] ([Intel XE#1195] / [Intel XE#1473])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-436/igt@xe_evict@evict-cm-threads-large-multi-vm.html
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@xe_evict@evict-cm-threads-large-multi-vm.html

  * igt@xe_evict@evict-large-multi-vm:
    - shard-adlp:         NOTRUN -> [SKIP][101] ([Intel XE#1201] / [Intel XE#261]) +6 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@xe_evict@evict-large-multi-vm.html

  * igt@xe_evict@evict-mixed-threads-small-multi-vm:
    - shard-adlp:         NOTRUN -> [SKIP][102] ([Intel XE#1201] / [Intel XE#261] / [Intel XE#688]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@xe_evict@evict-mixed-threads-small-multi-vm.html

  * igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen:
    - shard-adlp:         NOTRUN -> [SKIP][103] ([Intel XE#1201] / [Intel XE#688])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@xe_evict_ccs@evict-overcommit-parallel-nofree-reopen.html

  * igt@xe_exec_balancer@once-virtual-basic:
    - shard-adlp:         [PASS][104] -> [DMESG-WARN][105] ([Intel XE#1214]) +1 other test dmesg-warn
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@xe_exec_balancer@once-virtual-basic.html
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@xe_exec_balancer@once-virtual-basic.html

  * igt@xe_exec_compute_mode@once-userptr:
    - shard-adlp:         [PASS][106] -> [FAIL][107] ([Intel XE#1069])
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@xe_exec_compute_mode@once-userptr.html
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@xe_exec_compute_mode@once-userptr.html

  * igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-race:
    - shard-adlp:         NOTRUN -> [SKIP][108] ([Intel XE#1201] / [Intel XE#288]) +15 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@xe_exec_fault_mode@many-execqueues-userptr-invalidate-race.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     NOTRUN -> [SKIP][109] ([Intel XE#1201] / [Intel XE#288]) +4 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_exec_reset@cm-gt-reset:
    - shard-adlp:         NOTRUN -> [FAIL][110] ([Intel XE#1068])
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@xe_exec_reset@cm-gt-reset.html

  * igt@xe_exec_threads@threads-fd-userptr:
    - shard-dg2-set2:     [PASS][111] -> [INCOMPLETE][112] ([Intel XE#1169] / [Intel XE#1195] / [Intel XE#1356])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-434/igt@xe_exec_threads@threads-fd-userptr.html
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@xe_exec_threads@threads-fd-userptr.html

  * igt@xe_gt_freq@freq_suspend:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][113] ([Intel XE#1191] / [Intel XE#1214]) +1 other test dmesg-warn
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@xe_gt_freq@freq_suspend.html

  * igt@xe_live_ktest@xe_bo:
    - shard-dg2-set2:     [PASS][114] -> [SKIP][115] ([Intel XE#1192] / [Intel XE#1201])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@xe_live_ktest@xe_bo.html
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@xe_live_ktest@xe_bo.html

  * igt@xe_module_load@reload:
    - shard-dg2-set2:     [PASS][116] -> [DMESG-WARN][117] ([Intel XE#1214]) +3 other tests dmesg-warn
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-434/igt@xe_module_load@reload.html
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@xe_module_load@reload.html

  * igt@xe_noexec_ping_pong:
    - shard-adlp:         NOTRUN -> [SKIP][118] ([Intel XE#1201] / [Intel XE#379])
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@xe_noexec_ping_pong.html

  * igt@xe_peer2peer@read:
    - shard-adlp:         NOTRUN -> [SKIP][119] ([Intel XE#1061] / [Intel XE#1201])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@xe_peer2peer@read.html

  * igt@xe_pm@d3-mmap-system:
    - shard-adlp:         NOTRUN -> [FAIL][120] ([Intel XE#1221])
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@xe_pm@d3-mmap-system.html

  * igt@xe_pm@d3hot-basic:
    - shard-dg2-set2:     [PASS][121] -> [FAIL][122] ([Intel XE#355])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@xe_pm@d3hot-basic.html
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@xe_pm@d3hot-basic.html

  * igt@xe_pm@d3hot-multiple-execs:
    - shard-adlp:         [PASS][123] -> [FAIL][124] ([Intel XE#355])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@xe_pm@d3hot-multiple-execs.html
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@xe_pm@d3hot-multiple-execs.html

  * igt@xe_pm@s2idle-multiple-execs:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][125] ([Intel XE#1191] / [Intel XE#1214] / [Intel XE#1608]) +1 other test dmesg-warn
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@xe_pm@s2idle-multiple-execs.html

  * igt@xe_pm@s3-d3cold-basic-exec:
    - shard-adlp:         NOTRUN -> [SKIP][126] ([Intel XE#1201] / [Intel XE#366])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@xe_pm@s3-d3cold-basic-exec.html

  * igt@xe_pm@s4-basic-exec:
    - shard-adlp:         NOTRUN -> [FAIL][127] ([Intel XE#1043] / [Intel XE#845])
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@xe_pm@s4-basic-exec.html

  * igt@xe_query@multigpu-query-mem-usage:
    - shard-adlp:         NOTRUN -> [SKIP][128] ([Intel XE#1201] / [Intel XE#944])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@xe_query@multigpu-query-mem-usage.html

  
#### Possible fixes ####

  * igt@kms_addfb_basic@bad-pitch-63:
    - shard-adlp:         [SKIP][129] ([Intel XE#1177] / [Intel XE#1201]) -> [PASS][130] +4 other tests pass
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_addfb_basic@bad-pitch-63.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_addfb_basic@bad-pitch-63.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-adlp:         [FAIL][131] ([Intel XE#1231]) -> [PASS][132]
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         [FAIL][133] ([Intel XE#1204]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * {igt@kms_big_joiner@basic-force-joiner}:
    - shard-dg2-set2:     [SKIP][135] ([Intel XE#1201]) -> [PASS][136]
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_big_joiner@basic-force-joiner.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_big_joiner@basic-force-joiner.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic:
    - shard-dg2-set2:     [DMESG-WARN][137] ([Intel XE#1214] / [Intel XE#282] / [Intel XE#910]) -> [PASS][138]
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-436/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-464/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-atomic.html

  * igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
    - shard-dg2-set2:     [DMESG-WARN][139] ([Intel XE#1214] / [Intel XE#282]) -> [PASS][140] +2 other tests pass
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-433/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html

  * igt@kms_flip@basic-plain-flip:
    - {shard-lnl}:        [DMESG-WARN][141] ([Intel XE#1330] / [Intel XE#1537]) -> [PASS][142]
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-6/igt@kms_flip@basic-plain-flip.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-3/igt@kms_flip@basic-plain-flip.html
    - shard-adlp:         [INCOMPLETE][143] ([Intel XE#1150] / [Intel XE#1195] / [Intel XE#1330]) -> [PASS][144]
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-1/igt@kms_flip@basic-plain-flip.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_flip@basic-plain-flip.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank:
    - {shard-lnl}:        [FAIL][145] ([Intel XE#480]) -> [PASS][146] +3 other tests pass
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-2/igt@kms_flip@flip-vs-absolute-wf_vblank.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-8/igt@kms_flip@flip-vs-absolute-wf_vblank.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling:
    - shard-adlp:         [DMESG-WARN][147] ([Intel XE#1214]) -> [PASS][148] +1 other test pass
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt:
    - shard-adlp:         [SKIP][149] ([Intel XE#1201]) -> [PASS][150] +44 other tests pass
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc:
    - shard-adlp:         [INCOMPLETE][151] ([Intel XE#1195]) -> [PASS][152]
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
    - {shard-lnl}:        [INCOMPLETE][153] ([Intel XE#1602]) -> [PASS][154] +1 other test pass
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear:
    - {shard-lnl}:        [DMESG-WARN][155] ([Intel XE#1330]) -> [PASS][156] +4 other tests pass
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsr-tiling-linear.html

  * igt@kms_frontbuffer_tracking@plane-fbc-rte:
    - {shard-lnl}:        [DMESG-FAIL][157] ([Intel XE#1537] / [Intel XE#1602]) -> [PASS][158]
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-8/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-2/igt@kms_frontbuffer_tracking@plane-fbc-rte.html

  * igt@kms_pm_dc@dc5-psr:
    - {shard-lnl}:        [FAIL][159] ([Intel XE#718]) -> [PASS][160]
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-5/igt@kms_pm_dc@dc5-psr.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-6/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-dg2-set2:     [FAIL][161] ([Intel XE#1204]) -> [PASS][162]
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@kms_pm_dc@dc9-dpms.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-434/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-dg2-set2:     [SKIP][163] ([Intel XE#1201] / [Intel XE#1211]) -> [PASS][164]
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_pm_rpm@modeset-lpsp.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_universal_plane@cursor-fb-leak:
    - shard-dg2-set2:     [FAIL][165] ([Intel XE#771] / [Intel XE#899]) -> [PASS][166]
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-435/igt@kms_universal_plane@cursor-fb-leak.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@kms_universal_plane@cursor-fb-leak.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [FAIL][167] ([Intel XE#899]) -> [PASS][168]
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-435/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-6.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-6.html

  * igt@kms_vblank@wait-forked:
    - {shard-lnl}:        [DMESG-WARN][169] ([Intel XE#1602]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-6/igt@kms_vblank@wait-forked.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-1/igt@kms_vblank@wait-forked.html

  * igt@xe_exec_basic@many-execqueues-many-vm-userptr-invalidate:
    - {shard-lnl}:        [DMESG-FAIL][171] ([Intel XE#1537] / [Intel XE#1619]) -> [PASS][172]
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-6/igt@xe_exec_basic@many-execqueues-many-vm-userptr-invalidate.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-2/igt@xe_exec_basic@many-execqueues-many-vm-userptr-invalidate.html

  * igt@xe_exec_compute_mode@many-bindexecqueue-userptr:
    - {shard-lnl}:        [INCOMPLETE][173] ([Intel XE#1617]) -> [PASS][174]
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-8/igt@xe_exec_compute_mode@many-bindexecqueue-userptr.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-4/igt@xe_exec_compute_mode@many-bindexecqueue-userptr.html

  * igt@xe_exec_queue_property@invalid-property:
    - {shard-lnl}:        [DMESG-WARN][175] ([Intel XE#1537]) -> [PASS][176] +1 other test pass
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-6/igt@xe_exec_queue_property@invalid-property.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-4/igt@xe_exec_queue_property@invalid-property.html

  * igt@xe_exec_reset@gt-reset-stress:
    - {shard-lnl}:        [DMESG-WARN][177] ([Intel XE#1329]) -> [PASS][178]
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-4/igt@xe_exec_reset@gt-reset-stress.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-7/igt@xe_exec_reset@gt-reset-stress.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - {shard-lnl}:        [FAIL][179] ([Intel XE#1081]) -> [PASS][180]
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-2/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-1/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

  * igt@xe_gt_freq@freq_reset_multiple:
    - {shard-lnl}:        [FAIL][181] -> [PASS][182]
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-7/igt@xe_gt_freq@freq_reset_multiple.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-6/igt@xe_gt_freq@freq_reset_multiple.html

  * igt@xe_module_load@many-reload:
    - shard-adlp:         [DMESG-FAIL][183] ([Intel XE#1554]) -> [PASS][184]
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@xe_module_load@many-reload.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@xe_module_load@many-reload.html

  * igt@xe_module_load@reload:
    - shard-adlp:         [FAIL][185] -> [PASS][186]
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@xe_module_load@reload.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@xe_module_load@reload.html

  * igt@xe_pm@d3hot-basic-exec:
    - shard-dg2-set2:     [FAIL][187] ([Intel XE#355]) -> [PASS][188]
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@xe_pm@d3hot-basic-exec.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@xe_pm@d3hot-basic-exec.html

  * igt@xe_pm@s2idle-basic:
    - shard-adlp:         [INCOMPLETE][189] ([Intel XE#1044] / [Intel XE#1195] / [Intel XE#1358]) -> [PASS][190]
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-9/igt@xe_pm@s2idle-basic.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@xe_pm@s2idle-basic.html

  * igt@xe_pm@s3-basic:
    - shard-adlp:         [DMESG-WARN][191] ([Intel XE#1191] / [Intel XE#1214]) -> [PASS][192]
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@xe_pm@s3-basic.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@xe_pm@s3-basic.html

  * igt@xe_vm@large-userptr-binds-16777216:
    - {shard-lnl}:        [DMESG-FAIL][193] ([Intel XE#1619]) -> [PASS][194]
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-lnl-8/igt@xe_vm@large-userptr-binds-16777216.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-lnl-1/igt@xe_vm@large-userptr-binds-16777216.html

  
#### Warnings ####

  * igt@core_hotunplug@hotreplug:
    - shard-adlp:         [DMESG-WARN][195] ([Intel XE#1214]) -> [ABORT][196] ([Intel XE#1538])
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@core_hotunplug@hotreplug.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@core_hotunplug@hotreplug.html

  * igt@core_hotunplug@hotreplug-lateclose:
    - shard-adlp:         [INCOMPLETE][197] ([Intel XE#1195] / [Intel XE#1538]) -> [ABORT][198] ([Intel XE#1538])
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-9/igt@core_hotunplug@hotreplug-lateclose.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@core_hotunplug@hotreplug-lateclose.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-0:
    - shard-adlp:         [SKIP][199] ([Intel XE#1201]) -> [SKIP][200] ([Intel XE#1124] / [Intel XE#1201])
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         [SKIP][201] ([Intel XE#1177] / [Intel XE#1201]) -> [DMESG-FAIL][202] ([Intel XE#324])
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
    - shard-adlp:         [DMESG-FAIL][203] ([Intel XE#1619]) -> [FAIL][204] ([Intel XE#1231])
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-180:
    - shard-adlp:         [DMESG-FAIL][205] ([Intel XE#1619]) -> [FAIL][206] ([Intel XE#616])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-adlp:         [SKIP][207] ([Intel XE#1201]) -> [FAIL][208] ([Intel XE#616]) +1 other test fail
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
    - shard-adlp:         [FAIL][209] ([Intel XE#1231]) -> [DMESG-FAIL][210] ([Intel XE#1088] / [Intel XE#1330])
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         [SKIP][211] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][212] ([Intel XE#1124] / [Intel XE#1201]) +2 other tests skip
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-adlp:         [SKIP][213] ([Intel XE#1201]) -> [SKIP][214] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +4 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

  * igt@kms_chamelium_frames@hdmi-crc-single:
    - shard-adlp:         [SKIP][215] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][216] ([Intel XE#1201])
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_chamelium_frames@hdmi-crc-single.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_chamelium_frames@hdmi-crc-single.html
    - shard-dg2-set2:     [SKIP][217] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][218] ([Intel XE#1201])
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@kms_chamelium_frames@hdmi-crc-single.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_chamelium_frames@hdmi-crc-single.html

  * igt@kms_chamelium_hpd@common-hpd-after-hibernate:
    - shard-adlp:         [SKIP][219] ([Intel XE#1201]) -> [SKIP][220] ([Intel XE#1201] / [Intel XE#373]) +2 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_chamelium_hpd@common-hpd-after-hibernate.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_chamelium_hpd@common-hpd-after-hibernate.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-adlp:         [SKIP][221] ([Intel XE#1201]) -> [SKIP][222] ([Intel XE#1201] / [Intel XE#308])
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_cursor_crc@cursor-onscreen-512x512.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_cursor_edge_walk@256x256-top-bottom:
    - shard-dg2-set2:     [FAIL][223] ([Intel XE#581]) -> [DMESG-WARN][224] ([Intel XE#1214] / [Intel XE#282])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_cursor_edge_walk@256x256-top-bottom.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_cursor_edge_walk@256x256-top-bottom.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
    - shard-dg2-set2:     [DMESG-WARN][225] ([Intel XE#1214] / [Intel XE#282]) -> [SKIP][226] ([Intel XE#1201])
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-433/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
    - shard-adlp:         [SKIP][227] ([Intel XE#1201] / [Intel XE#309]) -> [SKIP][228] ([Intel XE#1201])
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-4/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html

  * igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
    - shard-adlp:         [SKIP][229] ([Intel XE#1201]) -> [SKIP][230] ([Intel XE#1201] / [Intel XE#309])
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-adlp:         [INCOMPLETE][231] ([Intel XE#1195]) -> [INCOMPLETE][232] ([Intel XE#1195] / [Intel XE#927])
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-9/igt@kms_fbcon_fbt@fbc-suspend.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@2x-blocking-wf_vblank:
    - shard-adlp:         [SKIP][233] ([Intel XE#1201]) -> [SKIP][234] ([Intel XE#1201] / [Intel XE#310]) +1 other test skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_flip@2x-blocking-wf_vblank.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_flip@2x-blocking-wf_vblank.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-adlp:         [DMESG-WARN][235] ([Intel XE#1191] / [Intel XE#1214] / [Intel XE#1608]) -> [INCOMPLETE][236] ([Intel XE#1195] / [Intel XE#927])
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
    - shard-adlp:         [DMESG-WARN][237] ([Intel XE#1191] / [Intel XE#1214]) -> [INCOMPLETE][238] ([Intel XE#1195])
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html

  * igt@kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-blt:
    - shard-adlp:         [SKIP][239] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][240] ([Intel XE#1201] / [Intel XE#651])
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-blt.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw:
    - shard-adlp:         [SKIP][241] ([Intel XE#1201]) -> [SKIP][242] ([Intel XE#1201] / [Intel XE#656]) +13 other tests skip
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-blt:
    - shard-adlp:         [SKIP][243] ([Intel XE#1201]) -> [SKIP][244] ([Intel XE#1201] / [Intel XE#651]) +2 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-blt.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-pri-indfb-multidraw:
    - shard-dg2-set2:     [SKIP][245] ([Intel XE#1201]) -> [SKIP][246] ([Intel XE#1201] / [Intel XE#651])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-2p-pri-indfb-multidraw.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-2p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt:
    - shard-dg2-set2:     [SKIP][247] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][248] ([Intel XE#1201])
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html
    - shard-adlp:         [SKIP][249] ([Intel XE#1201] / [Intel XE#656]) -> [SKIP][250] ([Intel XE#1201])
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
    - shard-adlp:         [SKIP][251] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][252] ([Intel XE#1201] / [Intel XE#656])
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render:
    - shard-adlp:         [SKIP][253] ([Intel XE#1201]) -> [SKIP][254] ([Intel XE#1201] / [Intel XE#653]) +2 other tests skip
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-adlp:         [SKIP][255] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][256] ([Intel XE#1201] / [Intel XE#417])
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_hdmi_inject@inject-audio.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-6/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@bpc-switch:
    - shard-adlp:         [SKIP][257] ([Intel XE#1201]) -> [SKIP][258] ([Intel XE#1201] / [Intel XE#455]) +2 other tests skip
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_hdr@bpc-switch.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_hdr@bpc-switch.html

  * igt@kms_plane@plane-panning-bottom-right-suspend:
    - shard-adlp:         [SKIP][259] ([Intel XE#1201]) -> [INCOMPLETE][260] ([Intel XE#1035] / [Intel XE#1195] / [Intel XE#927])
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_plane@plane-panning-bottom-right-suspend.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-9/igt@kms_plane@plane-panning-bottom-right-suspend.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b:
    - shard-dg2-set2:     [FAIL][261] ([Intel XE#616]) -> [DMESG-FAIL][262] ([Intel XE#1162]) +1 other test dmesg-fail
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-434/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html

  * igt@kms_plane_lowres@tiling-4:
    - shard-dg2-set2:     [DMESG-WARN][263] ([Intel XE#1214] / [Intel XE#324]) -> [DMESG-FAIL][264] ([Intel XE#324])
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@kms_plane_lowres@tiling-4.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-464/igt@kms_plane_lowres@tiling-4.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format:
    - shard-dg2-set2:     [TIMEOUT][265] ([Intel XE#380] / [Intel XE#904] / [Intel XE#909]) -> [INCOMPLETE][266] ([Intel XE#1195] / [Intel XE#904] / [Intel XE#909])
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-a-hdmi-a-6:
    - shard-dg2-set2:     [TIMEOUT][267] ([Intel XE#904] / [Intel XE#909]) -> [INCOMPLETE][268] ([Intel XE#1195] / [Intel XE#904] / [Intel XE#909])
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-a-hdmi-a-6.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-a-hdmi-a-6.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats:
    - shard-dg2-set2:     [SKIP][269] ([Intel XE#1201]) -> [INCOMPLETE][270] ([Intel XE#1195] / [Intel XE#909])
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-464/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-435/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-adlp:         [SKIP][271] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][272] ([Intel XE#1122] / [Intel XE#1201])
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc9-dpms:
    - shard-adlp:         [FAIL][273] ([Intel XE#1148] / [Intel XE#1204]) -> [SKIP][274] ([Intel XE#1201] / [Intel XE#734])
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-8/igt@kms_pm_dc@dc9-dpms.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@kms_pm_dc@dc9-dpms.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
    - shard-adlp:         [SKIP][275] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][276] ([Intel XE#1201])
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr@fbc-pr-sprite-plane-move:
    - shard-adlp:         [SKIP][277] ([Intel XE#1201]) -> [SKIP][278] ([Intel XE#1201] / [Intel XE#929]) +1 other test skip
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_psr@fbc-pr-sprite-plane-move.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-2/igt@kms_psr@fbc-pr-sprite-plane-move.html

  * igt@kms_psr@fbc-psr-dpms:
    - shard-adlp:         [SKIP][279] ([Intel XE#1177] / [Intel XE#1201]) -> [SKIP][280] ([Intel XE#1201] / [Intel XE#929])
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@kms_psr@fbc-psr-dpms.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@kms_psr@fbc-psr-dpms.html

  * igt@xe_evict@evict-beng-mixed-threads-large:
    - shard-dg2-set2:     [TIMEOUT][281] ([Intel XE#1473] / [Intel XE#392] / [Intel XE#931]) -> [TIMEOUT][282] ([Intel XE#1473] / [Intel XE#392])
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-434/igt@xe_evict@evict-beng-mixed-threads-large.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@xe_evict@evict-beng-mixed-threads-large.html

  * igt@xe_evict@evict-beng-threads-small-multi-vm:
    - shard-adlp:         [SKIP][283] ([Intel XE#1201]) -> [SKIP][284] ([Intel XE#1201] / [Intel XE#261])
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@xe_evict@evict-beng-threads-small-multi-vm.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-1/igt@xe_evict@evict-beng-threads-small-multi-vm.html

  * igt@xe_evict@evict-mixed-many-threads-large:
    - shard-dg2-set2:     [TIMEOUT][285] ([Intel XE#1041] / [Intel XE#1473] / [Intel XE#392]) -> [INCOMPLETE][286] ([Intel XE#1195] / [Intel XE#1473] / [Intel XE#392])
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-435/igt@xe_evict@evict-mixed-many-threads-large.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-436/igt@xe_evict@evict-mixed-many-threads-large.html

  * igt@xe_exec_fault_mode@many-userptr-invalidate-race:
    - shard-adlp:         [SKIP][287] ([Intel XE#1201]) -> [SKIP][288] ([Intel XE#1201] / [Intel XE#288]) +5 other tests skip
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@xe_exec_fault_mode@many-userptr-invalidate-race.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-4/igt@xe_exec_fault_mode@many-userptr-invalidate-race.html

  * igt@xe_pm@s4-basic:
    - shard-dg2-set2:     [DMESG-FAIL][289] ([Intel XE#1162] / [Intel XE#1551]) -> [FAIL][290] ([Intel XE#1043] / [Intel XE#845])
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-dg2-463/igt@xe_pm@s4-basic.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-dg2-466/igt@xe_pm@s4-basic.html

  * igt@xe_query@multigpu-query-invalid-size:
    - shard-adlp:         [SKIP][291] ([Intel XE#1201]) -> [SKIP][292] ([Intel XE#1201] / [Intel XE#944]) +1 other test skip
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1095-5f7597e990bea547bd1261170497e7476fb781bb/shard-adlp-2/igt@xe_query@multigpu-query-invalid-size.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/shard-adlp-8/igt@xe_query@multigpu-query-invalid-size.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
  [Intel XE#1035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1035
  [Intel XE#1041]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1041
  [Intel XE#1043]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1043
  [Intel XE#1044]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1044
  [Intel XE#1050]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1050
  [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061
  [Intel XE#1068]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1068
  [Intel XE#1069]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1069
  [Intel XE#1081]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1081
  [Intel XE#1088]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1088
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1128
  [Intel XE#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1137]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1137
  [Intel XE#1148]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1148
  [Intel XE#1149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1149
  [Intel XE#1150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1150
  [Intel XE#1162]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1162
  [Intel XE#1169]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1169
  [Intel XE#1177]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1177
  [Intel XE#1191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1191
  [Intel XE#1192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1192
  [Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
  [Intel XE#1201]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1201
  [Intel XE#1204]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1204
  [Intel XE#1211]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1211
  [Intel XE#1214]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1214
  [Intel XE#1221]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1221
  [Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
  [Intel XE#1259]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1259
  [Intel XE#1329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1329
  [Intel XE#1330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1330
  [Intel XE#1331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1331
  [Intel XE#1341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1341
  [Intel XE#1356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1356
  [Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1396
  [Intel XE#1399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1399
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1413
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1437
  [Intel XE#1446]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1446
  [Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447
  [Intel XE#1460]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1460
  [Intel XE#1465]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1465
  [Intel XE#1466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1466
  [Intel XE#1468]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1468
  [Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
  [Intel XE#1537]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1537
  [Intel XE#1538]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1538
  [Intel XE#1551]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1551
  [Intel XE#1554]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1554
  [Intel XE#1558]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1558
  [Intel XE#1577]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1577
  [Intel XE#1595]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1595
  [Intel XE#1602]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1602
  [Intel XE#1603]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1603
  [Intel XE#1605]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1605
  [Intel XE#1608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1608
  [Intel XE#1616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1616
  [Intel XE#1617]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1617
  [Intel XE#1619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1619
  [Intel XE#1641]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1641
  [Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
  [Intel XE#282]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/282
  [Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
  [Intel XE#294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/294
  [Intel XE#305]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/305
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
  [Intel XE#327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/327
  [Intel XE#355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/355
  [Intel XE#358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/358
  [Intel XE#361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/361
  [Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [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#379]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/379
  [Intel XE#380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/380
  [Intel XE#392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/392
  [Intel XE#417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/417
  [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
  [Intel XE#480]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/480
  [Intel XE#488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/488
  [Intel XE#581]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/581
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/650
  [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#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
  [Intel XE#734]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/734
  [Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
  [Intel XE#771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/771
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#801]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/801
  [Intel XE#827]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/827
  [Intel XE#845]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/845
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
  [Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
  [Intel XE#904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/904
  [Intel XE#909]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/909
  [Intel XE#910]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/910
  [Intel XE#927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/927
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#931]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/931
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977


Build changes
-------------

  * IGT: IGT_7806 -> IGT_7807
  * Linux: xe-1095-5f7597e990bea547bd1261170497e7476fb781bb -> xe-pw-132477v1

  IGT_7806: 849cd963ce7e8222dcf17cc872d355181fd2c2a2 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  IGT_7807: 43e71eeac0fb4fe59df40df2c96fd0fdbf585c0b @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-1095-5f7597e990bea547bd1261170497e7476fb781bb: 5f7597e990bea547bd1261170497e7476fb781bb
  xe-pw-132477v1: 132477v1

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-132477v1/index.html

[-- Attachment #2: Type: text/html, Size: 104193 bytes --]

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 5/7] drm/xe: Add helper to capture engine timestamp
  2024-04-16  3:04 ` [PATCH 5/7] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
@ 2024-04-16 22:56   ` Umesh Nerlige Ramappa
  2024-04-17  3:14     ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-16 22:56 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Tvrtko Ursulin

On Mon, Apr 15, 2024 at 08:04:52PM -0700, Lucas De Marchi wrote:
>Just like CTX_TIMESTAMP is used to calculate runtime, add a helper to
>get the timestamp for the engine so it can be used to calculate the
>"engine time" with the same unit as the runtime is recorded.
>
>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

>---
> drivers/gpu/drm/xe/xe_hw_engine.c | 7 +++++++
> drivers/gpu/drm/xe/xe_hw_engine.h | 2 ++
>  files changed, 9 insertions(+)
>
>diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
>index ab227fa8984a..528b271c9f23 100644
>--- a/drivers/gpu/drm/xe/xe_hw_engine.c
>+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
>@@ -981,3 +981,10 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
>
> 	return NULL;
> }
>+
>+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
>+{
>+	struct xe_reg reg = RING_TIMESTAMP(hwe->mmio_base);
>+
>+	return xe_mmio_read64_2x32(hwe->gt, reg);
>+}
>diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h b/drivers/gpu/drm/xe/xe_hw_engine.h
>index 843de159e47c..41cd0cd71ae0 100644
>--- a/drivers/gpu/drm/xe/xe_hw_engine.h
>+++ b/drivers/gpu/drm/xe/xe_hw_engine.h
>@@ -69,4 +69,6 @@ static inline bool xe_hw_engine_is_valid(struct xe_hw_engine *hwe)
>
> const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
>
>+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe);
>+
> #endif
>-- 
>2.43.0
>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 6/7] drm/xe/client: Print runtime to fdinfo
  2024-04-16  3:04 ` [PATCH 6/7] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
@ 2024-04-16 23:20   ` Umesh Nerlige Ramappa
  2024-04-17  3:11     ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-16 23:20 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Tvrtko Ursulin

On Mon, Apr 15, 2024 at 08:04:53PM -0700, Lucas De Marchi wrote:
>Print the accumulated runtime, per client, when printing fdinfo.
>Each time a query is done it first does 2 things:
>
>1) loop through all the exec queues for the current client and
>   accumulates the runtime, per engine class. CTX_TIMESTAMP is used for
>   that, being read from the context image.
>
>2) Read a "GPU timestamp" that can be used for considering "how much GPU
>   time has passed" and that has the same unit/ref-clock as the one
>   recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>
>This second part is done once per engine class, since it's a register
>that is replicated on all engines. It is however the same stamp. At
>least for the current GPUs this was tested one. It may be simplified,
>but in order to play safe and avoid the cases the clock is different in
>future for primary/media GTs, or across engine classes, just read it per
>class.
>
>This is exported to userspace as 2 numbers in fdinfo:
>
>	drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>
>Userspace is expected to collect at least 2 samples, which allows to
>know the engine busyness as per:
>
>		    RUNTIME1 - RUNTIME0
>	busyness = ---------------------
>			  T1 - T0
>
>When calculating the overall system busyness, userspace can loop through
>all the clients and add up all the numbers.  Since the GPU timestamp
>will be a little bit different, it's expected some fluctuation on
>accuracy, but that may be improved with a better hardware/GuC interface
>in future, maintaining the UAPI.
>
>Another thing to point out is that it's expected that userspace reads
>any 2 samples every few seconds.  Given the update frequency of the
>counters involved and that CTX_TIMESTAMP is 32b, it is expect to wrap
>every 25 ~ 30 seconds.

I think the worker I had implemented in my original patches (as well as 
i915 implementation) may have been confusing.

32 bit counter ticking at 19.2 MHz should wrap around in 223.696 
seconds. The worker on the other hand was overcompensating for it and 
running at 1/8th of this wrap around time.

> This could be mitigated by adding a workqueue to
>accumulate the counters every so often, but it's additional complexity
>for something that is done already by userspace every few seconds in
>tools like gputop (from igt), htop, nvtop, etc.
>
>Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>---
> drivers/gpu/drm/xe/xe_drm_client.c | 81 +++++++++++++++++++++++++++++-
> 1 file changed, 80 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
>index 08f0b7c95901..79eb453bfb14 100644
>--- a/drivers/gpu/drm/xe/xe_drm_client.c
>+++ b/drivers/gpu/drm/xe/xe_drm_client.c
>@@ -2,6 +2,7 @@
> /*
>  * Copyright © 2023 Intel Corporation
>  */
>+#include "xe_drm_client.h"
>
> #include <drm/drm_print.h>
> #include <drm/xe_drm.h>
>@@ -12,7 +13,10 @@
> #include "xe_bo.h"
> #include "xe_bo_types.h"
> #include "xe_device_types.h"
>-#include "xe_drm_client.h"
>+#include "xe_exec_queue.h"
>+#include "xe_gt.h"
>+#include "xe_hw_engine.h"
>+#include "xe_pm.h"
> #include "xe_trace.h"
>
> /**
>@@ -179,6 +183,80 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
> 	}
> }
>
>+static const u64 class_to_mask[] = {
>+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
>+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
>+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
>+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
>+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
>+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
>+};
>+
>+static void show_runtime(struct drm_printer *p, struct drm_file *file)
>+{
>+	struct xe_file *xef = file->driver_priv;
>+	struct xe_device *xe = xef->xe;
>+	struct xe_gt *gt;
>+	struct xe_hw_engine *hwe;
>+	struct xe_exec_queue *q;
>+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
>+	u64 gpu_timestamp, engine_mask = 0;
>+	bool gpu_stamp = false;
>+
>+	xe_pm_runtime_get(xe);
>+
>+	mutex_lock(&xef->exec_queue.lock);
>+	xa_for_each(&xef->exec_queue.xa, i, q)
>+		xe_exec_queue_update_runtime(q);
>+	mutex_unlock(&xef->exec_queue.lock);
>+
>+	for_each_gt(gt, xe, id_gt)
>+		engine_mask |= gt->info.engine_mask;
>+
>+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>+
>+	/*
>+	 * Iterate over all engines, printing the accumulated
>+	 * runtime for this xef per engine class
>+	 */
>+	for_each_gt(gt, xe, id_gt) {
>+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>+		for_each_hw_engine(hwe, gt, id_hwe) {
>+			const char *class_name;
>+
>+			if (!capacity[hwe->class])
>+				continue;
>+
>+			/*
>+			 * Use any (first) engine to have a timestamp to be used every
>+			 * time
>+			 */
>+			if (!gpu_stamp) {

gpu_stamp is not required if the intention is to read the timestamp once 
per class (as per commit message) because you are already setting 
capacity to 0 below.

Umesh

>+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>+				gpu_stamp = true;
>+			}
>+
>+			class_name = xe_hw_engine_class_to_str(hwe->class);
>+
>+			drm_printf(p, "drm-engine-%s:\t%llu %llu ticks\n",
>+				   class_name, gpu_timestamp,
>+				   xef->runtime[hwe->class]);
>+
>+			if (capacity[hwe->class] > 1)
>+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>+					   class_name, capacity[hwe->class]);
>+
>+			/* engine class already handled, skip next iterations */
>+			capacity[hwe->class] = 0;
>+		}
>+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>+	}
>+
>+	xe_pm_runtime_get(xe);
>+}
>+
> /**
>  * xe_drm_client_fdinfo() - Callback for fdinfo interface
>  * @p: The drm_printer ptr
>@@ -192,5 +270,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
> void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
> {
> 	show_meminfo(p, file);
>+	show_runtime(p, file);
> }
> #endif
>-- 
>2.43.0
>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 6/7] drm/xe/client: Print runtime to fdinfo
  2024-04-16 23:20   ` Umesh Nerlige Ramappa
@ 2024-04-17  3:11     ` Lucas De Marchi
  2024-04-18 23:12       ` Umesh Nerlige Ramappa
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-17  3:11 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: intel-xe, Tvrtko Ursulin

On Tue, Apr 16, 2024 at 04:20:54PM GMT, Umesh Nerlige Ramappa wrote:
>On Mon, Apr 15, 2024 at 08:04:53PM -0700, Lucas De Marchi wrote:
>>Print the accumulated runtime, per client, when printing fdinfo.
>>Each time a query is done it first does 2 things:
>>
>>1) loop through all the exec queues for the current client and
>>  accumulates the runtime, per engine class. CTX_TIMESTAMP is used for
>>  that, being read from the context image.
>>
>>2) Read a "GPU timestamp" that can be used for considering "how much GPU
>>  time has passed" and that has the same unit/ref-clock as the one
>>  recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>>
>>This second part is done once per engine class, since it's a register
>>that is replicated on all engines. It is however the same stamp. At
>>least for the current GPUs this was tested one. It may be simplified,
>>but in order to play safe and avoid the cases the clock is different in
>>future for primary/media GTs, or across engine classes, just read it per
>>class.
>>
>>This is exported to userspace as 2 numbers in fdinfo:
>>
>>	drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>
>>Userspace is expected to collect at least 2 samples, which allows to
>>know the engine busyness as per:
>>
>>		    RUNTIME1 - RUNTIME0
>>	busyness = ---------------------
>>			  T1 - T0
>>
>>When calculating the overall system busyness, userspace can loop through
>>all the clients and add up all the numbers.  Since the GPU timestamp
>>will be a little bit different, it's expected some fluctuation on
>>accuracy, but that may be improved with a better hardware/GuC interface
>>in future, maintaining the UAPI.
>>
>>Another thing to point out is that it's expected that userspace reads
>>any 2 samples every few seconds.  Given the update frequency of the
>>counters involved and that CTX_TIMESTAMP is 32b, it is expect to wrap
>>every 25 ~ 30 seconds.
>
>I think the worker I had implemented in my original patches (as well 
>as i915 implementation) may have been confusing.
>
>32 bit counter ticking at 19.2 MHz should wrap around in 223.696 
>seconds. The worker on the other hand was overcompensating for it and 
>running at 1/8th of this wrap around time.

now I'm not sure if I did the math wrong or if I replicated something
you told me :)... What's the reason to overcompensate like that?

My main issue with the worker is not to have the worker while we have a
gputop-like app running. That should be totally fine. My main issue is
doing it regardless of having a process querying it, which would account
for ~99.9% of the time.

>
>>This could be mitigated by adding a workqueue to
>>accumulate the counters every so often, but it's additional complexity
>>for something that is done already by userspace every few seconds in
>>tools like gputop (from igt), htop, nvtop, etc.
>>
>>Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>---
>>drivers/gpu/drm/xe/xe_drm_client.c | 81 +++++++++++++++++++++++++++++-
>>1 file changed, 80 insertions(+), 1 deletion(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
>>index 08f0b7c95901..79eb453bfb14 100644
>>--- a/drivers/gpu/drm/xe/xe_drm_client.c
>>+++ b/drivers/gpu/drm/xe/xe_drm_client.c
>>@@ -2,6 +2,7 @@
>>/*
>> * Copyright © 2023 Intel Corporation
>> */
>>+#include "xe_drm_client.h"
>>
>>#include <drm/drm_print.h>
>>#include <drm/xe_drm.h>
>>@@ -12,7 +13,10 @@
>>#include "xe_bo.h"
>>#include "xe_bo_types.h"
>>#include "xe_device_types.h"
>>-#include "xe_drm_client.h"
>>+#include "xe_exec_queue.h"
>>+#include "xe_gt.h"
>>+#include "xe_hw_engine.h"
>>+#include "xe_pm.h"
>>#include "xe_trace.h"
>>
>>/**
>>@@ -179,6 +183,80 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>	}
>>}
>>
>>+static const u64 class_to_mask[] = {
>>+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
>>+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
>>+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
>>+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
>>+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
>>+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
>>+};
>>+
>>+static void show_runtime(struct drm_printer *p, struct drm_file *file)
>>+{
>>+	struct xe_file *xef = file->driver_priv;
>>+	struct xe_device *xe = xef->xe;
>>+	struct xe_gt *gt;
>>+	struct xe_hw_engine *hwe;
>>+	struct xe_exec_queue *q;
>>+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
>>+	u64 gpu_timestamp, engine_mask = 0;
>>+	bool gpu_stamp = false;
>>+
>>+	xe_pm_runtime_get(xe);
>>+
>>+	mutex_lock(&xef->exec_queue.lock);
>>+	xa_for_each(&xef->exec_queue.xa, i, q)
>>+		xe_exec_queue_update_runtime(q);
>>+	mutex_unlock(&xef->exec_queue.lock);
>>+
>>+	for_each_gt(gt, xe, id_gt)
>>+		engine_mask |= gt->info.engine_mask;
>>+
>>+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>>+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>>+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>>+
>>+	/*
>>+	 * Iterate over all engines, printing the accumulated
>>+	 * runtime for this xef per engine class
>>+	 */
>>+	for_each_gt(gt, xe, id_gt) {
>>+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>+		for_each_hw_engine(hwe, gt, id_hwe) {
>>+			const char *class_name;
>>+
>>+			if (!capacity[hwe->class])
>>+				continue;
>>+
>>+			/*
>>+			 * Use any (first) engine to have a timestamp to be used every
>>+			 * time
>>+			 */
>>+			if (!gpu_stamp) {
>
>gpu_stamp is not required if the intention is to read the timestamp 
>once per class (as per commit message) because you are already setting 
>capacity to 0 below.

yeah... I think I changed my mind and forgot to update the commit
message.

thanks
Lucas De Marchi

>
>Umesh
>
>>+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>>+				gpu_stamp = true;
>>+			}
>>+
>>+			class_name = xe_hw_engine_class_to_str(hwe->class);
>>+
>>+			drm_printf(p, "drm-engine-%s:\t%llu %llu ticks\n",
>>+				   class_name, gpu_timestamp,
>>+				   xef->runtime[hwe->class]);
>>+
>>+			if (capacity[hwe->class] > 1)
>>+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>>+					   class_name, capacity[hwe->class]);
>>+
>>+			/* engine class already handled, skip next iterations */
>>+			capacity[hwe->class] = 0;
>>+		}
>>+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>>+	}
>>+
>>+	xe_pm_runtime_get(xe);
>>+}
>>+
>>/**
>> * xe_drm_client_fdinfo() - Callback for fdinfo interface
>> * @p: The drm_printer ptr
>>@@ -192,5 +270,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
>>{
>>	show_meminfo(p, file);
>>+	show_runtime(p, file);
>>}
>>#endif
>>-- 
>>2.43.0
>>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 5/7] drm/xe: Add helper to capture engine timestamp
  2024-04-16 22:56   ` Umesh Nerlige Ramappa
@ 2024-04-17  3:14     ` Lucas De Marchi
  2024-04-18 18:24       ` Umesh Nerlige Ramappa
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-17  3:14 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: intel-xe, Tvrtko Ursulin

On Tue, Apr 16, 2024 at 03:56:29PM GMT, Umesh Nerlige Ramappa wrote:
>On Mon, Apr 15, 2024 at 08:04:52PM -0700, Lucas De Marchi wrote:
>>Just like CTX_TIMESTAMP is used to calculate runtime, add a helper to
>>get the timestamp for the engine so it can be used to calculate the
>>"engine time" with the same unit as the runtime is recorded.
>>
>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>
>Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>
>>---
>>drivers/gpu/drm/xe/xe_hw_engine.c | 7 +++++++
>>drivers/gpu/drm/xe/xe_hw_engine.h | 2 ++
>> files changed, 9 insertions(+)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
>>index ab227fa8984a..528b271c9f23 100644
>>--- a/drivers/gpu/drm/xe/xe_hw_engine.c
>>+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
>>@@ -981,3 +981,10 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
>>
>>	return NULL;
>>}
>>+
>>+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
>>+{
>>+	struct xe_reg reg = RING_TIMESTAMP(hwe->mmio_base);
>>+
>>+	return xe_mmio_read64_2x32(hwe->gt, reg);

given the past issues with reading 64b registers, I'm wondering if we
shouldn't export a xe_hw_engine_read_timestamp32 and use just the lower
part. Since the CTX_TIMESTAMP will wrap around first, just using 32b
for RING_TIMESTAMP should be sufficient.

Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-16 18:29         ` Lucas De Marchi
@ 2024-04-17  8:51           ` Tvrtko Ursulin
  2024-04-17 19:05             ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-17  8:51 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Umesh Nerlige Ramappa, Michal Wajdeczko


On 16/04/2024 19:29, Lucas De Marchi wrote:
> On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>
>> On 16/04/2024 14:51, Lucas De Marchi wrote:
>>> Forgot to Cc Michal, doing now.
>>>
>>> Lucas De Marchi
>>>
>>> On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>> On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>
>>>>> On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>> Add per-client usage statistics to xe. This ports xe to use the 
>>>>>> common
>>>>>> method in drm to export the usage to userspace per client (where 1
>>>>>> client == 1 drm fd open).
>>>>>>
>>>>>> However insted of using the current format, this creates a new one 
>>>>>> with
>>>>>> the unit "ticks". The intention here is not to mix the GPU clock 
>>>>>> domain
>>>>>> with the CPU clock. It allows to cover a few more use cases without
>>>>>> extra complications.
>>>>>>
>>>>>> Last patch was a quick implemenation of a gputop-like tool in python.
>>>>>> I ended doing it to cross check the gputop implementation. I's not
>>>>>> really meant to be applied here.
>>>>>>
>>>>>> I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>>>> (in a gnome session), but it would be good to soak this under more
>>>>>> tests. The biggest goal for this patch series right now is to get
>>>>>> consensus on the new UAPI.
>>>>>>
>>>>>> TODO: Add documentation on top with the new interface.
>>>>>
>>>>> Yeah a drm-usage-stats.rst patch would be nice to have in the RFC 
>>>>> so one does not have to look into the driver implementation to 
>>>>> discuss the proposed uapi.
>>>>>
>>>>> Nevertheless I understand the proposal is to add this:
>>>>>
>>>>> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>
>>>> yes, the gputop patch was more explicit about this. Should had added in
>>>> the kernel patch series too.
>>>>
>>>>>
>>>>> That's two values per key. I guess "one key value pair for per one 
>>>>> line of text" does not get strictly broken and that you propose a 
>>>>> heuristics in parsing to detect that the <RUNTIME> cannot be 
>>>>> mis-interpreted as the unit?
>>>>
>>>> the current format is
>>>>
>>>>     drm-engine-<class>: <RUNTIME> ns
>>>>
>>>> the "ns" in the end should be parsed by userspace to know
>>>> what it is about.
>>
>> Right.
>>
>>>>
>>>>>
>>>>> Not sure it is a good idea though. If you instead added a new key 
>>>>> for the gpu time what would be the downside in your view? Like:
>>>>>
>>>>> drm-engine-<class>: <uint> ticks
>>>>> drm-ticks-<class>: <uint>
>>>>>
>>>>> Or maybe even obsfuscate/generalise as:
>>>>>
>>>>> drm-engine-<class>: <uint> gpu-time
>>>>> drm-gpu-time-<class>: <uint>
>>>>
>>>> I think both work, but I fail to see the advantage. This alternative is
>>>> slightly heavier on the parsing side since you have to correlate the
>>>> values from 2 keys, possibly dealing with them appearing in different
>>>> order. The only possible breakage remains with this alternative: if
>>>> userspace didn't parse the unit before. I checked nvtop and htop and
>>>> they were doing the right thing. I sent a fix to igt a few weeks back
>>>> for it to consider the unit:
>>>> https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>
>> Advantages are that "drm-engine-something: 1234 5678 ticks" isn't 
>> self-explanatory (intuitively humanly readable) and that it doesn't 
> 
> maybe I have a different expectation from procfs. When I do e.g.
> 
> # cat /proc/self/stat
> 3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 0 0 0 0 
> 0 0 0 20 0 1 0 1321348797 8560640 384 18446744073709551615 
> 93979016876032 93979016892449 140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 
> 0 0 0 0 93979016907440 93979016908904 93979037196288 140720658380605 
> 140720658380625 140720658380625 140720658382827 0
> 
> it doesn't seem to me "intuitively humanly readable" was the first
> concern for people adding files in procfs :)... I'd rather think "machine
> readable" was more important.

I think you are pushing the argument a bit now :) since IMO we should 
evaluate drm-usage-stats.rst proposal more in the context of 
drm-usage-stats and other fdinfo files, rather than the whole of procfs. 
In other words if there isn't a strong reason to regress this particular 
file lets not do it.

>> diverge from the one value per key plus unit format. Latter we would 
>> then document clearly.
>>
>> Different keys potentially appearing in different order does not 
>> matter since userspace already has to handle that.
>>
>>>>> Potentially could also add a key saying how much wall time is one 
>>>>> unit of GPU time.
>>>>
>>>> I wouldn't add it really as it may not make sense depending on the
>>>> vendor and or usage. Examples: the gpu time may be different for
>>>> different engines depending on where they are located (tile/gt). The
>>>> correlation with CPU time is different when running in VF mode, and may
>>>> change in runtime depending on the number of VFs. +Michal.
>>
>> Yes, that's why I said "potentially", which was supposed to mean if 
>> and where it makes sense and perhaps adds value.
>>
>>>> Also, if the userspace side really wants to know (why would it?)
>>>> it could be just calculate from 2 samples (possibly repeated a few
>>>> times as it updates the output).
>>>>
>>>>>
>>>>> Or.. would even the existing drm-cycles, plus abuse of drm-maxfreq, 
>>>>> work? Ticks == cycles, maxfreq == ticks per wall second.
>>>>
>>>> I think it'd be up to gpu vendor what clock backs this time. For the
>>>> current Intel cards, it's the refclock and it doesn't vary the
>>>> frequency.
>>
>> Right, but that doesn't matter. What I was saying is that if you 
>> exposed ticks in drm-cycles and tick frequency in drm-maxfreq it would 
>> even work, no? (Assuming support for those two was actually in 
>> igt_drm_fdinfo/clients/gputop and could be used as fallback to time 
>> based stats.)
> 
> oh... I was looking at the output for i915 and missed that we had
> drm-cycles as currently i915 doesn't use it. It seems to be a similar
> thing. I agree the drm-maxfreq- is unfortunate and that we don't
> actually have support for that in gputop.
> 
> So, instead of the 2 numbers + different unit, I can adapt this to
> rather use drm-cycles. However for maxfreq, it doesn't seem to be
> what we need since it doesn't scale for VF. It brings back the cpu clock
> domain this series is trying to avoid. The difference is that using
> drm-cycles- and drm-maxfreq- you are expecting the userspace to do
> (let me know if I interpreted the docs wrong):
> 
>      s1 = sample()
>      sleep(period)
>      s2 = sample()
>      engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
> (s1.drm_cycles * s1.drm_max_freq)) / period
> 
> ... considering the drm_max_freq may change from one call to the other.
> if we simplify it and assume it doesn't change:
> 
>      engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
> drm_max_freq) / period
> 
> we'd need different drm_max_freq reported on VF driver that would need
> to know the number of VFs enabled to scaled it correctly. Maybe this is
> abusing the "drm-maxfreq" a little bit?

Yes it would be bad if the observed VF GPU clock will be variable since 
maxfreq is supposed to be static.

So on VFs would reported GPU clock moves by the VF "used" quanta? Where 
"used" is defined as time given by the GuC, not necessarily used GPU 
time. For instance 16ms quanta, VF GPU clock would move by 16ms if the 
GuC decides not to switch out the idle VF? Or it could move by less than 
16ms if it switched it out earlier.

> What if we had
> 
> drm-cycles-<keystr>: <uint>
> drm-total-cycles-<keystr>: <uint>
> 
> Then the utilization can be done:
> 
>      s1 = sample()
>      sleep(period)
>      s2 = sample()
>      engine_utilization = (s2.cycles - s1.cycles) / \
>                   (s2.total_cycles - s1.total_cycles + 1);
> 
> Capacity still to be added above, but we'd need to clarify if
> drm-total-cycles-<keystr> already accounts for it.
> 
> Here instead of the conversion to cpu clock, I'm expecting to read
> "total_cycles" from HW and that being different (slower) for VF.
> AFAICS this is not the case with this current polling implementation
> since we are simply reading the RING_TIMESTAMP, but there are planned
> changes to get it from GuC. Umesh/Michal Cc'ed may know better.

I think this works and is clean.

Although I have some doubts about the usefulness on VFs, if the clock 
movements are at the mercy of the GuC scheduler. Like what does 100% 
mean for a VF? Maybe it was full quanta, or maybe it was half a quanta 
if GuC decided to switch it out early, either due going idle or due some 
other scheduling decision.

>> Only problem is the name maxfreq is not really an exact fit, which is 
>> why I am not convinced we should go this route. Perhaps could add 
>> drm-cycle-frequency and then drm-cycles would fit.
>>
>>>>> Secondly, wrap behaviour every 25-30 seconds patch 6/7 describes 
>>>>> definitely breaks the format spec and in my view should be worked 
>>>>> around in the driver:
>>>>>
>>>>> """
>>>>> Values are not required to be constantly monotonic if it makes the 
>>>>> driver
>>>>> implementation easier, but are required to catch up with the 
>>>>> previously reported
>>>>> larger value within a reasonable period. Upon observing a value 
>>>>> lower than what
>>>>> was previously read, userspace is expected to stay with that larger 
>>>>> previous
>>>>> value until a monotonic update is seen.
>>>>> """
>>>>
>>>> but this is the behavior for dealing with "ns", not with "ticks". We 
>>>> can
>>
>> Applies to drm-cycles- too.
>>
>>>> add a worker to run every so often.  When I got the original patches
>>>> from Umesh, we had this worker implemented, but dealing with that was
>>>> complex and wasting a lot of cycles since it was always running (except
>>>> if we didn't have any exec_queue). Here is my tentative to simplify it
>>>> since I don't really see the need to account for a ~25s wrap around.
>>
>> At the moment I don't think diverging like that would be user 
>> friendly. Apart from diverging it would only make the output useful to 
>> tools which know to keep polling with a small enough period.
>>
>> The tools with support a configurable polling period such as 
>> intel_gpu_top could even inadvertently fail. Or would need to start 
>> embedding knowledge about maximum periods per driver/backend/whatever. 
>> Or new fdinfo keys to signal that.
>>
>> Sticking with the same monotic scheme sounds preferrable to me.
>>
>> And if wrap is 25-30 seconds why it was wasting that many cycles? Some 
>> worker only needs to run once every 20 seconds or so and that is it, no?
> 
> every 25-30s for every card regardless of having a userspace tool
> quering or not seems wasteful to me.

So what would be the plan for intel_gpu_top -s 60000?

The worker is not rosy I agree. Any ways around it? Like caching the 
last known hw timestamp on park and estimating it until unpark and only 
running the worker while GPU is active?

Think also about the prevent low frequency polling use cases like server 
monitoring tools such as Munin(*). Those typically sample with a like a 
5-15 minute periods and I can imagine a GPU monitoring plugin being 
useful for some data center farms. Yes that is notionally more about 
global than fdinfo, but in the absence of global on xe see how for 
instance nvtop is deriving global from fdinfo on i915.

Regards,

Tvrtko

*) 
http://demo.munin-monitoring.org/munin-monitoring.org/demo.munin-monitoring.org/

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-17  8:51           ` Tvrtko Ursulin
@ 2024-04-17 19:05             ` Lucas De Marchi
  2024-04-17 20:35               ` Umesh Nerlige Ramappa
  0 siblings, 1 reply; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-17 19:05 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: intel-xe, Umesh Nerlige Ramappa, Michal Wajdeczko

On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>
>On 16/04/2024 19:29, Lucas De Marchi wrote:
>>On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>
>>>On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>Forgot to Cc Michal, doing now.
>>>>
>>>>Lucas De Marchi
>>>>
>>>>On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>
>>>>>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>Add per-client usage statistics to xe. This ports xe to 
>>>>>>>use the common
>>>>>>>method in drm to export the usage to userspace per client (where 1
>>>>>>>client == 1 drm fd open).
>>>>>>>
>>>>>>>However insted of using the current format, this creates a 
>>>>>>>new one with
>>>>>>>the unit "ticks". The intention here is not to mix the GPU 
>>>>>>>clock domain
>>>>>>>with the CPU clock. It allows to cover a few more use cases without
>>>>>>>extra complications.
>>>>>>>
>>>>>>>Last patch was a quick implemenation of a gputop-like tool in python.
>>>>>>>I ended doing it to cross check the gputop implementation. I's not
>>>>>>>really meant to be applied here.
>>>>>>>
>>>>>>>I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>>>>>(in a gnome session), but it would be good to soak this under more
>>>>>>>tests. The biggest goal for this patch series right now is to get
>>>>>>>consensus on the new UAPI.
>>>>>>>
>>>>>>>TODO: Add documentation on top with the new interface.
>>>>>>
>>>>>>Yeah a drm-usage-stats.rst patch would be nice to have in 
>>>>>>the RFC so one does not have to look into the driver 
>>>>>>implementation to discuss the proposed uapi.
>>>>>>
>>>>>>Nevertheless I understand the proposal is to add this:
>>>>>>
>>>>>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>
>>>>>yes, the gputop patch was more explicit about this. Should had added in
>>>>>the kernel patch series too.
>>>>>
>>>>>>
>>>>>>That's two values per key. I guess "one key value pair for 
>>>>>>per one line of text" does not get strictly broken and that 
>>>>>>you propose a heuristics in parsing to detect that the 
>>>>>><RUNTIME> cannot be mis-interpreted as the unit?
>>>>>
>>>>>the current format is
>>>>>
>>>>>    drm-engine-<class>: <RUNTIME> ns
>>>>>
>>>>>the "ns" in the end should be parsed by userspace to know
>>>>>what it is about.
>>>
>>>Right.
>>>
>>>>>
>>>>>>
>>>>>>Not sure it is a good idea though. If you instead added a 
>>>>>>new key for the gpu time what would be the downside in your 
>>>>>>view? Like:
>>>>>>
>>>>>>drm-engine-<class>: <uint> ticks
>>>>>>drm-ticks-<class>: <uint>
>>>>>>
>>>>>>Or maybe even obsfuscate/generalise as:
>>>>>>
>>>>>>drm-engine-<class>: <uint> gpu-time
>>>>>>drm-gpu-time-<class>: <uint>
>>>>>
>>>>>I think both work, but I fail to see the advantage. This alternative is
>>>>>slightly heavier on the parsing side since you have to correlate the
>>>>>values from 2 keys, possibly dealing with them appearing in different
>>>>>order. The only possible breakage remains with this alternative: if
>>>>>userspace didn't parse the unit before. I checked nvtop and htop and
>>>>>they were doing the right thing. I sent a fix to igt a few weeks back
>>>>>for it to consider the unit:
>>>>>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>
>>>Advantages are that "drm-engine-something: 1234 5678 ticks" isn't 
>>>self-explanatory (intuitively humanly readable) and that it 
>>>doesn't
>>
>>maybe I have a different expectation from procfs. When I do e.g.
>>
>># cat /proc/self/stat
>>3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 0 0 
>>0 0 0 0 0 20 0 1 0 1321348797 8560640 384 18446744073709551615 
>>93979016876032 93979016892449 140720658378704 0 0 0 0 0 0 0 0 0 17 
>>51 0 0 0 0 0 93979016907440 93979016908904 93979037196288 
>>140720658380605 140720658380625 140720658380625 140720658382827 0
>>
>>it doesn't seem to me "intuitively humanly readable" was the first
>>concern for people adding files in procfs :)... I'd rather think "machine
>>readable" was more important.
>
>I think you are pushing the argument a bit now :) since IMO we should 
>evaluate drm-usage-stats.rst proposal more in the context of 
>drm-usage-stats and other fdinfo files, rather than the whole of 
>procfs. In other words if there isn't a strong reason to regress this 
>particular file lets not do it.

:) I like pushing arguments if it helps revisit decisions (human vs
machine readable for things in procfs). I'm not
trying to push the 2 counter approaches though. I think other reasons
like discussed below are enough to consider the other keys.

TBH I was reluctant at first to add a separate uapi rather than re-using
drm-engine- without realizing there was already a second one (not
implemented in gputop).

So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.

>
>>>diverge from the one value per key plus unit format. Latter we 
>>>would then document clearly.
>>>
>>>Different keys potentially appearing in different order does not 
>>>matter since userspace already has to handle that.
>>>
>>>>>>Potentially could also add a key saying how much wall time 
>>>>>>is one unit of GPU time.
>>>>>
>>>>>I wouldn't add it really as it may not make sense depending on the
>>>>>vendor and or usage. Examples: the gpu time may be different for
>>>>>different engines depending on where they are located (tile/gt). The
>>>>>correlation with CPU time is different when running in VF mode, and may
>>>>>change in runtime depending on the number of VFs. +Michal.
>>>
>>>Yes, that's why I said "potentially", which was supposed to mean 
>>>if and where it makes sense and perhaps adds value.
>>>
>>>>>Also, if the userspace side really wants to know (why would it?)
>>>>>it could be just calculate from 2 samples (possibly repeated a few
>>>>>times as it updates the output).
>>>>>
>>>>>>
>>>>>>Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per 
>>>>>>wall second.
>>>>>
>>>>>I think it'd be up to gpu vendor what clock backs this time. For the
>>>>>current Intel cards, it's the refclock and it doesn't vary the
>>>>>frequency.
>>>
>>>Right, but that doesn't matter. What I was saying is that if you 
>>>exposed ticks in drm-cycles and tick frequency in drm-maxfreq it 
>>>would even work, no? (Assuming support for those two was actually 
>>>in igt_drm_fdinfo/clients/gputop and could be used as fallback to 
>>>time based stats.)
>>
>>oh... I was looking at the output for i915 and missed that we had
>>drm-cycles as currently i915 doesn't use it. It seems to be a similar
>>thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>actually have support for that in gputop.
>>
>>So, instead of the 2 numbers + different unit, I can adapt this to
>>rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>what we need since it doesn't scale for VF. It brings back the cpu clock
>>domain this series is trying to avoid. The difference is that using
>>drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>(let me know if I interpreted the docs wrong):
>>
>>     s1 = sample()
>>     sleep(period)
>>     s2 = sample()
>>     engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>(s1.drm_cycles * s1.drm_max_freq)) / period
>>
>>... considering the drm_max_freq may change from one call to the other.
>>if we simplify it and assume it doesn't change:
>>
>>     engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>drm_max_freq) / period
>>
>>we'd need different drm_max_freq reported on VF driver that would need
>>to know the number of VFs enabled to scaled it correctly. Maybe this is
>>abusing the "drm-maxfreq" a little bit?
>
>Yes it would be bad if the observed VF GPU clock will be variable 
>since maxfreq is supposed to be static.
>
>So on VFs would reported GPU clock moves by the VF "used" quanta? 

s/used/available/. That's my understanding, yes. Each VF has a quanta
and the gpu clock moves according to that quanta.  Note that as I said,
this is not the case right now (we are just reading RING_TIMESTAMP), but
the intention is to have the UAPI side ready so it's already prepared
for that.

>Where "used" is defined as time given by the GuC, not necessarily used 

s/used/available/ as above

>GPU time. For instance 16ms quanta, VF GPU clock would move by 16ms if 
>the GuC decides not to switch out the idle VF? Or it could move by 
>less than 16ms if it switched it out earlier.

no, afaiu it's 16ms, not less. But the quanta depends on the number of
VFs enabled, which may change in runtime.

I'm not 100% certain and people in Cc may correct me.

>
>>What if we had
>>
>>drm-cycles-<keystr>: <uint>
>>drm-total-cycles-<keystr>: <uint>
>>
>>Then the utilization can be done:
>>
>>     s1 = sample()
>>     sleep(period)
>>     s2 = sample()
>>     engine_utilization = (s2.cycles - s1.cycles) / \
>>                  (s2.total_cycles - s1.total_cycles + 1);
>>
>>Capacity still to be added above, but we'd need to clarify if
>>drm-total-cycles-<keystr> already accounts for it.
>>
>>Here instead of the conversion to cpu clock, I'm expecting to read
>>"total_cycles" from HW and that being different (slower) for VF.
>>AFAICS this is not the case with this current polling implementation
>>since we are simply reading the RING_TIMESTAMP, but there are planned
>>changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>
>I think this works and is clean.
>
>Although I have some doubts about the usefulness on VFs, if the clock 
>movements are at the mercy of the GuC scheduler. Like what does 100% 
>mean for a VF? Maybe it was full quanta, or maybe it was half a quanta 
>if GuC decided to switch it out early, either due going idle or due 
>some other scheduling decision.

in the scenario you described above the quanta could change according to
the scheduler and 100% wouldn't mean much. That's not my understanding.
100% always mean the VF used all the allocated time. I see this line
potentially getting blurred a little bit if the scheduler tries to
maximize the HW usage and distribute quanta unevenly, but I think the
interface already contemplates that.

Another case is the VF not being able to reach 100% because the PF is
submitting high prio work. But I still think the current interface is
sufficient and it's the implementation by GuC/HW that could be improved
(e.g. adapting the gpu time reported).

Michal / Umesh, please chime in if that is not accurate.


Thinking out loud: IFF the execution quanta is available for VF to query
and we are ok with just scaling drm-maxfreq, then maybe we could even
just use the current interface instead of adding a third one. Although
it could be confusing to have a that freq changing.

Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-17 19:05             ` Lucas De Marchi
@ 2024-04-17 20:35               ` Umesh Nerlige Ramappa
  2024-04-17 23:19                 ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-17 20:35 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: Tvrtko Ursulin, intel-xe, Michal Wajdeczko

On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>
>>On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>
>>>>On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>Forgot to Cc Michal, doing now.
>>>>>
>>>>>Lucas De Marchi
>>>>>
>>>>>On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>
>>>>>>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>Add per-client usage statistics to xe. This ports xe to 
>>>>>>>>use the common
>>>>>>>>method in drm to export the usage to userspace per client (where 1
>>>>>>>>client == 1 drm fd open).
>>>>>>>>
>>>>>>>>However insted of using the current format, this creates 
>>>>>>>>a new one with
>>>>>>>>the unit "ticks". The intention here is not to mix the 
>>>>>>>>GPU clock domain
>>>>>>>>with the CPU clock. It allows to cover a few more use cases without
>>>>>>>>extra complications.
>>>>>>>>
>>>>>>>>Last patch was a quick implemenation of a gputop-like tool in python.
>>>>>>>>I ended doing it to cross check the gputop implementation. I's not
>>>>>>>>really meant to be applied here.
>>>>>>>>
>>>>>>>>I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>>>>>>(in a gnome session), but it would be good to soak this under more
>>>>>>>>tests. The biggest goal for this patch series right now is to get
>>>>>>>>consensus on the new UAPI.
>>>>>>>>
>>>>>>>>TODO: Add documentation on top with the new interface.
>>>>>>>
>>>>>>>Yeah a drm-usage-stats.rst patch would be nice to have in 
>>>>>>>the RFC so one does not have to look into the driver 
>>>>>>>implementation to discuss the proposed uapi.
>>>>>>>
>>>>>>>Nevertheless I understand the proposal is to add this:
>>>>>>>
>>>>>>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>
>>>>>>yes, the gputop patch was more explicit about this. Should had added in
>>>>>>the kernel patch series too.
>>>>>>
>>>>>>>
>>>>>>>That's two values per key. I guess "one key value pair for 
>>>>>>>per one line of text" does not get strictly broken and 
>>>>>>>that you propose a heuristics in parsing to detect that 
>>>>>>>the <RUNTIME> cannot be mis-interpreted as the unit?
>>>>>>
>>>>>>the current format is
>>>>>>
>>>>>>    drm-engine-<class>: <RUNTIME> ns
>>>>>>
>>>>>>the "ns" in the end should be parsed by userspace to know
>>>>>>what it is about.
>>>>
>>>>Right.
>>>>
>>>>>>
>>>>>>>
>>>>>>>Not sure it is a good idea though. If you instead added a 
>>>>>>>new key for the gpu time what would be the downside in 
>>>>>>>your view? Like:
>>>>>>>
>>>>>>>drm-engine-<class>: <uint> ticks
>>>>>>>drm-ticks-<class>: <uint>
>>>>>>>
>>>>>>>Or maybe even obsfuscate/generalise as:
>>>>>>>
>>>>>>>drm-engine-<class>: <uint> gpu-time
>>>>>>>drm-gpu-time-<class>: <uint>
>>>>>>
>>>>>>I think both work, but I fail to see the advantage. This alternative is
>>>>>>slightly heavier on the parsing side since you have to correlate the
>>>>>>values from 2 keys, possibly dealing with them appearing in different
>>>>>>order. The only possible breakage remains with this alternative: if
>>>>>>userspace didn't parse the unit before. I checked nvtop and htop and
>>>>>>they were doing the right thing. I sent a fix to igt a few weeks back
>>>>>>for it to consider the unit:
>>>>>>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>
>>>>Advantages are that "drm-engine-something: 1234 5678 ticks" 
>>>>isn't self-explanatory (intuitively humanly readable) and that 
>>>>it doesn't
>>>
>>>maybe I have a different expectation from procfs. When I do e.g.
>>>
>>># cat /proc/self/stat
>>>3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 0 
>>>0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 18446744073709551615 
>>>93979016876032 93979016892449 140720658378704 0 0 0 0 0 0 0 0 0 17 
>>>51 0 0 0 0 0 93979016907440 93979016908904 93979037196288 
>>>140720658380605 140720658380625 140720658380625 140720658382827 0
>>>
>>>it doesn't seem to me "intuitively humanly readable" was the first
>>>concern for people adding files in procfs :)... I'd rather think "machine
>>>readable" was more important.
>>
>>I think you are pushing the argument a bit now :) since IMO we 
>>should evaluate drm-usage-stats.rst proposal more in the context of 
>>drm-usage-stats and other fdinfo files, rather than the whole of 
>>procfs. In other words if there isn't a strong reason to regress 
>>this particular file lets not do it.
>
>:) I like pushing arguments if it helps revisit decisions (human vs
>machine readable for things in procfs). I'm not
>trying to push the 2 counter approaches though. I think other reasons
>like discussed below are enough to consider the other keys.
>
>TBH I was reluctant at first to add a separate uapi rather than re-using
>drm-engine- without realizing there was already a second one (not
>implemented in gputop).
>
>So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>
>>
>>>>diverge from the one value per key plus unit format. Latter we 
>>>>would then document clearly.
>>>>
>>>>Different keys potentially appearing in different order does not 
>>>>matter since userspace already has to handle that.
>>>>
>>>>>>>Potentially could also add a key saying how much wall time 
>>>>>>>is one unit of GPU time.
>>>>>>
>>>>>>I wouldn't add it really as it may not make sense depending on the
>>>>>>vendor and or usage. Examples: the gpu time may be different for
>>>>>>different engines depending on where they are located (tile/gt). The
>>>>>>correlation with CPU time is different when running in VF mode, and may
>>>>>>change in runtime depending on the number of VFs. +Michal.
>>>>
>>>>Yes, that's why I said "potentially", which was supposed to mean 
>>>>if and where it makes sense and perhaps adds value.
>>>>
>>>>>>Also, if the userspace side really wants to know (why would it?)
>>>>>>it could be just calculate from 2 samples (possibly repeated a few
>>>>>>times as it updates the output).
>>>>>>
>>>>>>>
>>>>>>>Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>>drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per 
>>>>>>>wall second.
>>>>>>
>>>>>>I think it'd be up to gpu vendor what clock backs this time. For the
>>>>>>current Intel cards, it's the refclock and it doesn't vary the
>>>>>>frequency.
>>>>
>>>>Right, but that doesn't matter. What I was saying is that if you 
>>>>exposed ticks in drm-cycles and tick frequency in drm-maxfreq it 
>>>>would even work, no? (Assuming support for those two was 
>>>>actually in igt_drm_fdinfo/clients/gputop and could be used as 
>>>>fallback to time based stats.)
>>>
>>>oh... I was looking at the output for i915 and missed that we had
>>>drm-cycles as currently i915 doesn't use it. It seems to be a similar
>>>thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>actually have support for that in gputop.
>>>
>>>So, instead of the 2 numbers + different unit, I can adapt this to
>>>rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>what we need since it doesn't scale for VF. It brings back the cpu clock
>>>domain this series is trying to avoid. The difference is that using
>>>drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>(let me know if I interpreted the docs wrong):
>>>
>>>    s1 = sample()
>>>    sleep(period)
>>>    s2 = sample()
>>>    engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>>(s1.drm_cycles * s1.drm_max_freq)) / period
>>>
>>>... considering the drm_max_freq may change from one call to the other.
>>>if we simplify it and assume it doesn't change:
>>>
>>>    engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>drm_max_freq) / period
>>>
>>>we'd need different drm_max_freq reported on VF driver that would need
>>>to know the number of VFs enabled to scaled it correctly. Maybe this is
>>>abusing the "drm-maxfreq" a little bit?
>>
>>Yes it would be bad if the observed VF GPU clock will be variable 
>>since maxfreq is supposed to be static.
>>
>>So on VFs would reported GPU clock moves by the VF "used" quanta?
>
>s/used/available/. That's my understanding, yes. Each VF has a quanta
>and the gpu clock moves according to that quanta.  Note that as I said,
>this is not the case right now (we are just reading RING_TIMESTAMP), but
>the intention is to have the UAPI side ready so it's already prepared
>for that.
>
>>Where "used" is defined as time given by the GuC, not necessarily 
>>used
>
>s/used/available/ as above
>
>>GPU time. For instance 16ms quanta, VF GPU clock would move by 16ms 
>>if the GuC decides not to switch out the idle VF? Or it could move 
>>by less than 16ms if it switched it out earlier.
>
>no, afaiu it's 16ms, not less. But the quanta depends on the number of
>VFs enabled, which may change in runtime.
>
>I'm not 100% certain and people in Cc may correct me.
>
>>
>>>What if we had
>>>
>>>drm-cycles-<keystr>: <uint>
>>>drm-total-cycles-<keystr>: <uint>
>>>
>>>Then the utilization can be done:
>>>
>>>    s1 = sample()
>>>    sleep(period)
>>>    s2 = sample()
>>>    engine_utilization = (s2.cycles - s1.cycles) / \
>>>                 (s2.total_cycles - s1.total_cycles + 1);
>>>
>>>Capacity still to be added above, but we'd need to clarify if
>>>drm-total-cycles-<keystr> already accounts for it.
>>>
>>>Here instead of the conversion to cpu clock, I'm expecting to read
>>>"total_cycles" from HW and that being different (slower) for VF.
>>>AFAICS this is not the case with this current polling implementation
>>>since we are simply reading the RING_TIMESTAMP, but there are planned
>>>changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>
>>I think this works and is clean.
>>
>>Although I have some doubts about the usefulness on VFs, if the 
>>clock movements are at the mercy of the GuC scheduler. Like what 
>>does 100% mean for a VF? Maybe it was full quanta, or maybe it was 
>>half a quanta if GuC decided to switch it out early, either due 
>>going idle or due some other scheduling decision.
>
>in the scenario you described above the quanta could change according to
>the scheduler and 100% wouldn't mean much. That's not my understanding.
>100% always mean the VF used all the allocated time. I see this line
>potentially getting blurred a little bit if the scheduler tries to
>maximize the HW usage and distribute quanta unevenly, but I think the
>interface already contemplates that.
>
>Another case is the VF not being able to reach 100% because the PF is
>submitting high prio work. But I still think the current interface is
>sufficient and it's the implementation by GuC/HW that could be improved
>(e.g. adapting the gpu time reported).
>
>Michal / Umesh, please chime in if that is not accurate.
>

Irrespective of how much quanta a VF used, all calculations will be 
based on the quanta that it was allocated. That way the VF would know 
that it could have better utilized the allotted time if busyness is less 
than 100. This does result in more than 100% usage for a VF that was 
resource hungry and scheduling policies allowed it to run more than the 
allotted quanta, but this is a known limitation of the solution provided 
by GuC. When looking at the overall system (say from a PF), the usage 
should still add up to 100%.

>
>Thinking out loud: IFF the execution quanta is available for VF to query

For the VF, GuC intends to provide a factor that can be used to scale 
the wall time and deduce the VF quanta. This scaled value is used as the 
second counter in a VF.

>and we are ok with just scaling drm-maxfreq, then maybe we could even
>just use the current interface instead of adding a third one. Although
>it could be confusing to have a that freq changing.

Assuming you are talking about using the drm-cycles and drm-max-freq.  
One of the concerns when supporting VFs was that we cannot actually 
export busyness in absolute time units to the user because the GPU is 
shared across VFs. If we scale the busyness such that it is stretched 
across CPU time, then it helps get the right busyness % relative to CPU 
time, but the value of busyness in time units itself is false. This was 
the primary reason to use 2 "unitless" counters.

fwiu, I think by using the drm-maxfreq, you are going to bring the same 
concept back in the discussion - exporting busyness in time units. Not 
sure if that's a good idea. Let me know if I got that wrong.

Regards,
Umesh

>
>Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-17 20:35               ` Umesh Nerlige Ramappa
@ 2024-04-17 23:19                 ` Lucas De Marchi
  2024-04-18  8:09                   ` Tvrtko Ursulin
  2024-04-19 10:44                   ` Tvrtko Ursulin
  0 siblings, 2 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-17 23:19 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: Tvrtko Ursulin, intel-xe, Michal Wajdeczko

On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>
>>>On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>
>>>>>On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>Forgot to Cc Michal, doing now.
>>>>>>
>>>>>>Lucas De Marchi
>>>>>>
>>>>>>On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>
>>>>>>>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>Add per-client usage statistics to xe. This ports xe 
>>>>>>>>>to use the common
>>>>>>>>>method in drm to export the usage to userspace per client (where 1
>>>>>>>>>client == 1 drm fd open).
>>>>>>>>>
>>>>>>>>>However insted of using the current format, this 
>>>>>>>>>creates a new one with
>>>>>>>>>the unit "ticks". The intention here is not to mix the 
>>>>>>>>>GPU clock domain
>>>>>>>>>with the CPU clock. It allows to cover a few more use cases without
>>>>>>>>>extra complications.
>>>>>>>>>
>>>>>>>>>Last patch was a quick implemenation of a gputop-like tool in python.
>>>>>>>>>I ended doing it to cross check the gputop implementation. I's not
>>>>>>>>>really meant to be applied here.
>>>>>>>>>
>>>>>>>>>I tested this on DG2 and TGL with kmscube (console-only) and vkcube
>>>>>>>>>(in a gnome session), but it would be good to soak this under more
>>>>>>>>>tests. The biggest goal for this patch series right now is to get
>>>>>>>>>consensus on the new UAPI.
>>>>>>>>>
>>>>>>>>>TODO: Add documentation on top with the new interface.
>>>>>>>>
>>>>>>>>Yeah a drm-usage-stats.rst patch would be nice to have 
>>>>>>>>in the RFC so one does not have to look into the driver 
>>>>>>>>implementation to discuss the proposed uapi.
>>>>>>>>
>>>>>>>>Nevertheless I understand the proposal is to add this:
>>>>>>>>
>>>>>>>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>
>>>>>>>yes, the gputop patch was more explicit about this. Should had added in
>>>>>>>the kernel patch series too.
>>>>>>>
>>>>>>>>
>>>>>>>>That's two values per key. I guess "one key value pair 
>>>>>>>>for per one line of text" does not get strictly broken 
>>>>>>>>and that you propose a heuristics in parsing to detect 
>>>>>>>>that the <RUNTIME> cannot be mis-interpreted as the 
>>>>>>>>unit?
>>>>>>>
>>>>>>>the current format is
>>>>>>>
>>>>>>>    drm-engine-<class>: <RUNTIME> ns
>>>>>>>
>>>>>>>the "ns" in the end should be parsed by userspace to know
>>>>>>>what it is about.
>>>>>
>>>>>Right.
>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>Not sure it is a good idea though. If you instead added 
>>>>>>>>a new key for the gpu time what would be the downside in 
>>>>>>>>your view? Like:
>>>>>>>>
>>>>>>>>drm-engine-<class>: <uint> ticks
>>>>>>>>drm-ticks-<class>: <uint>
>>>>>>>>
>>>>>>>>Or maybe even obsfuscate/generalise as:
>>>>>>>>
>>>>>>>>drm-engine-<class>: <uint> gpu-time
>>>>>>>>drm-gpu-time-<class>: <uint>
>>>>>>>
>>>>>>>I think both work, but I fail to see the advantage. This alternative is
>>>>>>>slightly heavier on the parsing side since you have to correlate the
>>>>>>>values from 2 keys, possibly dealing with them appearing in different
>>>>>>>order. The only possible breakage remains with this alternative: if
>>>>>>>userspace didn't parse the unit before. I checked nvtop and htop and
>>>>>>>they were doing the right thing. I sent a fix to igt a few weeks back
>>>>>>>for it to consider the unit:
>>>>>>>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>
>>>>>Advantages are that "drm-engine-something: 1234 5678 ticks" 
>>>>>isn't self-explanatory (intuitively humanly readable) and that 
>>>>>it doesn't
>>>>
>>>>maybe I have a different expectation from procfs. When I do e.g.
>>>>
>>>># cat /proc/self/stat
>>>>3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 
>>>>0 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 
>>>>18446744073709551615 93979016876032 93979016892449 
>>>>140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 0 0 0 0 93979016907440 
>>>>93979016908904 93979037196288 140720658380605 140720658380625 
>>>>140720658380625 140720658382827 0
>>>>
>>>>it doesn't seem to me "intuitively humanly readable" was the first
>>>>concern for people adding files in procfs :)... I'd rather think "machine
>>>>readable" was more important.
>>>
>>>I think you are pushing the argument a bit now :) since IMO we 
>>>should evaluate drm-usage-stats.rst proposal more in the context 
>>>of drm-usage-stats and other fdinfo files, rather than the whole 
>>>of procfs. In other words if there isn't a strong reason to 
>>>regress this particular file lets not do it.
>>
>>:) I like pushing arguments if it helps revisit decisions (human vs
>>machine readable for things in procfs). I'm not
>>trying to push the 2 counter approaches though. I think other reasons
>>like discussed below are enough to consider the other keys.
>>
>>TBH I was reluctant at first to add a separate uapi rather than re-using
>>drm-engine- without realizing there was already a second one (not
>>implemented in gputop).
>>
>>So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>
>>>
>>>>>diverge from the one value per key plus unit format. Latter we 
>>>>>would then document clearly.
>>>>>
>>>>>Different keys potentially appearing in different order does 
>>>>>not matter since userspace already has to handle that.
>>>>>
>>>>>>>>Potentially could also add a key saying how much wall 
>>>>>>>>time is one unit of GPU time.
>>>>>>>
>>>>>>>I wouldn't add it really as it may not make sense depending on the
>>>>>>>vendor and or usage. Examples: the gpu time may be different for
>>>>>>>different engines depending on where they are located (tile/gt). The
>>>>>>>correlation with CPU time is different when running in VF mode, and may
>>>>>>>change in runtime depending on the number of VFs. +Michal.
>>>>>
>>>>>Yes, that's why I said "potentially", which was supposed to 
>>>>>mean if and where it makes sense and perhaps adds value.
>>>>>
>>>>>>>Also, if the userspace side really wants to know (why would it?)
>>>>>>>it could be just calculate from 2 samples (possibly repeated a few
>>>>>>>times as it updates the output).
>>>>>>>
>>>>>>>>
>>>>>>>>Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>>>drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per 
>>>>>>>>wall second.
>>>>>>>
>>>>>>>I think it'd be up to gpu vendor what clock backs this time. For the
>>>>>>>current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>frequency.
>>>>>
>>>>>Right, but that doesn't matter. What I was saying is that if 
>>>>>you exposed ticks in drm-cycles and tick frequency in 
>>>>>drm-maxfreq it would even work, no? (Assuming support for 
>>>>>those two was actually in igt_drm_fdinfo/clients/gputop and 
>>>>>could be used as fallback to time based stats.)
>>>>
>>>>oh... I was looking at the output for i915 and missed that we had
>>>>drm-cycles as currently i915 doesn't use it. It seems to be a similar
>>>>thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>actually have support for that in gputop.
>>>>
>>>>So, instead of the 2 numbers + different unit, I can adapt this to
>>>>rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>what we need since it doesn't scale for VF. It brings back the cpu clock
>>>>domain this series is trying to avoid. The difference is that using
>>>>drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>(let me know if I interpreted the docs wrong):
>>>>
>>>>    s1 = sample()
>>>>    sleep(period)
>>>>    s2 = sample()
>>>>    engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>>>(s1.drm_cycles * s1.drm_max_freq)) / period
>>>>
>>>>... considering the drm_max_freq may change from one call to the other.
>>>>if we simplify it and assume it doesn't change:
>>>>
>>>>    engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>>drm_max_freq) / period
>>>>
>>>>we'd need different drm_max_freq reported on VF driver that would need
>>>>to know the number of VFs enabled to scaled it correctly. Maybe this is
>>>>abusing the "drm-maxfreq" a little bit?
>>>
>>>Yes it would be bad if the observed VF GPU clock will be variable 
>>>since maxfreq is supposed to be static.
>>>
>>>So on VFs would reported GPU clock moves by the VF "used" quanta?
>>
>>s/used/available/. That's my understanding, yes. Each VF has a quanta
>>and the gpu clock moves according to that quanta.  Note that as I said,
>>this is not the case right now (we are just reading RING_TIMESTAMP), but
>>the intention is to have the UAPI side ready so it's already prepared
>>for that.
>>
>>>Where "used" is defined as time given by the GuC, not necessarily 
>>>used
>>
>>s/used/available/ as above
>>
>>>GPU time. For instance 16ms quanta, VF GPU clock would move by 
>>>16ms if the GuC decides not to switch out the idle VF? Or it could 
>>>move by less than 16ms if it switched it out earlier.
>>
>>no, afaiu it's 16ms, not less. But the quanta depends on the number of
>>VFs enabled, which may change in runtime.
>>
>>I'm not 100% certain and people in Cc may correct me.
>>
>>>
>>>>What if we had
>>>>
>>>>drm-cycles-<keystr>: <uint>
>>>>drm-total-cycles-<keystr>: <uint>
>>>>
>>>>Then the utilization can be done:
>>>>
>>>>    s1 = sample()
>>>>    sleep(period)
>>>>    s2 = sample()
>>>>    engine_utilization = (s2.cycles - s1.cycles) / \
>>>>                 (s2.total_cycles - s1.total_cycles + 1);
>>>>
>>>>Capacity still to be added above, but we'd need to clarify if
>>>>drm-total-cycles-<keystr> already accounts for it.
>>>>
>>>>Here instead of the conversion to cpu clock, I'm expecting to read
>>>>"total_cycles" from HW and that being different (slower) for VF.
>>>>AFAICS this is not the case with this current polling implementation
>>>>since we are simply reading the RING_TIMESTAMP, but there are planned
>>>>changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>
>>>I think this works and is clean.
>>>
>>>Although I have some doubts about the usefulness on VFs, if the 
>>>clock movements are at the mercy of the GuC scheduler. Like what 
>>>does 100% mean for a VF? Maybe it was full quanta, or maybe it was 
>>>half a quanta if GuC decided to switch it out early, either due 
>>>going idle or due some other scheduling decision.
>>
>>in the scenario you described above the quanta could change according to
>>the scheduler and 100% wouldn't mean much. That's not my understanding.
>>100% always mean the VF used all the allocated time. I see this line
>>potentially getting blurred a little bit if the scheduler tries to
>>maximize the HW usage and distribute quanta unevenly, but I think the
>>interface already contemplates that.
>>
>>Another case is the VF not being able to reach 100% because the PF is
>>submitting high prio work. But I still think the current interface is
>>sufficient and it's the implementation by GuC/HW that could be improved
>>(e.g. adapting the gpu time reported).
>>
>>Michal / Umesh, please chime in if that is not accurate.
>>
>
>Irrespective of how much quanta a VF used, all calculations will be 
>based on the quanta that it was allocated. That way the VF would know 
>that it could have better utilized the allotted time if busyness is 
>less than 100. This does result in more than 100% usage for a VF that 
>was resource hungry and scheduling policies allowed it to run more 
>than the allotted quanta, but this is a known limitation of the 
>solution provided by GuC. When looking at the overall system (say from 
>a PF), the usage should still add up to 100%.
>
>>
>>Thinking out loud: IFF the execution quanta is available for VF to query
>
>For the VF, GuC intends to provide a factor that can be used to scale 
>the wall time and deduce the VF quanta. This scaled value is used as 
>the second counter in a VF.
>
>>and we are ok with just scaling drm-maxfreq, then maybe we could even
>>just use the current interface instead of adding a third one. Although
>>it could be confusing to have a that freq changing.
>
>Assuming you are talking about using the drm-cycles and drm-max-freq.  
>One of the concerns when supporting VFs was that we cannot actually 
>export busyness in absolute time units to the user because the GPU is 
>shared across VFs. If we scale the busyness such that it is stretched 
>across CPU time, then it helps get the right busyness % relative to 
>CPU time, but the value of busyness in time units itself is false. 
>This was the primary reason to use 2 "unitless" counters.
>
>fwiu, I think by using the drm-maxfreq, you are going to bring the 
>same concept back in the discussion - exporting busyness in time 
>units. Not sure if that's a good idea. Let me know if I got that 
>wrong.

no, but I think it would still work if we can scale the freq according to
the quanta.  But that's probably abusing the interface.

Anyway I think we are settling on

	drm-cycles-<engineclass>
	drm-total-cycles-<engineclass>

so I will start changing the patches and igt while checking this for
more feedback if any.


thanks
Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-17 23:19                 ` Lucas De Marchi
@ 2024-04-18  8:09                   ` Tvrtko Ursulin
  2024-04-19 10:44                   ` Tvrtko Ursulin
  1 sibling, 0 replies; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-18  8:09 UTC (permalink / raw)
  To: Lucas De Marchi, Umesh Nerlige Ramappa; +Cc: intel-xe, Michal Wajdeczko


On 18/04/2024 00:19, Lucas De Marchi wrote:
> On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>> On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>> On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>>
>>>> On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>> On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>>
>>>>>> On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>> Forgot to Cc Michal, doing now.
>>>>>>>
>>>>>>> Lucas De Marchi
>>>>>>>
>>>>>>> On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>> On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>
>>>>>>>>> On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>> Add per-client usage statistics to xe. This ports xe to use 
>>>>>>>>>> the common
>>>>>>>>>> method in drm to export the usage to userspace per client 
>>>>>>>>>> (where 1
>>>>>>>>>> client == 1 drm fd open).
>>>>>>>>>>
>>>>>>>>>> However insted of using the current format, this creates a new 
>>>>>>>>>> one with
>>>>>>>>>> the unit "ticks". The intention here is not to mix the GPU 
>>>>>>>>>> clock domain
>>>>>>>>>> with the CPU clock. It allows to cover a few more use cases 
>>>>>>>>>> without
>>>>>>>>>> extra complications.
>>>>>>>>>>
>>>>>>>>>> Last patch was a quick implemenation of a gputop-like tool in 
>>>>>>>>>> python.
>>>>>>>>>> I ended doing it to cross check the gputop implementation. I's 
>>>>>>>>>> not
>>>>>>>>>> really meant to be applied here.
>>>>>>>>>>
>>>>>>>>>> I tested this on DG2 and TGL with kmscube (console-only) and 
>>>>>>>>>> vkcube
>>>>>>>>>> (in a gnome session), but it would be good to soak this under 
>>>>>>>>>> more
>>>>>>>>>> tests. The biggest goal for this patch series right now is to get
>>>>>>>>>> consensus on the new UAPI.
>>>>>>>>>>
>>>>>>>>>> TODO: Add documentation on top with the new interface.
>>>>>>>>>
>>>>>>>>> Yeah a drm-usage-stats.rst patch would be nice to have in the 
>>>>>>>>> RFC so one does not have to look into the driver implementation 
>>>>>>>>> to discuss the proposed uapi.
>>>>>>>>>
>>>>>>>>> Nevertheless I understand the proposal is to add this:
>>>>>>>>>
>>>>>>>>> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>>
>>>>>>>> yes, the gputop patch was more explicit about this. Should had 
>>>>>>>> added in
>>>>>>>> the kernel patch series too.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> That's two values per key. I guess "one key value pair for per 
>>>>>>>>> one line of text" does not get strictly broken and that you 
>>>>>>>>> propose a heuristics in parsing to detect that the <RUNTIME> 
>>>>>>>>> cannot be mis-interpreted as the unit?
>>>>>>>>
>>>>>>>> the current format is
>>>>>>>>
>>>>>>>>     drm-engine-<class>: <RUNTIME> ns
>>>>>>>>
>>>>>>>> the "ns" in the end should be parsed by userspace to know
>>>>>>>> what it is about.
>>>>>>
>>>>>> Right.
>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Not sure it is a good idea though. If you instead added a new 
>>>>>>>>> key for the gpu time what would be the downside in your view? 
>>>>>>>>> Like:
>>>>>>>>>
>>>>>>>>> drm-engine-<class>: <uint> ticks
>>>>>>>>> drm-ticks-<class>: <uint>
>>>>>>>>>
>>>>>>>>> Or maybe even obsfuscate/generalise as:
>>>>>>>>>
>>>>>>>>> drm-engine-<class>: <uint> gpu-time
>>>>>>>>> drm-gpu-time-<class>: <uint>
>>>>>>>>
>>>>>>>> I think both work, but I fail to see the advantage. This 
>>>>>>>> alternative is
>>>>>>>> slightly heavier on the parsing side since you have to correlate 
>>>>>>>> the
>>>>>>>> values from 2 keys, possibly dealing with them appearing in 
>>>>>>>> different
>>>>>>>> order. The only possible breakage remains with this alternative: if
>>>>>>>> userspace didn't parse the unit before. I checked nvtop and htop 
>>>>>>>> and
>>>>>>>> they were doing the right thing. I sent a fix to igt a few weeks 
>>>>>>>> back
>>>>>>>> for it to consider the unit:
>>>>>>>> https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>>
>>>>>> Advantages are that "drm-engine-something: 1234 5678 ticks" isn't 
>>>>>> self-explanatory (intuitively humanly readable) and that it doesn't
>>>>>
>>>>> maybe I have a different expectation from procfs. When I do e.g.
>>>>>
>>>>> # cat /proc/self/stat
>>>>> 3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 0 
>>>>> 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 18446744073709551615 
>>>>> 93979016876032 93979016892449 140720658378704 0 0 0 0 0 0 0 0 0 17 
>>>>> 51 0 0 0 0 0 93979016907440 93979016908904 93979037196288 
>>>>> 140720658380605 140720658380625 140720658380625 140720658382827 0
>>>>>
>>>>> it doesn't seem to me "intuitively humanly readable" was the first
>>>>> concern for people adding files in procfs :)... I'd rather think 
>>>>> "machine
>>>>> readable" was more important.
>>>>
>>>> I think you are pushing the argument a bit now :) since IMO we 
>>>> should evaluate drm-usage-stats.rst proposal more in the context of 
>>>> drm-usage-stats and other fdinfo files, rather than the whole of 
>>>> procfs. In other words if there isn't a strong reason to regress 
>>>> this particular file lets not do it.
>>>
>>> :) I like pushing arguments if it helps revisit decisions (human vs
>>> machine readable for things in procfs). I'm not
>>> trying to push the 2 counter approaches though. I think other reasons
>>> like discussed below are enough to consider the other keys.
>>>
>>> TBH I was reluctant at first to add a separate uapi rather than re-using
>>> drm-engine- without realizing there was already a second one (not
>>> implemented in gputop).
>>>
>>> So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>> drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>>
>>>>
>>>>>> diverge from the one value per key plus unit format. Latter we 
>>>>>> would then document clearly.
>>>>>>
>>>>>> Different keys potentially appearing in different order does not 
>>>>>> matter since userspace already has to handle that.
>>>>>>
>>>>>>>>> Potentially could also add a key saying how much wall time is 
>>>>>>>>> one unit of GPU time.
>>>>>>>>
>>>>>>>> I wouldn't add it really as it may not make sense depending on the
>>>>>>>> vendor and or usage. Examples: the gpu time may be different for
>>>>>>>> different engines depending on where they are located (tile/gt). 
>>>>>>>> The
>>>>>>>> correlation with CPU time is different when running in VF mode, 
>>>>>>>> and may
>>>>>>>> change in runtime depending on the number of VFs. +Michal.
>>>>>>
>>>>>> Yes, that's why I said "potentially", which was supposed to mean 
>>>>>> if and where it makes sense and perhaps adds value.
>>>>>>
>>>>>>>> Also, if the userspace side really wants to know (why would it?)
>>>>>>>> it could be just calculate from 2 samples (possibly repeated a few
>>>>>>>> times as it updates the output).
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>>>> drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per wall 
>>>>>>>>> second.
>>>>>>>>
>>>>>>>> I think it'd be up to gpu vendor what clock backs this time. For 
>>>>>>>> the
>>>>>>>> current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>> frequency.
>>>>>>
>>>>>> Right, but that doesn't matter. What I was saying is that if you 
>>>>>> exposed ticks in drm-cycles and tick frequency in drm-maxfreq it 
>>>>>> would even work, no? (Assuming support for those two was actually 
>>>>>> in igt_drm_fdinfo/clients/gputop and could be used as fallback to 
>>>>>> time based stats.)
>>>>>
>>>>> oh... I was looking at the output for i915 and missed that we had
>>>>> drm-cycles as currently i915 doesn't use it. It seems to be a similar
>>>>> thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>> actually have support for that in gputop.
>>>>>
>>>>> So, instead of the 2 numbers + different unit, I can adapt this to
>>>>> rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>> what we need since it doesn't scale for VF. It brings back the cpu 
>>>>> clock
>>>>> domain this series is trying to avoid. The difference is that using
>>>>> drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>> (let me know if I interpreted the docs wrong):
>>>>>
>>>>>     s1 = sample()
>>>>>     sleep(period)
>>>>>     s2 = sample()
>>>>>     engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>>>> (s1.drm_cycles * s1.drm_max_freq)) / period
>>>>>
>>>>> ... considering the drm_max_freq may change from one call to the 
>>>>> other.
>>>>> if we simplify it and assume it doesn't change:
>>>>>
>>>>>     engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>>> drm_max_freq) / period
>>>>>
>>>>> we'd need different drm_max_freq reported on VF driver that would need
>>>>> to know the number of VFs enabled to scaled it correctly. Maybe 
>>>>> this is
>>>>> abusing the "drm-maxfreq" a little bit?
>>>>
>>>> Yes it would be bad if the observed VF GPU clock will be variable 
>>>> since maxfreq is supposed to be static.
>>>>
>>>> So on VFs would reported GPU clock moves by the VF "used" quanta?
>>>
>>> s/used/available/. That's my understanding, yes. Each VF has a quanta
>>> and the gpu clock moves according to that quanta.  Note that as I said,
>>> this is not the case right now (we are just reading RING_TIMESTAMP), but
>>> the intention is to have the UAPI side ready so it's already prepared
>>> for that.
>>>
>>>> Where "used" is defined as time given by the GuC, not necessarily used
>>>
>>> s/used/available/ as above
>>>
>>>> GPU time. For instance 16ms quanta, VF GPU clock would move by 16ms 
>>>> if the GuC decides not to switch out the idle VF? Or it could move 
>>>> by less than 16ms if it switched it out earlier.
>>>
>>> no, afaiu it's 16ms, not less. But the quanta depends on the number of
>>> VFs enabled, which may change in runtime.
>>>
>>> I'm not 100% certain and people in Cc may correct me.
>>>
>>>>
>>>>> What if we had
>>>>>
>>>>> drm-cycles-<keystr>: <uint>
>>>>> drm-total-cycles-<keystr>: <uint>
>>>>>
>>>>> Then the utilization can be done:
>>>>>
>>>>>     s1 = sample()
>>>>>     sleep(period)
>>>>>     s2 = sample()
>>>>>     engine_utilization = (s2.cycles - s1.cycles) / \
>>>>>                  (s2.total_cycles - s1.total_cycles + 1);
>>>>>
>>>>> Capacity still to be added above, but we'd need to clarify if
>>>>> drm-total-cycles-<keystr> already accounts for it.
>>>>>
>>>>> Here instead of the conversion to cpu clock, I'm expecting to read
>>>>> "total_cycles" from HW and that being different (slower) for VF.
>>>>> AFAICS this is not the case with this current polling implementation
>>>>> since we are simply reading the RING_TIMESTAMP, but there are planned
>>>>> changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>>
>>>> I think this works and is clean.
>>>>
>>>> Although I have some doubts about the usefulness on VFs, if the 
>>>> clock movements are at the mercy of the GuC scheduler. Like what 
>>>> does 100% mean for a VF? Maybe it was full quanta, or maybe it was 
>>>> half a quanta if GuC decided to switch it out early, either due 
>>>> going idle or due some other scheduling decision.
>>>
>>> in the scenario you described above the quanta could change according to
>>> the scheduler and 100% wouldn't mean much. That's not my understanding.
>>> 100% always mean the VF used all the allocated time. I see this line
>>> potentially getting blurred a little bit if the scheduler tries to
>>> maximize the HW usage and distribute quanta unevenly, but I think the
>>> interface already contemplates that.
>>>
>>> Another case is the VF not being able to reach 100% because the PF is
>>> submitting high prio work. But I still think the current interface is
>>> sufficient and it's the implementation by GuC/HW that could be improved
>>> (e.g. adapting the gpu time reported).
>>>
>>> Michal / Umesh, please chime in if that is not accurate.
>>>
>>
>> Irrespective of how much quanta a VF used, all calculations will be 
>> based on the quanta that it was allocated. That way the VF would know 
>> that it could have better utilized the allotted time if busyness is 
>> less than 100. This does result in more than 100% usage for a VF that 
>> was resource hungry and scheduling policies allowed it to run more 
>> than the allotted quanta, but this is a known limitation of the 
>> solution provided by GuC. When looking at the overall system (say from 
>> a PF), the usage should still add up to 100%.
>>
>>>
>>> Thinking out loud: IFF the execution quanta is available for VF to query
>>
>> For the VF, GuC intends to provide a factor that can be used to scale 
>> the wall time and deduce the VF quanta. This scaled value is used as 
>> the second counter in a VF.
>>
>>> and we are ok with just scaling drm-maxfreq, then maybe we could even
>>> just use the current interface instead of adding a third one. Although
>>> it could be confusing to have a that freq changing.
>>
>> Assuming you are talking about using the drm-cycles and drm-max-freq. 
>> One of the concerns when supporting VFs was that we cannot actually 
>> export busyness in absolute time units to the user because the GPU is 
>> shared across VFs. If we scale the busyness such that it is stretched 
>> across CPU time, then it helps get the right busyness % relative to 
>> CPU time, but the value of busyness in time units itself is false. 
>> This was the primary reason to use 2 "unitless" counters.
>>
>> fwiu, I think by using the drm-maxfreq, you are going to bring the 
>> same concept back in the discussion - exporting busyness in time 
>> units. Not sure if that's a good idea. Let me know if I got that wrong.
> 
> no, but I think it would still work if we can scale the freq according to
> the quanta.  But that's probably abusing the interface.
> 
> Anyway I think we are settling on
> 
>      drm-cycles-<engineclass>
>      drm-total-cycles-<engineclass>
> 
> so I will start changing the patches and igt while checking this for
> more feedback if any.

I understood drm-total-cycles will then be static and exactly equal to 
VF quanta which will be fine.

Only thing I am uncertain of is whether quanta can change at runtime by 
sys admin or tooling intervention? If so then some sort of plan how 
fdinfo parsers can cope with that is needed?

And of course the next series should have:

1) The new keys documents in drm-usage-stats.rst and how drm-cycles work 
either with drm-maxfreq or drm-total-cycles, where latter two are 
mutually exclusive; and:

2) Probably wouldn't harm to have a link to driver specific xe.rst, 
equally as i915.rst provides an example output. (Which hasn't been 
updated for memory stats.. forgetful me.. and now I don't have any Intel 
boxes locally to create a patch.)

Regards,

Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 5/7] drm/xe: Add helper to capture engine timestamp
  2024-04-17  3:14     ` Lucas De Marchi
@ 2024-04-18 18:24       ` Umesh Nerlige Ramappa
  0 siblings, 0 replies; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-18 18:24 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Tvrtko Ursulin

On Tue, Apr 16, 2024 at 10:14:28PM -0500, Lucas De Marchi wrote:
>On Tue, Apr 16, 2024 at 03:56:29PM GMT, Umesh Nerlige Ramappa wrote:
>>On Mon, Apr 15, 2024 at 08:04:52PM -0700, Lucas De Marchi wrote:
>>>Just like CTX_TIMESTAMP is used to calculate runtime, add a helper to
>>>get the timestamp for the engine so it can be used to calculate the
>>>"engine time" with the same unit as the runtime is recorded.
>>>
>>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>
>>Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
>>
>>>---
>>>drivers/gpu/drm/xe/xe_hw_engine.c | 7 +++++++
>>>drivers/gpu/drm/xe/xe_hw_engine.h | 2 ++
>>>files changed, 9 insertions(+)
>>>
>>>diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
>>>index ab227fa8984a..528b271c9f23 100644
>>>--- a/drivers/gpu/drm/xe/xe_hw_engine.c
>>>+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
>>>@@ -981,3 +981,10 @@ const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
>>>
>>>	return NULL;
>>>}
>>>+
>>>+u64 xe_hw_engine_read_timestamp(struct xe_hw_engine *hwe)
>>>+{
>>>+	struct xe_reg reg = RING_TIMESTAMP(hwe->mmio_base);
>>>+
>>>+	return xe_mmio_read64_2x32(hwe->gt, reg);
>
>given the past issues with reading 64b registers, I'm wondering if we
>shouldn't export a xe_hw_engine_read_timestamp32 and use just the lower
>part. Since the CTX_TIMESTAMP will wrap around first, just using 32b
>for RING_TIMESTAMP should be sufficient.

Yeah that works too.

Regards,
Umesh

>
>Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 6/7] drm/xe/client: Print runtime to fdinfo
  2024-04-17  3:11     ` Lucas De Marchi
@ 2024-04-18 23:12       ` Umesh Nerlige Ramappa
  2024-04-19 13:25         ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-18 23:12 UTC (permalink / raw)
  To: Lucas De Marchi; +Cc: intel-xe, Tvrtko Ursulin

On Tue, Apr 16, 2024 at 10:11:30PM -0500, Lucas De Marchi wrote:
>On Tue, Apr 16, 2024 at 04:20:54PM GMT, Umesh Nerlige Ramappa wrote:
>>On Mon, Apr 15, 2024 at 08:04:53PM -0700, Lucas De Marchi wrote:
>>>Print the accumulated runtime, per client, when printing fdinfo.
>>>Each time a query is done it first does 2 things:
>>>
>>>1) loop through all the exec queues for the current client and
>>> accumulates the runtime, per engine class. CTX_TIMESTAMP is used for
>>> that, being read from the context image.
>>>
>>>2) Read a "GPU timestamp" that can be used for considering "how much GPU
>>> time has passed" and that has the same unit/ref-clock as the one
>>> recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>>>
>>>This second part is done once per engine class, since it's a register
>>>that is replicated on all engines. It is however the same stamp. At
>>>least for the current GPUs this was tested one. It may be simplified,
>>>but in order to play safe and avoid the cases the clock is different in
>>>future for primary/media GTs, or across engine classes, just read it per
>>>class.
>>>
>>>This is exported to userspace as 2 numbers in fdinfo:
>>>
>>>	drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>
>>>Userspace is expected to collect at least 2 samples, which allows to
>>>know the engine busyness as per:
>>>
>>>		    RUNTIME1 - RUNTIME0
>>>	busyness = ---------------------
>>>			  T1 - T0
>>>
>>>When calculating the overall system busyness, userspace can loop through
>>>all the clients and add up all the numbers.  Since the GPU timestamp
>>>will be a little bit different, it's expected some fluctuation on
>>>accuracy, but that may be improved with a better hardware/GuC interface
>>>in future, maintaining the UAPI.
>>>
>>>Another thing to point out is that it's expected that userspace reads
>>>any 2 samples every few seconds.  Given the update frequency of the
>>>counters involved and that CTX_TIMESTAMP is 32b, it is expect to wrap
>>>every 25 ~ 30 seconds.
>>
>>I think the worker I had implemented in my original patches (as well 
>>as i915 implementation) may have been confusing.
>>
>>32 bit counter ticking at 19.2 MHz should wrap around in 223.696 
>>seconds. The worker on the other hand was overcompensating for it 
>>and running at 1/8th of this wrap around time.
>
>now I'm not sure if I did the math wrong or if I replicated something
>you told me :)... What's the reason to overcompensate like that?

I think I left it as is when I got the change from the original author.  
Anything less than the overflow time should do.

>
>My main issue with the worker is not to have the worker while we have a
>gputop-like app running. That should be totally fine. My main issue is
>doing it regardless of having a process querying it, which would account
>for ~99.9% of the time.

If the use cases Tvrtko is mentioning exist (low frequency queries), 
then I am afraid we don't have another way. We could try to tightly 
control when the worker runs. Assuming worker runs every 200s, for 
example:

1) initialize the worker on first queue create (or first job scheduled)
2) reset worker on every query from the process. this should prevent it 
from running when there are frequent queries.
3) stop/start worker on suspend/resume (I don't see park/unpark in XE)
4) stop worker on last queue destroy (OR last job completion)

I agree this can get hairy very soon and we have had all sorts of issues 
in i915 with the worker. If we can get the UMD tools to compensate for 
this, that would be my first choice too.

Umesh
>
>>
>>>This could be mitigated by adding a workqueue to
>>>accumulate the counters every so often, but it's additional complexity
>>>for something that is done already by userspace every few seconds in
>>>tools like gputop (from igt), htop, nvtop, etc.
>>>
>>>Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
>>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>>---
>>>drivers/gpu/drm/xe/xe_drm_client.c | 81 +++++++++++++++++++++++++++++-
>>>1 file changed, 80 insertions(+), 1 deletion(-)
>>>
>>>diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
>>>index 08f0b7c95901..79eb453bfb14 100644
>>>--- a/drivers/gpu/drm/xe/xe_drm_client.c
>>>+++ b/drivers/gpu/drm/xe/xe_drm_client.c
>>>@@ -2,6 +2,7 @@
>>>/*
>>>* Copyright © 2023 Intel Corporation
>>>*/
>>>+#include "xe_drm_client.h"
>>>
>>>#include <drm/drm_print.h>
>>>#include <drm/xe_drm.h>
>>>@@ -12,7 +13,10 @@
>>>#include "xe_bo.h"
>>>#include "xe_bo_types.h"
>>>#include "xe_device_types.h"
>>>-#include "xe_drm_client.h"
>>>+#include "xe_exec_queue.h"
>>>+#include "xe_gt.h"
>>>+#include "xe_hw_engine.h"
>>>+#include "xe_pm.h"
>>>#include "xe_trace.h"
>>>
>>>/**
>>>@@ -179,6 +183,80 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>>	}
>>>}
>>>
>>>+static const u64 class_to_mask[] = {
>>>+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
>>>+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
>>>+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
>>>+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
>>>+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
>>>+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
>>>+};
>>>+
>>>+static void show_runtime(struct drm_printer *p, struct drm_file *file)
>>>+{
>>>+	struct xe_file *xef = file->driver_priv;
>>>+	struct xe_device *xe = xef->xe;
>>>+	struct xe_gt *gt;
>>>+	struct xe_hw_engine *hwe;
>>>+	struct xe_exec_queue *q;
>>>+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
>>>+	u64 gpu_timestamp, engine_mask = 0;
>>>+	bool gpu_stamp = false;
>>>+
>>>+	xe_pm_runtime_get(xe);
>>>+
>>>+	mutex_lock(&xef->exec_queue.lock);
>>>+	xa_for_each(&xef->exec_queue.xa, i, q)
>>>+		xe_exec_queue_update_runtime(q);
>>>+	mutex_unlock(&xef->exec_queue.lock);
>>>+
>>>+	for_each_gt(gt, xe, id_gt)
>>>+		engine_mask |= gt->info.engine_mask;
>>>+
>>>+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>>>+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>>>+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>>>+
>>>+	/*
>>>+	 * Iterate over all engines, printing the accumulated
>>>+	 * runtime for this xef per engine class
>>>+	 */
>>>+	for_each_gt(gt, xe, id_gt) {
>>>+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>>+		for_each_hw_engine(hwe, gt, id_hwe) {
>>>+			const char *class_name;
>>>+
>>>+			if (!capacity[hwe->class])
>>>+				continue;
>>>+
>>>+			/*
>>>+			 * Use any (first) engine to have a timestamp to be used every
>>>+			 * time
>>>+			 */
>>>+			if (!gpu_stamp) {
>>
>>gpu_stamp is not required if the intention is to read the timestamp 
>>once per class (as per commit message) because you are already 
>>setting capacity to 0 below.
>
>yeah... I think I changed my mind and forgot to update the commit
>message.
>
>thanks
>Lucas De Marchi
>
>>
>>Umesh
>>
>>>+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>>>+				gpu_stamp = true;
>>>+			}
>>>+
>>>+			class_name = xe_hw_engine_class_to_str(hwe->class);
>>>+
>>>+			drm_printf(p, "drm-engine-%s:\t%llu %llu ticks\n",
>>>+				   class_name, gpu_timestamp,
>>>+				   xef->runtime[hwe->class]);
>>>+
>>>+			if (capacity[hwe->class] > 1)
>>>+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>>>+					   class_name, capacity[hwe->class]);
>>>+
>>>+			/* engine class already handled, skip next iterations */
>>>+			capacity[hwe->class] = 0;
>>>+		}
>>>+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>>>+	}
>>>+
>>>+	xe_pm_runtime_get(xe);
>>>+}
>>>+
>>>/**
>>>* xe_drm_client_fdinfo() - Callback for fdinfo interface
>>>* @p: The drm_printer ptr
>>>@@ -192,5 +270,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>>void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
>>>{
>>>	show_meminfo(p, file);
>>>+	show_runtime(p, file);
>>>}
>>>#endif
>>>-- 
>>>2.43.0
>>>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-17 23:19                 ` Lucas De Marchi
  2024-04-18  8:09                   ` Tvrtko Ursulin
@ 2024-04-19 10:44                   ` Tvrtko Ursulin
  2024-04-19 23:51                     ` Umesh Nerlige Ramappa
  1 sibling, 1 reply; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-19 10:44 UTC (permalink / raw)
  To: Lucas De Marchi, Umesh Nerlige Ramappa; +Cc: intel-xe, Michal Wajdeczko


On 18/04/2024 00:19, Lucas De Marchi wrote:
> On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>> On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>> On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>>
>>>> On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>> On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>>
>>>>>> On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>> Forgot to Cc Michal, doing now.
>>>>>>>
>>>>>>> Lucas De Marchi
>>>>>>>
>>>>>>> On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>> On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>
>>>>>>>>> On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>> Add per-client usage statistics to xe. This ports xe to use 
>>>>>>>>>> the common
>>>>>>>>>> method in drm to export the usage to userspace per client 
>>>>>>>>>> (where 1
>>>>>>>>>> client == 1 drm fd open).
>>>>>>>>>>
>>>>>>>>>> However insted of using the current format, this creates a new 
>>>>>>>>>> one with
>>>>>>>>>> the unit "ticks". The intention here is not to mix the GPU 
>>>>>>>>>> clock domain
>>>>>>>>>> with the CPU clock. It allows to cover a few more use cases 
>>>>>>>>>> without
>>>>>>>>>> extra complications.
>>>>>>>>>>
>>>>>>>>>> Last patch was a quick implemenation of a gputop-like tool in 
>>>>>>>>>> python.
>>>>>>>>>> I ended doing it to cross check the gputop implementation. I's 
>>>>>>>>>> not
>>>>>>>>>> really meant to be applied here.
>>>>>>>>>>
>>>>>>>>>> I tested this on DG2 and TGL with kmscube (console-only) and 
>>>>>>>>>> vkcube
>>>>>>>>>> (in a gnome session), but it would be good to soak this under 
>>>>>>>>>> more
>>>>>>>>>> tests. The biggest goal for this patch series right now is to get
>>>>>>>>>> consensus on the new UAPI.
>>>>>>>>>>
>>>>>>>>>> TODO: Add documentation on top with the new interface.
>>>>>>>>>
>>>>>>>>> Yeah a drm-usage-stats.rst patch would be nice to have in the 
>>>>>>>>> RFC so one does not have to look into the driver implementation 
>>>>>>>>> to discuss the proposed uapi.
>>>>>>>>>
>>>>>>>>> Nevertheless I understand the proposal is to add this:
>>>>>>>>>
>>>>>>>>> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>>
>>>>>>>> yes, the gputop patch was more explicit about this. Should had 
>>>>>>>> added in
>>>>>>>> the kernel patch series too.
>>>>>>>>
>>>>>>>>>
>>>>>>>>> That's two values per key. I guess "one key value pair for per 
>>>>>>>>> one line of text" does not get strictly broken and that you 
>>>>>>>>> propose a heuristics in parsing to detect that the <RUNTIME> 
>>>>>>>>> cannot be mis-interpreted as the unit?
>>>>>>>>
>>>>>>>> the current format is
>>>>>>>>
>>>>>>>>     drm-engine-<class>: <RUNTIME> ns
>>>>>>>>
>>>>>>>> the "ns" in the end should be parsed by userspace to know
>>>>>>>> what it is about.
>>>>>>
>>>>>> Right.
>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Not sure it is a good idea though. If you instead added a new 
>>>>>>>>> key for the gpu time what would be the downside in your view? 
>>>>>>>>> Like:
>>>>>>>>>
>>>>>>>>> drm-engine-<class>: <uint> ticks
>>>>>>>>> drm-ticks-<class>: <uint>
>>>>>>>>>
>>>>>>>>> Or maybe even obsfuscate/generalise as:
>>>>>>>>>
>>>>>>>>> drm-engine-<class>: <uint> gpu-time
>>>>>>>>> drm-gpu-time-<class>: <uint>
>>>>>>>>
>>>>>>>> I think both work, but I fail to see the advantage. This 
>>>>>>>> alternative is
>>>>>>>> slightly heavier on the parsing side since you have to correlate 
>>>>>>>> the
>>>>>>>> values from 2 keys, possibly dealing with them appearing in 
>>>>>>>> different
>>>>>>>> order. The only possible breakage remains with this alternative: if
>>>>>>>> userspace didn't parse the unit before. I checked nvtop and htop 
>>>>>>>> and
>>>>>>>> they were doing the right thing. I sent a fix to igt a few weeks 
>>>>>>>> back
>>>>>>>> for it to consider the unit:
>>>>>>>> https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>>
>>>>>> Advantages are that "drm-engine-something: 1234 5678 ticks" isn't 
>>>>>> self-explanatory (intuitively humanly readable) and that it doesn't
>>>>>
>>>>> maybe I have a different expectation from procfs. When I do e.g.
>>>>>
>>>>> # cat /proc/self/stat
>>>>> 3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 0 
>>>>> 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 18446744073709551615 
>>>>> 93979016876032 93979016892449 140720658378704 0 0 0 0 0 0 0 0 0 17 
>>>>> 51 0 0 0 0 0 93979016907440 93979016908904 93979037196288 
>>>>> 140720658380605 140720658380625 140720658380625 140720658382827 0
>>>>>
>>>>> it doesn't seem to me "intuitively humanly readable" was the first
>>>>> concern for people adding files in procfs :)... I'd rather think 
>>>>> "machine
>>>>> readable" was more important.
>>>>
>>>> I think you are pushing the argument a bit now :) since IMO we 
>>>> should evaluate drm-usage-stats.rst proposal more in the context of 
>>>> drm-usage-stats and other fdinfo files, rather than the whole of 
>>>> procfs. In other words if there isn't a strong reason to regress 
>>>> this particular file lets not do it.
>>>
>>> :) I like pushing arguments if it helps revisit decisions (human vs
>>> machine readable for things in procfs). I'm not
>>> trying to push the 2 counter approaches though. I think other reasons
>>> like discussed below are enough to consider the other keys.
>>>
>>> TBH I was reluctant at first to add a separate uapi rather than re-using
>>> drm-engine- without realizing there was already a second one (not
>>> implemented in gputop).
>>>
>>> So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>> drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>>
>>>>
>>>>>> diverge from the one value per key plus unit format. Latter we 
>>>>>> would then document clearly.
>>>>>>
>>>>>> Different keys potentially appearing in different order does not 
>>>>>> matter since userspace already has to handle that.
>>>>>>
>>>>>>>>> Potentially could also add a key saying how much wall time is 
>>>>>>>>> one unit of GPU time.
>>>>>>>>
>>>>>>>> I wouldn't add it really as it may not make sense depending on the
>>>>>>>> vendor and or usage. Examples: the gpu time may be different for
>>>>>>>> different engines depending on where they are located (tile/gt). 
>>>>>>>> The
>>>>>>>> correlation with CPU time is different when running in VF mode, 
>>>>>>>> and may
>>>>>>>> change in runtime depending on the number of VFs. +Michal.
>>>>>>
>>>>>> Yes, that's why I said "potentially", which was supposed to mean 
>>>>>> if and where it makes sense and perhaps adds value.
>>>>>>
>>>>>>>> Also, if the userspace side really wants to know (why would it?)
>>>>>>>> it could be just calculate from 2 samples (possibly repeated a few
>>>>>>>> times as it updates the output).
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>>>> drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per wall 
>>>>>>>>> second.
>>>>>>>>
>>>>>>>> I think it'd be up to gpu vendor what clock backs this time. For 
>>>>>>>> the
>>>>>>>> current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>> frequency.
>>>>>>
>>>>>> Right, but that doesn't matter. What I was saying is that if you 
>>>>>> exposed ticks in drm-cycles and tick frequency in drm-maxfreq it 
>>>>>> would even work, no? (Assuming support for those two was actually 
>>>>>> in igt_drm_fdinfo/clients/gputop and could be used as fallback to 
>>>>>> time based stats.)
>>>>>
>>>>> oh... I was looking at the output for i915 and missed that we had
>>>>> drm-cycles as currently i915 doesn't use it. It seems to be a similar
>>>>> thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>> actually have support for that in gputop.
>>>>>
>>>>> So, instead of the 2 numbers + different unit, I can adapt this to
>>>>> rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>> what we need since it doesn't scale for VF. It brings back the cpu 
>>>>> clock
>>>>> domain this series is trying to avoid. The difference is that using
>>>>> drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>> (let me know if I interpreted the docs wrong):
>>>>>
>>>>>     s1 = sample()
>>>>>     sleep(period)
>>>>>     s2 = sample()
>>>>>     engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>>>> (s1.drm_cycles * s1.drm_max_freq)) / period
>>>>>
>>>>> ... considering the drm_max_freq may change from one call to the 
>>>>> other.
>>>>> if we simplify it and assume it doesn't change:
>>>>>
>>>>>     engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>>> drm_max_freq) / period
>>>>>
>>>>> we'd need different drm_max_freq reported on VF driver that would need
>>>>> to know the number of VFs enabled to scaled it correctly. Maybe 
>>>>> this is
>>>>> abusing the "drm-maxfreq" a little bit?
>>>>
>>>> Yes it would be bad if the observed VF GPU clock will be variable 
>>>> since maxfreq is supposed to be static.
>>>>
>>>> So on VFs would reported GPU clock moves by the VF "used" quanta?
>>>
>>> s/used/available/. That's my understanding, yes. Each VF has a quanta
>>> and the gpu clock moves according to that quanta.  Note that as I said,
>>> this is not the case right now (we are just reading RING_TIMESTAMP), but
>>> the intention is to have the UAPI side ready so it's already prepared
>>> for that.
>>>
>>>> Where "used" is defined as time given by the GuC, not necessarily used
>>>
>>> s/used/available/ as above
>>>
>>>> GPU time. For instance 16ms quanta, VF GPU clock would move by 16ms 
>>>> if the GuC decides not to switch out the idle VF? Or it could move 
>>>> by less than 16ms if it switched it out earlier.
>>>
>>> no, afaiu it's 16ms, not less. But the quanta depends on the number of
>>> VFs enabled, which may change in runtime.
>>>
>>> I'm not 100% certain and people in Cc may correct me.
>>>
>>>>
>>>>> What if we had
>>>>>
>>>>> drm-cycles-<keystr>: <uint>
>>>>> drm-total-cycles-<keystr>: <uint>
>>>>>
>>>>> Then the utilization can be done:
>>>>>
>>>>>     s1 = sample()
>>>>>     sleep(period)
>>>>>     s2 = sample()
>>>>>     engine_utilization = (s2.cycles - s1.cycles) / \
>>>>>                  (s2.total_cycles - s1.total_cycles + 1);
>>>>>
>>>>> Capacity still to be added above, but we'd need to clarify if
>>>>> drm-total-cycles-<keystr> already accounts for it.
>>>>>
>>>>> Here instead of the conversion to cpu clock, I'm expecting to read
>>>>> "total_cycles" from HW and that being different (slower) for VF.
>>>>> AFAICS this is not the case with this current polling implementation
>>>>> since we are simply reading the RING_TIMESTAMP, but there are planned
>>>>> changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>>
>>>> I think this works and is clean.
>>>>
>>>> Although I have some doubts about the usefulness on VFs, if the 
>>>> clock movements are at the mercy of the GuC scheduler. Like what 
>>>> does 100% mean for a VF? Maybe it was full quanta, or maybe it was 
>>>> half a quanta if GuC decided to switch it out early, either due 
>>>> going idle or due some other scheduling decision.
>>>
>>> in the scenario you described above the quanta could change according to
>>> the scheduler and 100% wouldn't mean much. That's not my understanding.
>>> 100% always mean the VF used all the allocated time. I see this line
>>> potentially getting blurred a little bit if the scheduler tries to
>>> maximize the HW usage and distribute quanta unevenly, but I think the
>>> interface already contemplates that.
>>>
>>> Another case is the VF not being able to reach 100% because the PF is
>>> submitting high prio work. But I still think the current interface is
>>> sufficient and it's the implementation by GuC/HW that could be improved
>>> (e.g. adapting the gpu time reported).
>>>
>>> Michal / Umesh, please chime in if that is not accurate.
>>>
>>
>> Irrespective of how much quanta a VF used, all calculations will be 
>> based on the quanta that it was allocated. That way the VF would know 
>> that it could have better utilized the allotted time if busyness is 
>> less than 100. This does result in more than 100% usage for a VF that 
>> was resource hungry and scheduling policies allowed it to run more 
>> than the allotted quanta, but this is a known limitation of the 
>> solution provided by GuC. When looking at the overall system (say from 
>> a PF), the usage should still add up to 100%.
>>
>>>
>>> Thinking out loud: IFF the execution quanta is available for VF to query
>>
>> For the VF, GuC intends to provide a factor that can be used to scale 
>> the wall time and deduce the VF quanta. This scaled value is used as 
>> the second counter in a VF.
>>> and we are ok with just scaling drm-maxfreq, then maybe we could even
>>> just use the current interface instead of adding a third one. Although
>>> it could be confusing to have a that freq changing.
>>
>> Assuming you are talking about using the drm-cycles and drm-max-freq. 
>> One of the concerns when supporting VFs was that we cannot actually 
>> export busyness in absolute time units to the user because the GPU is 
>> shared across VFs. If we scale the busyness such that it is stretched 
>> across CPU time, then it helps get the right busyness % relative to 
>> CPU time, but the value of busyness in time units itself is false. 
>> This was the primary reason to use 2 "unitless" counters.
>>
>> fwiu, I think by using the drm-maxfreq, you are going to bring the 
>> same concept back in the discussion - exporting busyness in time 
>> units. Not sure if that's a good idea. Let me know if I got that wrong.
> 
> no, but I think it would still work if we can scale the freq according to
> the quanta.  But that's probably abusing the interface.
> 
> Anyway I think we are settling on
> 
>      drm-cycles-<engineclass>
>      drm-total-cycles-<engineclass>
> 
> so I will start changing the patches and igt while checking this for
> more feedback if any.
Another option came to mind - expose a quanta ratio as a new key. Given 
it has no security implications and is to be used only for calculating 
real VFs GPU utilisation. Like:

drm-engine-*: <uint> ns
drm-engine-time-ratio-*: <float>

Unit would be a ratio of time over quanta, for instance 1000ms / 100ms = 
10. Which would mean scale down reported time by 10 when comparing 
against wall time.

New key would only appear on VFs. Otherwise assumed 1.

Or could be avoided per engine and just have single global:

drm-gpu-time-ratio: <float>

Am I missing something or that could work? It would have the same 
problem as above mentioned "could go over 100%" is one. I mean this comment:

"""
Irrespective of how much quanta a VF used, all calculations will be
based on the quanta that it was allocated.
...
This does result in more than 100% usage for a VF that
was resource hungry and scheduling policies allowed it to run more
than the allotted quanta,
"""

I read that as total-ticks would never be reported as above the 
configure quanta - always equal. Maybe I misunderstood?

Second topic - are there any plans to allow the PF to monitor VF GPU 
utilisation? That wouldn't work via fdinfo aggregation since VF clients 
will not be visibible in a PF. But it sounds like a basic and important 
use case.

Regards,

Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 6/7] drm/xe/client: Print runtime to fdinfo
  2024-04-18 23:12       ` Umesh Nerlige Ramappa
@ 2024-04-19 13:25         ` Lucas De Marchi
  0 siblings, 0 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-19 13:25 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: intel-xe, Tvrtko Ursulin

On Thu, Apr 18, 2024 at 04:12:43PM GMT, Umesh Nerlige Ramappa wrote:
>On Tue, Apr 16, 2024 at 10:11:30PM -0500, Lucas De Marchi wrote:
>>On Tue, Apr 16, 2024 at 04:20:54PM GMT, Umesh Nerlige Ramappa wrote:
>>>On Mon, Apr 15, 2024 at 08:04:53PM -0700, Lucas De Marchi wrote:
>>>>Print the accumulated runtime, per client, when printing fdinfo.
>>>>Each time a query is done it first does 2 things:
>>>>
>>>>1) loop through all the exec queues for the current client and
>>>>accumulates the runtime, per engine class. CTX_TIMESTAMP is used for
>>>>that, being read from the context image.
>>>>
>>>>2) Read a "GPU timestamp" that can be used for considering "how much GPU
>>>>time has passed" and that has the same unit/ref-clock as the one
>>>>recording the runtime. RING_TIMESTAMP is used for that via MMIO.
>>>>
>>>>This second part is done once per engine class, since it's a register
>>>>that is replicated on all engines. It is however the same stamp. At
>>>>least for the current GPUs this was tested one. It may be simplified,
>>>>but in order to play safe and avoid the cases the clock is different in
>>>>future for primary/media GTs, or across engine classes, just read it per
>>>>class.
>>>>
>>>>This is exported to userspace as 2 numbers in fdinfo:
>>>>
>>>>	drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>
>>>>Userspace is expected to collect at least 2 samples, which allows to
>>>>know the engine busyness as per:
>>>>
>>>>		    RUNTIME1 - RUNTIME0
>>>>	busyness = ---------------------
>>>>			  T1 - T0
>>>>
>>>>When calculating the overall system busyness, userspace can loop through
>>>>all the clients and add up all the numbers.  Since the GPU timestamp
>>>>will be a little bit different, it's expected some fluctuation on
>>>>accuracy, but that may be improved with a better hardware/GuC interface
>>>>in future, maintaining the UAPI.
>>>>
>>>>Another thing to point out is that it's expected that userspace reads
>>>>any 2 samples every few seconds.  Given the update frequency of the
>>>>counters involved and that CTX_TIMESTAMP is 32b, it is expect to wrap
>>>>every 25 ~ 30 seconds.
>>>
>>>I think the worker I had implemented in my original patches (as 
>>>well as i915 implementation) may have been confusing.
>>>
>>>32 bit counter ticking at 19.2 MHz should wrap around in 223.696 
>>>seconds. The worker on the other hand was overcompensating for it 
>>>and running at 1/8th of this wrap around time.
>>
>>now I'm not sure if I did the math wrong or if I replicated something
>>you told me :)... What's the reason to overcompensate like that?
>
>I think I left it as is when I got the change from the original 
>author.  Anything less than the overflow time should do.
>
>>
>>My main issue with the worker is not to have the worker while we have a
>>gputop-like app running. That should be totally fine. My main issue is
>>doing it regardless of having a process querying it, which would account
>>for ~99.9% of the time.
>
>If the use cases Tvrtko is mentioning exist (low frequency queries), 
>then I am afraid we don't have another way. We could try to tightly 
>control when the worker runs. Assuming worker runs every 200s, for 
>example:
>
>1) initialize the worker on first queue create (or first job scheduled)
>2) reset worker on every query from the process. this should prevent 
>it from running when there are frequent queries.

that's ok, but we should be fine having 1 query more every 200s if the
user is query every few seconds. I don't see a way out of the other
side: user is *not* querying (and most of the time never will),
yet we still have to keep track of it.

>3) stop/start worker on suspend/resume (I don't see park/unpark in XE)
>4) stop worker on last queue destroy (OR last job completion)

on a normal desktop or busy server, (4) would never happen, so still
doesn't solve my main issue with it.

One thing I noticed while cleaning up the patches for v2 is that the
worry about non-monotonic increases doesn't hold: if we keep both
userspace-visible counters as u64, the wraparound is not really visible
to userspace:  the gpu timestamp is the raw 64b number; drm-cycles is
actually the  sum(ΔCTX_TS), so it doesn't matter that CTX_TS is 32b. 
It's just that if userspace takes a sample every ~200sec it won't be
accurate, which seems reasonable.

Lucas De Marchi

>
>I agree this can get hairy very soon and we have had all sorts of 
>issues in i915 with the worker. If we can get the UMD tools to 
>compensate for this, that would be my first choice too.
>
>Umesh
>>
>>>
>>>>This could be mitigated by adding a workqueue to
>>>>accumulate the counters every so often, but it's additional complexity
>>>>for something that is done already by userspace every few seconds in
>>>>tools like gputop (from igt), htop, nvtop, etc.
>>>>
>>>>Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/
>>>>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
>>>>---
>>>>drivers/gpu/drm/xe/xe_drm_client.c | 81 +++++++++++++++++++++++++++++-
>>>>1 file changed, 80 insertions(+), 1 deletion(-)
>>>>
>>>>diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
>>>>index 08f0b7c95901..79eb453bfb14 100644
>>>>--- a/drivers/gpu/drm/xe/xe_drm_client.c
>>>>+++ b/drivers/gpu/drm/xe/xe_drm_client.c
>>>>@@ -2,6 +2,7 @@
>>>>/*
>>>>* Copyright © 2023 Intel Corporation
>>>>*/
>>>>+#include "xe_drm_client.h"
>>>>
>>>>#include <drm/drm_print.h>
>>>>#include <drm/xe_drm.h>
>>>>@@ -12,7 +13,10 @@
>>>>#include "xe_bo.h"
>>>>#include "xe_bo_types.h"
>>>>#include "xe_device_types.h"
>>>>-#include "xe_drm_client.h"
>>>>+#include "xe_exec_queue.h"
>>>>+#include "xe_gt.h"
>>>>+#include "xe_hw_engine.h"
>>>>+#include "xe_pm.h"
>>>>#include "xe_trace.h"
>>>>
>>>>/**
>>>>@@ -179,6 +183,80 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>>>	}
>>>>}
>>>>
>>>>+static const u64 class_to_mask[] = {
>>>>+        [XE_ENGINE_CLASS_RENDER] = XE_HW_ENGINE_RCS_MASK,
>>>>+        [XE_ENGINE_CLASS_VIDEO_DECODE] = XE_HW_ENGINE_VCS_MASK,
>>>>+        [XE_ENGINE_CLASS_VIDEO_ENHANCE] = XE_HW_ENGINE_VECS_MASK,
>>>>+        [XE_ENGINE_CLASS_COPY] = XE_HW_ENGINE_BCS_MASK,
>>>>+        [XE_ENGINE_CLASS_OTHER] = XE_HW_ENGINE_GSCCS_MASK,
>>>>+        [XE_ENGINE_CLASS_COMPUTE] = XE_HW_ENGINE_CCS_MASK,
>>>>+};
>>>>+
>>>>+static void show_runtime(struct drm_printer *p, struct drm_file *file)
>>>>+{
>>>>+	struct xe_file *xef = file->driver_priv;
>>>>+	struct xe_device *xe = xef->xe;
>>>>+	struct xe_gt *gt;
>>>>+	struct xe_hw_engine *hwe;
>>>>+	struct xe_exec_queue *q;
>>>>+	unsigned long i, id_hwe, id_gt, capacity[XE_ENGINE_CLASS_MAX] = { };
>>>>+	u64 gpu_timestamp, engine_mask = 0;
>>>>+	bool gpu_stamp = false;
>>>>+
>>>>+	xe_pm_runtime_get(xe);
>>>>+
>>>>+	mutex_lock(&xef->exec_queue.lock);
>>>>+	xa_for_each(&xef->exec_queue.xa, i, q)
>>>>+		xe_exec_queue_update_runtime(q);
>>>>+	mutex_unlock(&xef->exec_queue.lock);
>>>>+
>>>>+	for_each_gt(gt, xe, id_gt)
>>>>+		engine_mask |= gt->info.engine_mask;
>>>>+
>>>>+	BUILD_BUG_ON(ARRAY_SIZE(class_to_mask) != XE_ENGINE_CLASS_MAX);
>>>>+	for (i = 0; i < XE_ENGINE_CLASS_MAX; i++)
>>>>+		capacity[i] = hweight64(engine_mask & class_to_mask[i]);
>>>>+
>>>>+	/*
>>>>+	 * Iterate over all engines, printing the accumulated
>>>>+	 * runtime for this xef per engine class
>>>>+	 */
>>>>+	for_each_gt(gt, xe, id_gt) {
>>>>+		xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
>>>>+		for_each_hw_engine(hwe, gt, id_hwe) {
>>>>+			const char *class_name;
>>>>+
>>>>+			if (!capacity[hwe->class])
>>>>+				continue;
>>>>+
>>>>+			/*
>>>>+			 * Use any (first) engine to have a timestamp to be used every
>>>>+			 * time
>>>>+			 */
>>>>+			if (!gpu_stamp) {
>>>
>>>gpu_stamp is not required if the intention is to read the 
>>>timestamp once per class (as per commit message) because you are 
>>>already setting capacity to 0 below.
>>
>>yeah... I think I changed my mind and forgot to update the commit
>>message.
>>
>>thanks
>>Lucas De Marchi
>>
>>>
>>>Umesh
>>>
>>>>+				gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
>>>>+				gpu_stamp = true;
>>>>+			}
>>>>+
>>>>+			class_name = xe_hw_engine_class_to_str(hwe->class);
>>>>+
>>>>+			drm_printf(p, "drm-engine-%s:\t%llu %llu ticks\n",
>>>>+				   class_name, gpu_timestamp,
>>>>+				   xef->runtime[hwe->class]);
>>>>+
>>>>+			if (capacity[hwe->class] > 1)
>>>>+				drm_printf(p, "drm-engine-capacity-%s:\t%lu\n",
>>>>+					   class_name, capacity[hwe->class]);
>>>>+
>>>>+			/* engine class already handled, skip next iterations */
>>>>+			capacity[hwe->class] = 0;
>>>>+		}
>>>>+		xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>>>>+	}
>>>>+
>>>>+	xe_pm_runtime_get(xe);
>>>>+}
>>>>+
>>>>/**
>>>>* xe_drm_client_fdinfo() - Callback for fdinfo interface
>>>>* @p: The drm_printer ptr
>>>>@@ -192,5 +270,6 @@ static void show_meminfo(struct drm_printer *p, struct drm_file *file)
>>>>void xe_drm_client_fdinfo(struct drm_printer *p, struct drm_file *file)
>>>>{
>>>>	show_meminfo(p, file);
>>>>+	show_runtime(p, file);
>>>>}
>>>>#endif
>>>>-- 
>>>>2.43.0
>>>>

^ permalink raw reply	[flat|nested] 46+ messages in thread

* RE: [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str()
  2024-04-16  9:36   ` Nirmoy Das
@ 2024-04-19 18:36     ` Zeng, Oak
  0 siblings, 0 replies; 46+ messages in thread
From: Zeng, Oak @ 2024-04-19 18:36 UTC (permalink / raw)
  To: Nirmoy Das, De Marchi, Lucas, intel-xe
  Cc: Nerlige Ramappa, Umesh, Tvrtko Ursulin

Reviewed-by: Oak Zeng <oak.zeng@intel.com>

> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of
> Nirmoy Das
> Sent: Tuesday, April 16, 2024 5:36 AM
> To: De Marchi, Lucas <lucas.demarchi@intel.com>; intel-
> xe@lists.freedesktop.org
> Cc: Nerlige Ramappa, Umesh <umesh.nerlige.ramappa@intel.com>; Tvrtko
> Ursulin <tursulin@ursulin.net>
> Subject: Re: [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str()
> 
> 
> On 4/16/2024 5:04 AM, Lucas De Marchi wrote:
> > Move it out of the sysfs compilation unit so it can be re-used in other
> > places.
> >
> > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
> > ---
> >   drivers/gpu/drm/xe/xe_hw_engine.c             | 18 ++++++++++++++++++
> >   drivers/gpu/drm/xe/xe_hw_engine.h             |  2 ++
> >   drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 18 ------------------
> >   3 files changed, 20 insertions(+), 18 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c
> b/drivers/gpu/drm/xe/xe_hw_engine.c
> > index a688bb2d96ce..8f72f324eee7 100644
> > --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> > +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> > @@ -959,3 +959,21 @@ bool xe_hw_engine_is_reserved(struct
> xe_hw_engine *hwe)
> >   	return xe->info.has_usm && hwe->class ==
> XE_ENGINE_CLASS_COPY &&
> >   		hwe->instance == gt->usm.reserved_bcs_instance;
> >   }
> > +
> > +const char *xe_hw_engine_class_to_str(enum xe_engine_class class)
> > +{
> > +	switch (class) {
> > +	case XE_ENGINE_CLASS_RENDER:
> > +		return "rcs";
> > +	case XE_ENGINE_CLASS_VIDEO_DECODE:
> > +		return "vcs";
> > +	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
> > +		return "vecs";
> > +	case XE_ENGINE_CLASS_COPY:
> > +		return "bcs";
> > +	case XE_ENGINE_CLASS_COMPUTE:
> > +		return "ccs";
> > +	default:
> > +		return NULL;
> > +	}
> > +}
> > diff --git a/drivers/gpu/drm/xe/xe_hw_engine.h
> b/drivers/gpu/drm/xe/xe_hw_engine.h
> > index 71968ee2f600..843de159e47c 100644
> > --- a/drivers/gpu/drm/xe/xe_hw_engine.h
> > +++ b/drivers/gpu/drm/xe/xe_hw_engine.h
> > @@ -67,4 +67,6 @@ static inline bool xe_hw_engine_is_valid(struct
> xe_hw_engine *hwe)
> >   	return hwe->name;
> >   }
> >
> > +const char *xe_hw_engine_class_to_str(enum xe_engine_class class);
> > +
> >   #endif
> > diff --git a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> > index c5084d94c442..4e9db6299c7c 100644
> > --- a/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> > +++ b/drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
> > @@ -624,24 +624,6 @@ static void hw_engine_class_sysfs_fini(struct
> drm_device *drm, void *arg)
> >   	kobject_put(kobj);
> >   }
> >
> > -static const char *xe_hw_engine_class_to_str(enum xe_engine_class
> class)
> > -{
> > -	switch (class) {
> > -	case XE_ENGINE_CLASS_RENDER:
> > -		return "rcs";
> > -	case XE_ENGINE_CLASS_VIDEO_DECODE:
> > -		return "vcs";
> > -	case XE_ENGINE_CLASS_VIDEO_ENHANCE:
> > -		return "vecs";
> > -	case XE_ENGINE_CLASS_COPY:
> > -		return "bcs";
> > -	case XE_ENGINE_CLASS_COMPUTE:
> > -		return "ccs";
> > -	default:
> > -		return NULL;
> > -	}
> > -}
> > -
> >   /**
> >    * xe_hw_engine_class_sysfs_init - Init HW engine classes on GT.
> >    * @gt: Xe GT.

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-19 10:44                   ` Tvrtko Ursulin
@ 2024-04-19 23:51                     ` Umesh Nerlige Ramappa
  2024-04-22 10:40                       ` Tvrtko Ursulin
  0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-19 23:51 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: Lucas De Marchi, intel-xe, Michal Wajdeczko

On Fri, Apr 19, 2024 at 11:44:46AM +0100, Tvrtko Ursulin wrote:
>
>On 18/04/2024 00:19, Lucas De Marchi wrote:
>>On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>>>On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>>>On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>>>
>>>>>On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>>>On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>>>
>>>>>>>On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>>>Forgot to Cc Michal, doing now.
>>>>>>>>
>>>>>>>>Lucas De Marchi
>>>>>>>>
>>>>>>>>On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>>>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>>
>>>>>>>>>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>>>Add per-client usage statistics to xe. This ports 
>>>>>>>>>>>xe to use the common
>>>>>>>>>>>method in drm to export the usage to userspace per 
>>>>>>>>>>>client (where 1
>>>>>>>>>>>client == 1 drm fd open).
>>>>>>>>>>>
>>>>>>>>>>>However insted of using the current format, this 
>>>>>>>>>>>creates a new one with
>>>>>>>>>>>the unit "ticks". The intention here is not to mix 
>>>>>>>>>>>the GPU clock domain
>>>>>>>>>>>with the CPU clock. It allows to cover a few more 
>>>>>>>>>>>use cases without
>>>>>>>>>>>extra complications.
>>>>>>>>>>>
>>>>>>>>>>>Last patch was a quick implemenation of a 
>>>>>>>>>>>gputop-like tool in python.
>>>>>>>>>>>I ended doing it to cross check the gputop 
>>>>>>>>>>>implementation. I's not
>>>>>>>>>>>really meant to be applied here.
>>>>>>>>>>>
>>>>>>>>>>>I tested this on DG2 and TGL with kmscube 
>>>>>>>>>>>(console-only) and vkcube
>>>>>>>>>>>(in a gnome session), but it would be good to soak 
>>>>>>>>>>>this under more
>>>>>>>>>>>tests. The biggest goal for this patch series right now is to get
>>>>>>>>>>>consensus on the new UAPI.
>>>>>>>>>>>
>>>>>>>>>>>TODO: Add documentation on top with the new interface.
>>>>>>>>>>
>>>>>>>>>>Yeah a drm-usage-stats.rst patch would be nice to 
>>>>>>>>>>have in the RFC so one does not have to look into 
>>>>>>>>>>the driver implementation to discuss the proposed 
>>>>>>>>>>uapi.
>>>>>>>>>>
>>>>>>>>>>Nevertheless I understand the proposal is to add this:
>>>>>>>>>>
>>>>>>>>>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>>>
>>>>>>>>>yes, the gputop patch was more explicit about this. 
>>>>>>>>>Should had added in
>>>>>>>>>the kernel patch series too.
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>That's two values per key. I guess "one key value 
>>>>>>>>>>pair for per one line of text" does not get strictly 
>>>>>>>>>>broken and that you propose a heuristics in parsing 
>>>>>>>>>>to detect that the <RUNTIME> cannot be 
>>>>>>>>>>mis-interpreted as the unit?
>>>>>>>>>
>>>>>>>>>the current format is
>>>>>>>>>
>>>>>>>>>    drm-engine-<class>: <RUNTIME> ns
>>>>>>>>>
>>>>>>>>>the "ns" in the end should be parsed by userspace to know
>>>>>>>>>what it is about.
>>>>>>>
>>>>>>>Right.
>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>Not sure it is a good idea though. If you instead 
>>>>>>>>>>added a new key for the gpu time what would be the 
>>>>>>>>>>downside in your view? Like:
>>>>>>>>>>
>>>>>>>>>>drm-engine-<class>: <uint> ticks
>>>>>>>>>>drm-ticks-<class>: <uint>
>>>>>>>>>>
>>>>>>>>>>Or maybe even obsfuscate/generalise as:
>>>>>>>>>>
>>>>>>>>>>drm-engine-<class>: <uint> gpu-time
>>>>>>>>>>drm-gpu-time-<class>: <uint>
>>>>>>>>>
>>>>>>>>>I think both work, but I fail to see the advantage. 
>>>>>>>>>This alternative is
>>>>>>>>>slightly heavier on the parsing side since you have to 
>>>>>>>>>correlate the
>>>>>>>>>values from 2 keys, possibly dealing with them 
>>>>>>>>>appearing in different
>>>>>>>>>order. The only possible breakage remains with this alternative: if
>>>>>>>>>userspace didn't parse the unit before. I checked 
>>>>>>>>>nvtop and htop and
>>>>>>>>>they were doing the right thing. I sent a fix to igt a 
>>>>>>>>>few weeks back
>>>>>>>>>for it to consider the unit:
>>>>>>>>>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>>>
>>>>>>>Advantages are that "drm-engine-something: 1234 5678 
>>>>>>>ticks" isn't self-explanatory (intuitively humanly 
>>>>>>>readable) and that it doesn't
>>>>>>
>>>>>>maybe I have a different expectation from procfs. When I do e.g.
>>>>>>
>>>>>># cat /proc/self/stat
>>>>>>3861283 (cat) R 3861233 3861283 3861231 34816 3861283 
>>>>>>4194304 90 0 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 
>>>>>>18446744073709551615 93979016876032 93979016892449 
>>>>>>140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 0 0 0 0 
>>>>>>93979016907440 93979016908904 93979037196288 140720658380605 
>>>>>>140720658380625 140720658380625 140720658382827 0
>>>>>>
>>>>>>it doesn't seem to me "intuitively humanly readable" was the first
>>>>>>concern for people adding files in procfs :)... I'd rather 
>>>>>>think "machine
>>>>>>readable" was more important.
>>>>>
>>>>>I think you are pushing the argument a bit now :) since IMO we 
>>>>>should evaluate drm-usage-stats.rst proposal more in the 
>>>>>context of drm-usage-stats and other fdinfo files, rather than 
>>>>>the whole of procfs. In other words if there isn't a strong 
>>>>>reason to regress this particular file lets not do it.
>>>>
>>>>:) I like pushing arguments if it helps revisit decisions (human vs
>>>>machine readable for things in procfs). I'm not
>>>>trying to push the 2 counter approaches though. I think other reasons
>>>>like discussed below are enough to consider the other keys.
>>>>
>>>>TBH I was reluctant at first to add a separate uapi rather than re-using
>>>>drm-engine- without realizing there was already a second one (not
>>>>implemented in gputop).
>>>>
>>>>So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>>>drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>>>
>>>>>
>>>>>>>diverge from the one value per key plus unit format. 
>>>>>>>Latter we would then document clearly.
>>>>>>>
>>>>>>>Different keys potentially appearing in different order 
>>>>>>>does not matter since userspace already has to handle 
>>>>>>>that.
>>>>>>>
>>>>>>>>>>Potentially could also add a key saying how much 
>>>>>>>>>>wall time is one unit of GPU time.
>>>>>>>>>
>>>>>>>>>I wouldn't add it really as it may not make sense depending on the
>>>>>>>>>vendor and or usage. Examples: the gpu time may be different for
>>>>>>>>>different engines depending on where they are located 
>>>>>>>>>(tile/gt). The
>>>>>>>>>correlation with CPU time is different when running in 
>>>>>>>>>VF mode, and may
>>>>>>>>>change in runtime depending on the number of VFs. +Michal.
>>>>>>>
>>>>>>>Yes, that's why I said "potentially", which was supposed 
>>>>>>>to mean if and where it makes sense and perhaps adds 
>>>>>>>value.
>>>>>>>
>>>>>>>>>Also, if the userspace side really wants to know (why would it?)
>>>>>>>>>it could be just calculate from 2 samples (possibly repeated a few
>>>>>>>>>times as it updates the output).
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>Or.. would even the existing drm-cycles, plus abuse 
>>>>>>>>>>of drm-maxfreq, work? Ticks == cycles, maxfreq == 
>>>>>>>>>>ticks per wall second.
>>>>>>>>>
>>>>>>>>>I think it'd be up to gpu vendor what clock backs this 
>>>>>>>>>time. For the
>>>>>>>>>current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>>>frequency.
>>>>>>>
>>>>>>>Right, but that doesn't matter. What I was saying is that 
>>>>>>>if you exposed ticks in drm-cycles and tick frequency in 
>>>>>>>drm-maxfreq it would even work, no? (Assuming support for 
>>>>>>>those two was actually in igt_drm_fdinfo/clients/gputop 
>>>>>>>and could be used as fallback to time based stats.)
>>>>>>
>>>>>>oh... I was looking at the output for i915 and missed that we had
>>>>>>drm-cycles as currently i915 doesn't use it. It seems to be a similar
>>>>>>thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>>>actually have support for that in gputop.
>>>>>>
>>>>>>So, instead of the 2 numbers + different unit, I can adapt this to
>>>>>>rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>>>what we need since it doesn't scale for VF. It brings back 
>>>>>>the cpu clock
>>>>>>domain this series is trying to avoid. The difference is that using
>>>>>>drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>>>(let me know if I interpreted the docs wrong):
>>>>>>
>>>>>>    s1 = sample()
>>>>>>    sleep(period)
>>>>>>    s2 = sample()
>>>>>>    engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) 
>>>>>>- (s1.drm_cycles * s1.drm_max_freq)) / period
>>>>>>
>>>>>>... considering the drm_max_freq may change from one call to 
>>>>>>the other.
>>>>>>if we simplify it and assume it doesn't change:
>>>>>>
>>>>>>    engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>>>>drm_max_freq) / period
>>>>>>
>>>>>>we'd need different drm_max_freq reported on VF driver that would need
>>>>>>to know the number of VFs enabled to scaled it correctly. 
>>>>>>Maybe this is
>>>>>>abusing the "drm-maxfreq" a little bit?
>>>>>
>>>>>Yes it would be bad if the observed VF GPU clock will be 
>>>>>variable since maxfreq is supposed to be static.
>>>>>
>>>>>So on VFs would reported GPU clock moves by the VF "used" quanta?
>>>>
>>>>s/used/available/. That's my understanding, yes. Each VF has a quanta
>>>>and the gpu clock moves according to that quanta.  Note that as I said,
>>>>this is not the case right now (we are just reading RING_TIMESTAMP), but
>>>>the intention is to have the UAPI side ready so it's already prepared
>>>>for that.
>>>>
>>>>>Where "used" is defined as time given by the GuC, not necessarily used
>>>>
>>>>s/used/available/ as above
>>>>
>>>>>GPU time. For instance 16ms quanta, VF GPU clock would move by 
>>>>>16ms if the GuC decides not to switch out the idle VF? Or it 
>>>>>could move by less than 16ms if it switched it out earlier.
>>>>
>>>>no, afaiu it's 16ms, not less. But the quanta depends on the number of
>>>>VFs enabled, which may change in runtime.
>>>>
>>>>I'm not 100% certain and people in Cc may correct me.
>>>>
>>>>>
>>>>>>What if we had
>>>>>>
>>>>>>drm-cycles-<keystr>: <uint>
>>>>>>drm-total-cycles-<keystr>: <uint>
>>>>>>
>>>>>>Then the utilization can be done:
>>>>>>
>>>>>>    s1 = sample()
>>>>>>    sleep(period)
>>>>>>    s2 = sample()
>>>>>>    engine_utilization = (s2.cycles - s1.cycles) / \
>>>>>>                 (s2.total_cycles - s1.total_cycles + 1);
>>>>>>
>>>>>>Capacity still to be added above, but we'd need to clarify if
>>>>>>drm-total-cycles-<keystr> already accounts for it.
>>>>>>
>>>>>>Here instead of the conversion to cpu clock, I'm expecting to read
>>>>>>"total_cycles" from HW and that being different (slower) for VF.
>>>>>>AFAICS this is not the case with this current polling implementation
>>>>>>since we are simply reading the RING_TIMESTAMP, but there are planned
>>>>>>changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>>>
>>>>>I think this works and is clean.
>>>>>
>>>>>Although I have some doubts about the usefulness on VFs, if 
>>>>>the clock movements are at the mercy of the GuC scheduler. 
>>>>>Like what does 100% mean for a VF? Maybe it was full quanta, 
>>>>>or maybe it was half a quanta if GuC decided to switch it out 
>>>>>early, either due going idle or due some other scheduling 
>>>>>decision.
>>>>
>>>>in the scenario you described above the quanta could change according to
>>>>the scheduler and 100% wouldn't mean much. That's not my understanding.
>>>>100% always mean the VF used all the allocated time. I see this line
>>>>potentially getting blurred a little bit if the scheduler tries to
>>>>maximize the HW usage and distribute quanta unevenly, but I think the
>>>>interface already contemplates that.
>>>>
>>>>Another case is the VF not being able to reach 100% because the PF is
>>>>submitting high prio work. But I still think the current interface is
>>>>sufficient and it's the implementation by GuC/HW that could be improved
>>>>(e.g. adapting the gpu time reported).
>>>>
>>>>Michal / Umesh, please chime in if that is not accurate.
>>>>
>>>
>>>Irrespective of how much quanta a VF used, all calculations will 
>>>be based on the quanta that it was allocated. That way the VF 
>>>would know that it could have better utilized the allotted time if 
>>>busyness is less than 100. This does result in more than 100% 
>>>usage for a VF that was resource hungry and scheduling policies 
>>>allowed it to run more than the allotted quanta, but this is a 
>>>known limitation of the solution provided by GuC. When looking at 
>>>the overall system (say from a PF), the usage should still add up 
>>>to 100%.
>>>
>>>>
>>>>Thinking out loud: IFF the execution quanta is available for VF to query
>>>
>>>For the VF, GuC intends to provide a factor that can be used to 
>>>scale the wall time and deduce the VF quanta. This scaled value is 
>>>used as the second counter in a VF.
>>>>and we are ok with just scaling drm-maxfreq, then maybe we could even
>>>>just use the current interface instead of adding a third one. Although
>>>>it could be confusing to have a that freq changing.
>>>
>>>Assuming you are talking about using the drm-cycles and 
>>>drm-max-freq. One of the concerns when supporting VFs was that we 
>>>cannot actually export busyness in absolute time units to the user 
>>>because the GPU is shared across VFs. If we scale the busyness 
>>>such that it is stretched across CPU time, then it helps get the 
>>>right busyness % relative to CPU time, but the value of busyness 
>>>in time units itself is false. This was the primary reason to use 
>>>2 "unitless" counters.
>>>
>>>fwiu, I think by using the drm-maxfreq, you are going to bring the 
>>>same concept back in the discussion - exporting busyness in time 
>>>units. Not sure if that's a good idea. Let me know if I got that 
>>>wrong.
>>
>>no, but I think it would still work if we can scale the freq according to
>>the quanta.  But that's probably abusing the interface.
>>
>>Anyway I think we are settling on
>>
>>     drm-cycles-<engineclass>
>>     drm-total-cycles-<engineclass>
>>
>>so I will start changing the patches and igt while checking this for
>>more feedback if any.
>Another option came to mind - expose a quanta ratio as a new key. 
>Given it has no security implications and is to be used only for 
>calculating real VFs GPU utilisation. Like:
>
>drm-engine-*: <uint> ns
>drm-engine-time-ratio-*: <float>
>
>Unit would be a ratio of time over quanta, for instance 1000ms / 100ms 
>= 10. Which would mean scale down reported time by 10 when comparing 
>against wall time.
>
>New key would only appear on VFs. Otherwise assumed 1.
>
>Or could be avoided per engine and just have single global:
>
>drm-gpu-time-ratio: <float>
>
>Am I missing something or that could work? It would have the same 
>problem as above mentioned "could go over 100%" is one. I mean this 
>comment:

I am hesitant to expose the quanta ratio at this level. We get that from 
GuC and that interface could potentially change. If that happens, I'd 
prefer that the uApi is unaffected.

>
>"""
>Irrespective of how much quanta a VF used, all calculations will be
>based on the quanta that it was allocated.
>...
>This does result in more than 100% usage for a VF that
>was resource hungry and scheduling policies allowed it to run more
>than the allotted quanta,
>"""
>
>I read that as total-ticks would never be reported as above the 
>configure quanta - always equal.

Correct

>Maybe I misunderstood?
>
>Second topic - are there any plans to allow the PF to monitor VF GPU 
>utilisation? That wouldn't work via fdinfo aggregation since VF 
>clients will not be visibible in a PF. But it sounds like a basic and 
>important use case.

wip. Engine utilization will be available per-VF from PF.

Regards,
Umesh
>
>Regards,
>
>Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-19 23:51                     ` Umesh Nerlige Ramappa
@ 2024-04-22 10:40                       ` Tvrtko Ursulin
  2024-04-22 17:17                         ` Umesh Nerlige Ramappa
  0 siblings, 1 reply; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-22 10:40 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: Lucas De Marchi, intel-xe, Michal Wajdeczko


On 20/04/2024 00:51, Umesh Nerlige Ramappa wrote:
> On Fri, Apr 19, 2024 at 11:44:46AM +0100, Tvrtko Ursulin wrote:
>>
>> On 18/04/2024 00:19, Lucas De Marchi wrote:
>>> On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>>>> On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>>>> On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>>>>
>>>>>> On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>>>> On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>>>>
>>>>>>>> On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>>>> Forgot to Cc Michal, doing now.
>>>>>>>>>
>>>>>>>>> Lucas De Marchi
>>>>>>>>>
>>>>>>>>> On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>>>> On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>>>
>>>>>>>>>>> On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>>>> Add per-client usage statistics to xe. This ports xe to use 
>>>>>>>>>>>> the common
>>>>>>>>>>>> method in drm to export the usage to userspace per client 
>>>>>>>>>>>> (where 1
>>>>>>>>>>>> client == 1 drm fd open).
>>>>>>>>>>>>
>>>>>>>>>>>> However insted of using the current format, this creates a 
>>>>>>>>>>>> new one with
>>>>>>>>>>>> the unit "ticks". The intention here is not to mix the GPU 
>>>>>>>>>>>> clock domain
>>>>>>>>>>>> with the CPU clock. It allows to cover a few more use cases 
>>>>>>>>>>>> without
>>>>>>>>>>>> extra complications.
>>>>>>>>>>>>
>>>>>>>>>>>> Last patch was a quick implemenation of a gputop-like tool 
>>>>>>>>>>>> in python.
>>>>>>>>>>>> I ended doing it to cross check the gputop implementation. 
>>>>>>>>>>>> I's not
>>>>>>>>>>>> really meant to be applied here.
>>>>>>>>>>>>
>>>>>>>>>>>> I tested this on DG2 and TGL with kmscube (console-only) and 
>>>>>>>>>>>> vkcube
>>>>>>>>>>>> (in a gnome session), but it would be good to soak this 
>>>>>>>>>>>> under more
>>>>>>>>>>>> tests. The biggest goal for this patch series right now is 
>>>>>>>>>>>> to get
>>>>>>>>>>>> consensus on the new UAPI.
>>>>>>>>>>>>
>>>>>>>>>>>> TODO: Add documentation on top with the new interface.
>>>>>>>>>>>
>>>>>>>>>>> Yeah a drm-usage-stats.rst patch would be nice to have in the 
>>>>>>>>>>> RFC so one does not have to look into the driver 
>>>>>>>>>>> implementation to discuss the proposed uapi.
>>>>>>>>>>>
>>>>>>>>>>> Nevertheless I understand the proposal is to add this:
>>>>>>>>>>>
>>>>>>>>>>> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>>>>
>>>>>>>>>> yes, the gputop patch was more explicit about this. Should had 
>>>>>>>>>> added in
>>>>>>>>>> the kernel patch series too.
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> That's two values per key. I guess "one key value pair for 
>>>>>>>>>>> per one line of text" does not get strictly broken and that 
>>>>>>>>>>> you propose a heuristics in parsing to detect that the 
>>>>>>>>>>> <RUNTIME> cannot be mis-interpreted as the unit?
>>>>>>>>>>
>>>>>>>>>> the current format is
>>>>>>>>>>
>>>>>>>>>>     drm-engine-<class>: <RUNTIME> ns
>>>>>>>>>>
>>>>>>>>>> the "ns" in the end should be parsed by userspace to know
>>>>>>>>>> what it is about.
>>>>>>>>
>>>>>>>> Right.
>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Not sure it is a good idea though. If you instead added a new 
>>>>>>>>>>> key for the gpu time what would be the downside in your view? 
>>>>>>>>>>> Like:
>>>>>>>>>>>
>>>>>>>>>>> drm-engine-<class>: <uint> ticks
>>>>>>>>>>> drm-ticks-<class>: <uint>
>>>>>>>>>>>
>>>>>>>>>>> Or maybe even obsfuscate/generalise as:
>>>>>>>>>>>
>>>>>>>>>>> drm-engine-<class>: <uint> gpu-time
>>>>>>>>>>> drm-gpu-time-<class>: <uint>
>>>>>>>>>>
>>>>>>>>>> I think both work, but I fail to see the advantage. This 
>>>>>>>>>> alternative is
>>>>>>>>>> slightly heavier on the parsing side since you have to 
>>>>>>>>>> correlate the
>>>>>>>>>> values from 2 keys, possibly dealing with them appearing in 
>>>>>>>>>> different
>>>>>>>>>> order. The only possible breakage remains with this 
>>>>>>>>>> alternative: if
>>>>>>>>>> userspace didn't parse the unit before. I checked nvtop and 
>>>>>>>>>> htop and
>>>>>>>>>> they were doing the right thing. I sent a fix to igt a few 
>>>>>>>>>> weeks back
>>>>>>>>>> for it to consider the unit:
>>>>>>>>>> https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>>>>
>>>>>>>> Advantages are that "drm-engine-something: 1234 5678 ticks" 
>>>>>>>> isn't self-explanatory (intuitively humanly readable) and that 
>>>>>>>> it doesn't
>>>>>>>
>>>>>>> maybe I have a different expectation from procfs. When I do e.g.
>>>>>>>
>>>>>>> # cat /proc/self/stat
>>>>>>> 3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 90 
>>>>>>> 0 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 
>>>>>>> 18446744073709551615 93979016876032 93979016892449 
>>>>>>> 140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 0 0 0 0 93979016907440 
>>>>>>> 93979016908904 93979037196288 140720658380605 140720658380625 
>>>>>>> 140720658380625 140720658382827 0
>>>>>>>
>>>>>>> it doesn't seem to me "intuitively humanly readable" was the first
>>>>>>> concern for people adding files in procfs :)... I'd rather think 
>>>>>>> "machine
>>>>>>> readable" was more important.
>>>>>>
>>>>>> I think you are pushing the argument a bit now :) since IMO we 
>>>>>> should evaluate drm-usage-stats.rst proposal more in the context 
>>>>>> of drm-usage-stats and other fdinfo files, rather than the whole 
>>>>>> of procfs. In other words if there isn't a strong reason to 
>>>>>> regress this particular file lets not do it.
>>>>>
>>>>> :) I like pushing arguments if it helps revisit decisions (human vs
>>>>> machine readable for things in procfs). I'm not
>>>>> trying to push the 2 counter approaches though. I think other reasons
>>>>> like discussed below are enough to consider the other keys.
>>>>>
>>>>> TBH I was reluctant at first to add a separate uapi rather than 
>>>>> re-using
>>>>> drm-engine- without realizing there was already a second one (not
>>>>> implemented in gputop).
>>>>>
>>>>> So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>>>> drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>>>>
>>>>>>
>>>>>>>> diverge from the one value per key plus unit format. Latter we 
>>>>>>>> would then document clearly.
>>>>>>>>
>>>>>>>> Different keys potentially appearing in different order does not 
>>>>>>>> matter since userspace already has to handle that.
>>>>>>>>
>>>>>>>>>>> Potentially could also add a key saying how much wall time is 
>>>>>>>>>>> one unit of GPU time.
>>>>>>>>>>
>>>>>>>>>> I wouldn't add it really as it may not make sense depending on 
>>>>>>>>>> the
>>>>>>>>>> vendor and or usage. Examples: the gpu time may be different for
>>>>>>>>>> different engines depending on where they are located 
>>>>>>>>>> (tile/gt). The
>>>>>>>>>> correlation with CPU time is different when running in VF 
>>>>>>>>>> mode, and may
>>>>>>>>>> change in runtime depending on the number of VFs. +Michal.
>>>>>>>>
>>>>>>>> Yes, that's why I said "potentially", which was supposed to mean 
>>>>>>>> if and where it makes sense and perhaps adds value.
>>>>>>>>
>>>>>>>>>> Also, if the userspace side really wants to know (why would it?)
>>>>>>>>>> it could be just calculate from 2 samples (possibly repeated a 
>>>>>>>>>> few
>>>>>>>>>> times as it updates the output).
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>>>>>> drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per wall 
>>>>>>>>>>> second.
>>>>>>>>>>
>>>>>>>>>> I think it'd be up to gpu vendor what clock backs this time. 
>>>>>>>>>> For the
>>>>>>>>>> current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>>>> frequency.
>>>>>>>>
>>>>>>>> Right, but that doesn't matter. What I was saying is that if you 
>>>>>>>> exposed ticks in drm-cycles and tick frequency in drm-maxfreq it 
>>>>>>>> would even work, no? (Assuming support for those two was 
>>>>>>>> actually in igt_drm_fdinfo/clients/gputop and could be used as 
>>>>>>>> fallback to time based stats.)
>>>>>>>
>>>>>>> oh... I was looking at the output for i915 and missed that we had
>>>>>>> drm-cycles as currently i915 doesn't use it. It seems to be a 
>>>>>>> similar
>>>>>>> thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>>>> actually have support for that in gputop.
>>>>>>>
>>>>>>> So, instead of the 2 numbers + different unit, I can adapt this to
>>>>>>> rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>>>> what we need since it doesn't scale for VF. It brings back the 
>>>>>>> cpu clock
>>>>>>> domain this series is trying to avoid. The difference is that using
>>>>>>> drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>>>> (let me know if I interpreted the docs wrong):
>>>>>>>
>>>>>>>     s1 = sample()
>>>>>>>     sleep(period)
>>>>>>>     s2 = sample()
>>>>>>>     engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>>>>>> (s1.drm_cycles * s1.drm_max_freq)) / period
>>>>>>>
>>>>>>> ... considering the drm_max_freq may change from one call to the 
>>>>>>> other.
>>>>>>> if we simplify it and assume it doesn't change:
>>>>>>>
>>>>>>>     engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>>>>> drm_max_freq) / period
>>>>>>>
>>>>>>> we'd need different drm_max_freq reported on VF driver that would 
>>>>>>> need
>>>>>>> to know the number of VFs enabled to scaled it correctly. Maybe 
>>>>>>> this is
>>>>>>> abusing the "drm-maxfreq" a little bit?
>>>>>>
>>>>>> Yes it would be bad if the observed VF GPU clock will be variable 
>>>>>> since maxfreq is supposed to be static.
>>>>>>
>>>>>> So on VFs would reported GPU clock moves by the VF "used" quanta?
>>>>>
>>>>> s/used/available/. That's my understanding, yes. Each VF has a quanta
>>>>> and the gpu clock moves according to that quanta.  Note that as I 
>>>>> said,
>>>>> this is not the case right now (we are just reading 
>>>>> RING_TIMESTAMP), but
>>>>> the intention is to have the UAPI side ready so it's already prepared
>>>>> for that.
>>>>>
>>>>>> Where "used" is defined as time given by the GuC, not necessarily 
>>>>>> used
>>>>>
>>>>> s/used/available/ as above
>>>>>
>>>>>> GPU time. For instance 16ms quanta, VF GPU clock would move by 
>>>>>> 16ms if the GuC decides not to switch out the idle VF? Or it could 
>>>>>> move by less than 16ms if it switched it out earlier.
>>>>>
>>>>> no, afaiu it's 16ms, not less. But the quanta depends on the number of
>>>>> VFs enabled, which may change in runtime.
>>>>>
>>>>> I'm not 100% certain and people in Cc may correct me.
>>>>>
>>>>>>
>>>>>>> What if we had
>>>>>>>
>>>>>>> drm-cycles-<keystr>: <uint>
>>>>>>> drm-total-cycles-<keystr>: <uint>
>>>>>>>
>>>>>>> Then the utilization can be done:
>>>>>>>
>>>>>>>     s1 = sample()
>>>>>>>     sleep(period)
>>>>>>>     s2 = sample()
>>>>>>>     engine_utilization = (s2.cycles - s1.cycles) / \
>>>>>>>                  (s2.total_cycles - s1.total_cycles + 1);
>>>>>>>
>>>>>>> Capacity still to be added above, but we'd need to clarify if
>>>>>>> drm-total-cycles-<keystr> already accounts for it.
>>>>>>>
>>>>>>> Here instead of the conversion to cpu clock, I'm expecting to read
>>>>>>> "total_cycles" from HW and that being different (slower) for VF.
>>>>>>> AFAICS this is not the case with this current polling implementation
>>>>>>> since we are simply reading the RING_TIMESTAMP, but there are 
>>>>>>> planned
>>>>>>> changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>>>>
>>>>>> I think this works and is clean.
>>>>>>
>>>>>> Although I have some doubts about the usefulness on VFs, if the 
>>>>>> clock movements are at the mercy of the GuC scheduler. Like what 
>>>>>> does 100% mean for a VF? Maybe it was full quanta, or maybe it was 
>>>>>> half a quanta if GuC decided to switch it out early, either due 
>>>>>> going idle or due some other scheduling decision.
>>>>>
>>>>> in the scenario you described above the quanta could change 
>>>>> according to
>>>>> the scheduler and 100% wouldn't mean much. That's not my 
>>>>> understanding.
>>>>> 100% always mean the VF used all the allocated time. I see this line
>>>>> potentially getting blurred a little bit if the scheduler tries to
>>>>> maximize the HW usage and distribute quanta unevenly, but I think the
>>>>> interface already contemplates that.
>>>>>
>>>>> Another case is the VF not being able to reach 100% because the PF is
>>>>> submitting high prio work. But I still think the current interface is
>>>>> sufficient and it's the implementation by GuC/HW that could be 
>>>>> improved
>>>>> (e.g. adapting the gpu time reported).
>>>>>
>>>>> Michal / Umesh, please chime in if that is not accurate.
>>>>>
>>>>
>>>> Irrespective of how much quanta a VF used, all calculations will be 
>>>> based on the quanta that it was allocated. That way the VF would 
>>>> know that it could have better utilized the allotted time if 
>>>> busyness is less than 100. This does result in more than 100% usage 
>>>> for a VF that was resource hungry and scheduling policies allowed it 
>>>> to run more than the allotted quanta, but this is a known limitation 
>>>> of the solution provided by GuC. When looking at the overall system 
>>>> (say from a PF), the usage should still add up to 100%.
>>>>
>>>>>
>>>>> Thinking out loud: IFF the execution quanta is available for VF to 
>>>>> query
>>>>
>>>> For the VF, GuC intends to provide a factor that can be used to 
>>>> scale the wall time and deduce the VF quanta. This scaled value is 
>>>> used as the second counter in a VF.
>>>>> and we are ok with just scaling drm-maxfreq, then maybe we could even
>>>>> just use the current interface instead of adding a third one. Although
>>>>> it could be confusing to have a that freq changing.
>>>>
>>>> Assuming you are talking about using the drm-cycles and 
>>>> drm-max-freq. One of the concerns when supporting VFs was that we 
>>>> cannot actually export busyness in absolute time units to the user 
>>>> because the GPU is shared across VFs. If we scale the busyness such 
>>>> that it is stretched across CPU time, then it helps get the right 
>>>> busyness % relative to CPU time, but the value of busyness in time 
>>>> units itself is false. This was the primary reason to use 2 
>>>> "unitless" counters.
>>>>
>>>> fwiu, I think by using the drm-maxfreq, you are going to bring the 
>>>> same concept back in the discussion - exporting busyness in time 
>>>> units. Not sure if that's a good idea. Let me know if I got that wrong.
>>>
>>> no, but I think it would still work if we can scale the freq 
>>> according to
>>> the quanta.  But that's probably abusing the interface.
>>>
>>> Anyway I think we are settling on
>>>
>>>     drm-cycles-<engineclass>
>>>     drm-total-cycles-<engineclass>
>>>
>>> so I will start changing the patches and igt while checking this for
>>> more feedback if any.
>> Another option came to mind - expose a quanta ratio as a new key. 
>> Given it has no security implications and is to be used only for 
>> calculating real VFs GPU utilisation. Like:
>>
>> drm-engine-*: <uint> ns
>> drm-engine-time-ratio-*: <float>
>>
>> Unit would be a ratio of time over quanta, for instance 1000ms / 100ms 
>> = 10. Which would mean scale down reported time by 10 when comparing 
>> against wall time.
>>
>> New key would only appear on VFs. Otherwise assumed 1.
>>
>> Or could be avoided per engine and just have single global:
>>
>> drm-gpu-time-ratio: <float>
>>
>> Am I missing something or that could work? It would have the same 
>> problem as above mentioned "could go over 100%" is one. I mean this 
>> comment:
> 
> I am hesitant to expose the quanta ratio at this level. We get that from 
> GuC and that interface could potentially change. If that happens, I'd 
> prefer that the uApi is unaffected.

FWIW this idea was simply a time scale factor and I don't think it 
should have a connection to any GuC implementation details. In other 
words the observable result of time*scale/elapsed-time vs 
ticks/total-ticks should be the same. At least with the semantics that 
were discussed in this thread.

>>
>> """
>> Irrespective of how much quanta a VF used, all calculations will be
>> based on the quanta that it was allocated.
>> ...
>> This does result in more than 100% usage for a VF that
>> was resource hungry and scheduling policies allowed it to run more
>> than the allotted quanta,
>> """
>>
>> I read that as total-ticks would never be reported as above the 
>> configure quanta - always equal.
> 
> Correct
> 
>> Maybe I misunderstood?
>>
>> Second topic - are there any plans to allow the PF to monitor VF GPU 
>> utilisation? That wouldn't work via fdinfo aggregation since VF 
>> clients will not be visibible in a PF. But it sounds like a basic and 
>> important use case.
> 
> wip. Engine utilization will be available per-VF from PF.

How it will be exposed out of curiosity?

Regards,

Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-22 10:40                       ` Tvrtko Ursulin
@ 2024-04-22 17:17                         ` Umesh Nerlige Ramappa
  2024-04-23  8:44                           ` Tvrtko Ursulin
  0 siblings, 1 reply; 46+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-04-22 17:17 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: Lucas De Marchi, intel-xe, Michal Wajdeczko

On Mon, Apr 22, 2024 at 11:40:33AM +0100, Tvrtko Ursulin wrote:
>
>On 20/04/2024 00:51, Umesh Nerlige Ramappa wrote:
>>On Fri, Apr 19, 2024 at 11:44:46AM +0100, Tvrtko Ursulin wrote:
>>>
>>>On 18/04/2024 00:19, Lucas De Marchi wrote:
>>>>On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>>>>>On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>>>>>On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>>>>>
>>>>>>>On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>>>>>On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>
>>>>>>>>>On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>>>>>Forgot to Cc Michal, doing now.
>>>>>>>>>>
>>>>>>>>>>Lucas De Marchi
>>>>>>>>>>
>>>>>>>>>>On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>>>>>On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>>>>>Add per-client usage statistics to xe. This 
>>>>>>>>>>>>>ports xe to use the common
>>>>>>>>>>>>>method in drm to export the usage to userspace 
>>>>>>>>>>>>>per client (where 1
>>>>>>>>>>>>>client == 1 drm fd open).
>>>>>>>>>>>>>
>>>>>>>>>>>>>However insted of using the current format, 
>>>>>>>>>>>>>this creates a new one with
>>>>>>>>>>>>>the unit "ticks". The intention here is not to 
>>>>>>>>>>>>>mix the GPU clock domain
>>>>>>>>>>>>>with the CPU clock. It allows to cover a few 
>>>>>>>>>>>>>more use cases without
>>>>>>>>>>>>>extra complications.
>>>>>>>>>>>>>
>>>>>>>>>>>>>Last patch was a quick implemenation of a 
>>>>>>>>>>>>>gputop-like tool in python.
>>>>>>>>>>>>>I ended doing it to cross check the gputop 
>>>>>>>>>>>>>implementation. I's not
>>>>>>>>>>>>>really meant to be applied here.
>>>>>>>>>>>>>
>>>>>>>>>>>>>I tested this on DG2 and TGL with kmscube 
>>>>>>>>>>>>>(console-only) and vkcube
>>>>>>>>>>>>>(in a gnome session), but it would be good to 
>>>>>>>>>>>>>soak this under more
>>>>>>>>>>>>>tests. The biggest goal for this patch series 
>>>>>>>>>>>>>right now is to get
>>>>>>>>>>>>>consensus on the new UAPI.
>>>>>>>>>>>>>
>>>>>>>>>>>>>TODO: Add documentation on top with the new interface.
>>>>>>>>>>>>
>>>>>>>>>>>>Yeah a drm-usage-stats.rst patch would be nice 
>>>>>>>>>>>>to have in the RFC so one does not have to look 
>>>>>>>>>>>>into the driver implementation to discuss the 
>>>>>>>>>>>>proposed uapi.
>>>>>>>>>>>>
>>>>>>>>>>>>Nevertheless I understand the proposal is to add this:
>>>>>>>>>>>>
>>>>>>>>>>>>drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>>>>>
>>>>>>>>>>>yes, the gputop patch was more explicit about 
>>>>>>>>>>>this. Should had added in
>>>>>>>>>>>the kernel patch series too.
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>That's two values per key. I guess "one key 
>>>>>>>>>>>>value pair for per one line of text" does not 
>>>>>>>>>>>>get strictly broken and that you propose a 
>>>>>>>>>>>>heuristics in parsing to detect that the 
>>>>>>>>>>>><RUNTIME> cannot be mis-interpreted as the unit?
>>>>>>>>>>>
>>>>>>>>>>>the current format is
>>>>>>>>>>>
>>>>>>>>>>>    drm-engine-<class>: <RUNTIME> ns
>>>>>>>>>>>
>>>>>>>>>>>the "ns" in the end should be parsed by userspace to know
>>>>>>>>>>>what it is about.
>>>>>>>>>
>>>>>>>>>Right.
>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>Not sure it is a good idea though. If you 
>>>>>>>>>>>>instead added a new key for the gpu time what 
>>>>>>>>>>>>would be the downside in your view? Like:
>>>>>>>>>>>>
>>>>>>>>>>>>drm-engine-<class>: <uint> ticks
>>>>>>>>>>>>drm-ticks-<class>: <uint>
>>>>>>>>>>>>
>>>>>>>>>>>>Or maybe even obsfuscate/generalise as:
>>>>>>>>>>>>
>>>>>>>>>>>>drm-engine-<class>: <uint> gpu-time
>>>>>>>>>>>>drm-gpu-time-<class>: <uint>
>>>>>>>>>>>
>>>>>>>>>>>I think both work, but I fail to see the 
>>>>>>>>>>>advantage. This alternative is
>>>>>>>>>>>slightly heavier on the parsing side since you 
>>>>>>>>>>>have to correlate the
>>>>>>>>>>>values from 2 keys, possibly dealing with them 
>>>>>>>>>>>appearing in different
>>>>>>>>>>>order. The only possible breakage remains with 
>>>>>>>>>>>this alternative: if
>>>>>>>>>>>userspace didn't parse the unit before. I checked 
>>>>>>>>>>>nvtop and htop and
>>>>>>>>>>>they were doing the right thing. I sent a fix to 
>>>>>>>>>>>igt a few weeks back
>>>>>>>>>>>for it to consider the unit:
>>>>>>>>>>>https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>>>>>
>>>>>>>>>Advantages are that "drm-engine-something: 1234 5678 
>>>>>>>>>ticks" isn't self-explanatory (intuitively humanly 
>>>>>>>>>readable) and that it doesn't
>>>>>>>>
>>>>>>>>maybe I have a different expectation from procfs. When I do e.g.
>>>>>>>>
>>>>>>>># cat /proc/self/stat
>>>>>>>>3861283 (cat) R 3861233 3861283 3861231 34816 3861283 
>>>>>>>>4194304 90 0 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 
>>>>>>>>18446744073709551615 93979016876032 93979016892449 
>>>>>>>>140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 0 0 0 0 
>>>>>>>>93979016907440 93979016908904 93979037196288 
>>>>>>>>140720658380605 140720658380625 140720658380625 
>>>>>>>>140720658382827 0
>>>>>>>>
>>>>>>>>it doesn't seem to me "intuitively humanly readable" was the first
>>>>>>>>concern for people adding files in procfs :)... I'd 
>>>>>>>>rather think "machine
>>>>>>>>readable" was more important.
>>>>>>>
>>>>>>>I think you are pushing the argument a bit now :) since 
>>>>>>>IMO we should evaluate drm-usage-stats.rst proposal more 
>>>>>>>in the context of drm-usage-stats and other fdinfo files, 
>>>>>>>rather than the whole of procfs. In other words if there 
>>>>>>>isn't a strong reason to regress this particular file lets 
>>>>>>>not do it.
>>>>>>
>>>>>>:) I like pushing arguments if it helps revisit decisions (human vs
>>>>>>machine readable for things in procfs). I'm not
>>>>>>trying to push the 2 counter approaches though. I think other reasons
>>>>>>like discussed below are enough to consider the other keys.
>>>>>>
>>>>>>TBH I was reluctant at first to add a separate uapi rather 
>>>>>>than re-using
>>>>>>drm-engine- without realizing there was already a second one (not
>>>>>>implemented in gputop).
>>>>>>
>>>>>>So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>>>>>drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>>>>>
>>>>>>>
>>>>>>>>>diverge from the one value per key plus unit format. 
>>>>>>>>>Latter we would then document clearly.
>>>>>>>>>
>>>>>>>>>Different keys potentially appearing in different 
>>>>>>>>>order does not matter since userspace already has to 
>>>>>>>>>handle that.
>>>>>>>>>
>>>>>>>>>>>>Potentially could also add a key saying how much 
>>>>>>>>>>>>wall time is one unit of GPU time.
>>>>>>>>>>>
>>>>>>>>>>>I wouldn't add it really as it may not make sense 
>>>>>>>>>>>depending on the
>>>>>>>>>>>vendor and or usage. Examples: the gpu time may be different for
>>>>>>>>>>>different engines depending on where they are 
>>>>>>>>>>>located (tile/gt). The
>>>>>>>>>>>correlation with CPU time is different when 
>>>>>>>>>>>running in VF mode, and may
>>>>>>>>>>>change in runtime depending on the number of VFs. +Michal.
>>>>>>>>>
>>>>>>>>>Yes, that's why I said "potentially", which was 
>>>>>>>>>supposed to mean if and where it makes sense and 
>>>>>>>>>perhaps adds value.
>>>>>>>>>
>>>>>>>>>>>Also, if the userspace side really wants to know (why would it?)
>>>>>>>>>>>it could be just calculate from 2 samples 
>>>>>>>>>>>(possibly repeated a few
>>>>>>>>>>>times as it updates the output).
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>Or.. would even the existing drm-cycles, plus 
>>>>>>>>>>>>abuse of drm-maxfreq, work? Ticks == cycles, 
>>>>>>>>>>>>maxfreq == ticks per wall second.
>>>>>>>>>>>
>>>>>>>>>>>I think it'd be up to gpu vendor what clock backs 
>>>>>>>>>>>this time. For the
>>>>>>>>>>>current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>>>>>frequency.
>>>>>>>>>
>>>>>>>>>Right, but that doesn't matter. What I was saying is 
>>>>>>>>>that if you exposed ticks in drm-cycles and tick 
>>>>>>>>>frequency in drm-maxfreq it would even work, no? 
>>>>>>>>>(Assuming support for those two was actually in 
>>>>>>>>>igt_drm_fdinfo/clients/gputop and could be used as 
>>>>>>>>>fallback to time based stats.)
>>>>>>>>
>>>>>>>>oh... I was looking at the output for i915 and missed that we had
>>>>>>>>drm-cycles as currently i915 doesn't use it. It seems to 
>>>>>>>>be a similar
>>>>>>>>thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>>>>>actually have support for that in gputop.
>>>>>>>>
>>>>>>>>So, instead of the 2 numbers + different unit, I can adapt this to
>>>>>>>>rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>>>>>what we need since it doesn't scale for VF. It brings 
>>>>>>>>back the cpu clock
>>>>>>>>domain this series is trying to avoid. The difference is that using
>>>>>>>>drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>>>>>(let me know if I interpreted the docs wrong):
>>>>>>>>
>>>>>>>>    s1 = sample()
>>>>>>>>    sleep(period)
>>>>>>>>    s2 = sample()
>>>>>>>>    engine_utilization = ((s2.drm_cycles * 
>>>>>>>>s2.drm_max_freq) - (s1.drm_cycles * s1.drm_max_freq)) / 
>>>>>>>>period
>>>>>>>>
>>>>>>>>... considering the drm_max_freq may change from one 
>>>>>>>>call to the other.
>>>>>>>>if we simplify it and assume it doesn't change:
>>>>>>>>
>>>>>>>>    engine_utilization = ((s2.drm_cycles - 
>>>>>>>>s1.drm_cycles) * drm_max_freq) / period
>>>>>>>>
>>>>>>>>we'd need different drm_max_freq reported on VF driver 
>>>>>>>>that would need
>>>>>>>>to know the number of VFs enabled to scaled it 
>>>>>>>>correctly. Maybe this is
>>>>>>>>abusing the "drm-maxfreq" a little bit?
>>>>>>>
>>>>>>>Yes it would be bad if the observed VF GPU clock will be 
>>>>>>>variable since maxfreq is supposed to be static.
>>>>>>>
>>>>>>>So on VFs would reported GPU clock moves by the VF "used" quanta?
>>>>>>
>>>>>>s/used/available/. That's my understanding, yes. Each VF has a quanta
>>>>>>and the gpu clock moves according to that quanta.  Note that 
>>>>>>as I said,
>>>>>>this is not the case right now (we are just reading 
>>>>>>RING_TIMESTAMP), but
>>>>>>the intention is to have the UAPI side ready so it's already prepared
>>>>>>for that.
>>>>>>
>>>>>>>Where "used" is defined as time given by the GuC, not 
>>>>>>>necessarily used
>>>>>>
>>>>>>s/used/available/ as above
>>>>>>
>>>>>>>GPU time. For instance 16ms quanta, VF GPU clock would 
>>>>>>>move by 16ms if the GuC decides not to switch out the idle 
>>>>>>>VF? Or it could move by less than 16ms if it switched it 
>>>>>>>out earlier.
>>>>>>
>>>>>>no, afaiu it's 16ms, not less. But the quanta depends on the number of
>>>>>>VFs enabled, which may change in runtime.
>>>>>>
>>>>>>I'm not 100% certain and people in Cc may correct me.
>>>>>>
>>>>>>>
>>>>>>>>What if we had
>>>>>>>>
>>>>>>>>drm-cycles-<keystr>: <uint>
>>>>>>>>drm-total-cycles-<keystr>: <uint>
>>>>>>>>
>>>>>>>>Then the utilization can be done:
>>>>>>>>
>>>>>>>>    s1 = sample()
>>>>>>>>    sleep(period)
>>>>>>>>    s2 = sample()
>>>>>>>>    engine_utilization = (s2.cycles - s1.cycles) / \
>>>>>>>>                 (s2.total_cycles - s1.total_cycles + 1);
>>>>>>>>
>>>>>>>>Capacity still to be added above, but we'd need to clarify if
>>>>>>>>drm-total-cycles-<keystr> already accounts for it.
>>>>>>>>
>>>>>>>>Here instead of the conversion to cpu clock, I'm expecting to read
>>>>>>>>"total_cycles" from HW and that being different (slower) for VF.
>>>>>>>>AFAICS this is not the case with this current polling implementation
>>>>>>>>since we are simply reading the RING_TIMESTAMP, but 
>>>>>>>>there are planned
>>>>>>>>changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>>>>>
>>>>>>>I think this works and is clean.
>>>>>>>
>>>>>>>Although I have some doubts about the usefulness on VFs, 
>>>>>>>if the clock movements are at the mercy of the GuC 
>>>>>>>scheduler. Like what does 100% mean for a VF? Maybe it was 
>>>>>>>full quanta, or maybe it was half a quanta if GuC decided 
>>>>>>>to switch it out early, either due going idle or due some 
>>>>>>>other scheduling decision.
>>>>>>
>>>>>>in the scenario you described above the quanta could change 
>>>>>>according to
>>>>>>the scheduler and 100% wouldn't mean much. That's not my 
>>>>>>understanding.
>>>>>>100% always mean the VF used all the allocated time. I see this line
>>>>>>potentially getting blurred a little bit if the scheduler tries to
>>>>>>maximize the HW usage and distribute quanta unevenly, but I think the
>>>>>>interface already contemplates that.
>>>>>>
>>>>>>Another case is the VF not being able to reach 100% because the PF is
>>>>>>submitting high prio work. But I still think the current interface is
>>>>>>sufficient and it's the implementation by GuC/HW that could 
>>>>>>be improved
>>>>>>(e.g. adapting the gpu time reported).
>>>>>>
>>>>>>Michal / Umesh, please chime in if that is not accurate.
>>>>>>
>>>>>
>>>>>Irrespective of how much quanta a VF used, all calculations 
>>>>>will be based on the quanta that it was allocated. That way 
>>>>>the VF would know that it could have better utilized the 
>>>>>allotted time if busyness is less than 100. This does result 
>>>>>in more than 100% usage for a VF that was resource hungry and 
>>>>>scheduling policies allowed it to run more than the allotted 
>>>>>quanta, but this is a known limitation of the solution 
>>>>>provided by GuC. When looking at the overall system (say from 
>>>>>a PF), the usage should still add up to 100%.
>>>>>
>>>>>>
>>>>>>Thinking out loud: IFF the execution quanta is available for 
>>>>>>VF to query
>>>>>
>>>>>For the VF, GuC intends to provide a factor that can be used 
>>>>>to scale the wall time and deduce the VF quanta. This scaled 
>>>>>value is used as the second counter in a VF.
>>>>>>and we are ok with just scaling drm-maxfreq, then maybe we could even
>>>>>>just use the current interface instead of adding a third one. Although
>>>>>>it could be confusing to have a that freq changing.
>>>>>
>>>>>Assuming you are talking about using the drm-cycles and 
>>>>>drm-max-freq. One of the concerns when supporting VFs was that 
>>>>>we cannot actually export busyness in absolute time units to 
>>>>>the user because the GPU is shared across VFs. If we scale the 
>>>>>busyness such that it is stretched across CPU time, then it 
>>>>>helps get the right busyness % relative to CPU time, but the 
>>>>>value of busyness in time units itself is false. This was the 
>>>>>primary reason to use 2 "unitless" counters.
>>>>>
>>>>>fwiu, I think by using the drm-maxfreq, you are going to bring 
>>>>>the same concept back in the discussion - exporting busyness 
>>>>>in time units. Not sure if that's a good idea. Let me know if 
>>>>>I got that wrong.
>>>>
>>>>no, but I think it would still work if we can scale the freq 
>>>>according to
>>>>the quanta.  But that's probably abusing the interface.
>>>>
>>>>Anyway I think we are settling on
>>>>
>>>>    drm-cycles-<engineclass>
>>>>    drm-total-cycles-<engineclass>
>>>>
>>>>so I will start changing the patches and igt while checking this for
>>>>more feedback if any.
>>>Another option came to mind - expose a quanta ratio as a new key. 
>>>Given it has no security implications and is to be used only for 
>>>calculating real VFs GPU utilisation. Like:
>>>
>>>drm-engine-*: <uint> ns
>>>drm-engine-time-ratio-*: <float>
>>>
>>>Unit would be a ratio of time over quanta, for instance 1000ms / 
>>>100ms = 10. Which would mean scale down reported time by 10 when 
>>>comparing against wall time.
>>>
>>>New key would only appear on VFs. Otherwise assumed 1.
>>>
>>>Or could be avoided per engine and just have single global:
>>>
>>>drm-gpu-time-ratio: <float>
>>>
>>>Am I missing something or that could work? It would have the same 
>>>problem as above mentioned "could go over 100%" is one. I mean 
>>>this comment:
>>
>>I am hesitant to expose the quanta ratio at this level. We get that 
>>from GuC and that interface could potentially change. If that 
>>happens, I'd prefer that the uApi is unaffected.
>
>FWIW this idea was simply a time scale factor and I don't think it 
>should have a connection to any GuC implementation details. In other 
>words the observable result of time*scale/elapsed-time vs 
>ticks/total-ticks should be the same. At least with the semantics that 
>were discussed in this thread.
>

For the drm client busyness that we are discussing here, the VF specific 
interface is still wip. The quanta ratio is more of a engine busyness 
concept (see below) that I presume will be used here as well.

>>>
>>>"""
>>>Irrespective of how much quanta a VF used, all calculations will be
>>>based on the quanta that it was allocated.
>>>...
>>>This does result in more than 100% usage for a VF that
>>>was resource hungry and scheduling policies allowed it to run more
>>>than the allotted quanta,
>>>"""
>>>
>>>I read that as total-ticks would never be reported as above the 
>>>configure quanta - always equal.
>>
>>Correct
>>
>>>Maybe I misunderstood?
>>>
>>>Second topic - are there any plans to allow the PF to monitor VF 
>>>GPU utilisation? That wouldn't work via fdinfo aggregation since 
>>>VF clients will not be visibible in a PF. But it sounds like a 
>>>basic and important use case.
>>
>>wip. Engine utilization will be available per-VF from PF.
>
>How it will be exposed out of curiosity?

This would be supported only at the engine level granularity. Client 
level, like you mention, is not possible.

Like here, the % engine busyness is exposed as 2 counters - 
engine_runtime (how long the engine ran) and total_ticks (how long the 
PF/VF ran).  Internally GuC provides the engine_runtime in ticks and KMD 
derives total_ticks from quanta_ratio and elapsed_cpu_time.

That information is available to PF as an array of functions that can be 
indexed using function index.

A global busyness is also available (aggregate of all functions).

Reg: KMD<->UMD interface,

1) 2 counters are exported via the PMU interface.
2) Function index will be part of the config bitmap used with the 
perf_event_open.

I don't know yet if we will end up using kernel perf interface for this 
on XE (separate topic though).

Regards,
Umesh
>
>Regards,
>
>Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-22 17:17                         ` Umesh Nerlige Ramappa
@ 2024-04-23  8:44                           ` Tvrtko Ursulin
  2024-04-24  0:40                             ` Lucas De Marchi
  0 siblings, 1 reply; 46+ messages in thread
From: Tvrtko Ursulin @ 2024-04-23  8:44 UTC (permalink / raw)
  To: Umesh Nerlige Ramappa; +Cc: Lucas De Marchi, intel-xe, Michal Wajdeczko


On 22/04/2024 18:17, Umesh Nerlige Ramappa wrote:
> On Mon, Apr 22, 2024 at 11:40:33AM +0100, Tvrtko Ursulin wrote:
>>
>> On 20/04/2024 00:51, Umesh Nerlige Ramappa wrote:
>>> On Fri, Apr 19, 2024 at 11:44:46AM +0100, Tvrtko Ursulin wrote:
>>>>
>>>> On 18/04/2024 00:19, Lucas De Marchi wrote:
>>>>> On Wed, Apr 17, 2024 at 01:35:29PM GMT, Umesh Nerlige Ramappa wrote:
>>>>>> On Wed, Apr 17, 2024 at 02:05:40PM -0500, Lucas De Marchi wrote:
>>>>>>> On Wed, Apr 17, 2024 at 09:51:42AM GMT, Tvrtko Ursulin wrote:
>>>>>>>>
>>>>>>>> On 16/04/2024 19:29, Lucas De Marchi wrote:
>>>>>>>>> On Tue, Apr 16, 2024 at 03:22:21PM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>>
>>>>>>>>>> On 16/04/2024 14:51, Lucas De Marchi wrote:
>>>>>>>>>>> Forgot to Cc Michal, doing now.
>>>>>>>>>>>
>>>>>>>>>>> Lucas De Marchi
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Apr 16, 2024 at 08:30:33AM -0500, Lucas De Marchi wrote:
>>>>>>>>>>>> On Tue, Apr 16, 2024 at 09:37:44AM +0100, Tvrtko Ursulin wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 16/04/2024 04:04, Lucas De Marchi wrote:
>>>>>>>>>>>>>> Add per-client usage statistics to xe. This ports xe to 
>>>>>>>>>>>>>> use the common
>>>>>>>>>>>>>> method in drm to export the usage to userspace per client 
>>>>>>>>>>>>>> (where 1
>>>>>>>>>>>>>> client == 1 drm fd open).
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> However insted of using the current format, this creates a 
>>>>>>>>>>>>>> new one with
>>>>>>>>>>>>>> the unit "ticks". The intention here is not to mix the GPU 
>>>>>>>>>>>>>> clock domain
>>>>>>>>>>>>>> with the CPU clock. It allows to cover a few more use 
>>>>>>>>>>>>>> cases without
>>>>>>>>>>>>>> extra complications.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Last patch was a quick implemenation of a gputop-like tool 
>>>>>>>>>>>>>> in python.
>>>>>>>>>>>>>> I ended doing it to cross check the gputop implementation. 
>>>>>>>>>>>>>> I's not
>>>>>>>>>>>>>> really meant to be applied here.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I tested this on DG2 and TGL with kmscube (console-only) 
>>>>>>>>>>>>>> and vkcube
>>>>>>>>>>>>>> (in a gnome session), but it would be good to soak this 
>>>>>>>>>>>>>> under more
>>>>>>>>>>>>>> tests. The biggest goal for this patch series right now is 
>>>>>>>>>>>>>> to get
>>>>>>>>>>>>>> consensus on the new UAPI.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> TODO: Add documentation on top with the new interface.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yeah a drm-usage-stats.rst patch would be nice to have in 
>>>>>>>>>>>>> the RFC so one does not have to look into the driver 
>>>>>>>>>>>>> implementation to discuss the proposed uapi.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Nevertheless I understand the proposal is to add this:
>>>>>>>>>>>>>
>>>>>>>>>>>>> drm-engine-<class>: <GPU_TIMESTAMP> <RUNTIME> ticks
>>>>>>>>>>>>
>>>>>>>>>>>> yes, the gputop patch was more explicit about this. Should 
>>>>>>>>>>>> had added in
>>>>>>>>>>>> the kernel patch series too.
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> That's two values per key. I guess "one key value pair for 
>>>>>>>>>>>>> per one line of text" does not get strictly broken and that 
>>>>>>>>>>>>> you propose a heuristics in parsing to detect that the 
>>>>>>>>>>>>> <RUNTIME> cannot be mis-interpreted as the unit?
>>>>>>>>>>>>
>>>>>>>>>>>> the current format is
>>>>>>>>>>>>
>>>>>>>>>>>>     drm-engine-<class>: <RUNTIME> ns
>>>>>>>>>>>>
>>>>>>>>>>>> the "ns" in the end should be parsed by userspace to know
>>>>>>>>>>>> what it is about.
>>>>>>>>>>
>>>>>>>>>> Right.
>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Not sure it is a good idea though. If you instead added a 
>>>>>>>>>>>>> new key for the gpu time what would be the downside in your 
>>>>>>>>>>>>> view? Like:
>>>>>>>>>>>>>
>>>>>>>>>>>>> drm-engine-<class>: <uint> ticks
>>>>>>>>>>>>> drm-ticks-<class>: <uint>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Or maybe even obsfuscate/generalise as:
>>>>>>>>>>>>>
>>>>>>>>>>>>> drm-engine-<class>: <uint> gpu-time
>>>>>>>>>>>>> drm-gpu-time-<class>: <uint>
>>>>>>>>>>>>
>>>>>>>>>>>> I think both work, but I fail to see the advantage. This 
>>>>>>>>>>>> alternative is
>>>>>>>>>>>> slightly heavier on the parsing side since you have to 
>>>>>>>>>>>> correlate the
>>>>>>>>>>>> values from 2 keys, possibly dealing with them appearing in 
>>>>>>>>>>>> different
>>>>>>>>>>>> order. The only possible breakage remains with this 
>>>>>>>>>>>> alternative: if
>>>>>>>>>>>> userspace didn't parse the unit before. I checked nvtop and 
>>>>>>>>>>>> htop and
>>>>>>>>>>>> they were doing the right thing. I sent a fix to igt a few 
>>>>>>>>>>>> weeks back
>>>>>>>>>>>> for it to consider the unit:
>>>>>>>>>>>> https://lore.kernel.org/igt-dev/20240405060056.59379-8-lucas.demarchi@intel.com/
>>>>>>>>>>
>>>>>>>>>> Advantages are that "drm-engine-something: 1234 5678 ticks" 
>>>>>>>>>> isn't self-explanatory (intuitively humanly readable) and that 
>>>>>>>>>> it doesn't
>>>>>>>>>
>>>>>>>>> maybe I have a different expectation from procfs. When I do e.g.
>>>>>>>>>
>>>>>>>>> # cat /proc/self/stat
>>>>>>>>> 3861283 (cat) R 3861233 3861283 3861231 34816 3861283 4194304 
>>>>>>>>> 90 0 0 0 0 0 0 0 20 0 1 0 1321348797 8560640 384 
>>>>>>>>> 18446744073709551615 93979016876032 93979016892449 
>>>>>>>>> 140720658378704 0 0 0 0 0 0 0 0 0 17 51 0 0 0 0 0 
>>>>>>>>> 93979016907440 93979016908904 93979037196288 140720658380605 
>>>>>>>>> 140720658380625 140720658380625 140720658382827 0
>>>>>>>>>
>>>>>>>>> it doesn't seem to me "intuitively humanly readable" was the first
>>>>>>>>> concern for people adding files in procfs :)... I'd rather 
>>>>>>>>> think "machine
>>>>>>>>> readable" was more important.
>>>>>>>>
>>>>>>>> I think you are pushing the argument a bit now :) since IMO we 
>>>>>>>> should evaluate drm-usage-stats.rst proposal more in the context 
>>>>>>>> of drm-usage-stats and other fdinfo files, rather than the whole 
>>>>>>>> of procfs. In other words if there isn't a strong reason to 
>>>>>>>> regress this particular file lets not do it.
>>>>>>>
>>>>>>> :) I like pushing arguments if it helps revisit decisions (human vs
>>>>>>> machine readable for things in procfs). I'm not
>>>>>>> trying to push the 2 counter approaches though. I think other 
>>>>>>> reasons
>>>>>>> like discussed below are enough to consider the other keys.
>>>>>>>
>>>>>>> TBH I was reluctant at first to add a separate uapi rather than 
>>>>>>> re-using
>>>>>>> drm-engine- without realizing there was already a second one (not
>>>>>>> implemented in gputop).
>>>>>>>
>>>>>>> So AFAICS i915 and amdgpu use drm-engine-. msm and panfrost use
>>>>>>> drm-cycles + drm-maxfreq.  And none of them seem suitable to xe.
>>>>>>>
>>>>>>>>
>>>>>>>>>> diverge from the one value per key plus unit format. Latter we 
>>>>>>>>>> would then document clearly.
>>>>>>>>>>
>>>>>>>>>> Different keys potentially appearing in different order does 
>>>>>>>>>> not matter since userspace already has to handle that.
>>>>>>>>>>
>>>>>>>>>>>>> Potentially could also add a key saying how much wall time 
>>>>>>>>>>>>> is one unit of GPU time.
>>>>>>>>>>>>
>>>>>>>>>>>> I wouldn't add it really as it may not make sense depending 
>>>>>>>>>>>> on the
>>>>>>>>>>>> vendor and or usage. Examples: the gpu time may be different 
>>>>>>>>>>>> for
>>>>>>>>>>>> different engines depending on where they are located 
>>>>>>>>>>>> (tile/gt). The
>>>>>>>>>>>> correlation with CPU time is different when running in VF 
>>>>>>>>>>>> mode, and may
>>>>>>>>>>>> change in runtime depending on the number of VFs. +Michal.
>>>>>>>>>>
>>>>>>>>>> Yes, that's why I said "potentially", which was supposed to 
>>>>>>>>>> mean if and where it makes sense and perhaps adds value.
>>>>>>>>>>
>>>>>>>>>>>> Also, if the userspace side really wants to know (why would 
>>>>>>>>>>>> it?)
>>>>>>>>>>>> it could be just calculate from 2 samples (possibly repeated 
>>>>>>>>>>>> a few
>>>>>>>>>>>> times as it updates the output).
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Or.. would even the existing drm-cycles, plus abuse of 
>>>>>>>>>>>>> drm-maxfreq, work? Ticks == cycles, maxfreq == ticks per 
>>>>>>>>>>>>> wall second.
>>>>>>>>>>>>
>>>>>>>>>>>> I think it'd be up to gpu vendor what clock backs this time. 
>>>>>>>>>>>> For the
>>>>>>>>>>>> current Intel cards, it's the refclock and it doesn't vary the
>>>>>>>>>>>> frequency.
>>>>>>>>>>
>>>>>>>>>> Right, but that doesn't matter. What I was saying is that if 
>>>>>>>>>> you exposed ticks in drm-cycles and tick frequency in 
>>>>>>>>>> drm-maxfreq it would even work, no? (Assuming support for 
>>>>>>>>>> those two was actually in igt_drm_fdinfo/clients/gputop and 
>>>>>>>>>> could be used as fallback to time based stats.)
>>>>>>>>>
>>>>>>>>> oh... I was looking at the output for i915 and missed that we had
>>>>>>>>> drm-cycles as currently i915 doesn't use it. It seems to be a 
>>>>>>>>> similar
>>>>>>>>> thing. I agree the drm-maxfreq- is unfortunate and that we don't
>>>>>>>>> actually have support for that in gputop.
>>>>>>>>>
>>>>>>>>> So, instead of the 2 numbers + different unit, I can adapt this to
>>>>>>>>> rather use drm-cycles. However for maxfreq, it doesn't seem to be
>>>>>>>>> what we need since it doesn't scale for VF. It brings back the 
>>>>>>>>> cpu clock
>>>>>>>>> domain this series is trying to avoid. The difference is that 
>>>>>>>>> using
>>>>>>>>> drm-cycles- and drm-maxfreq- you are expecting the userspace to do
>>>>>>>>> (let me know if I interpreted the docs wrong):
>>>>>>>>>
>>>>>>>>>     s1 = sample()
>>>>>>>>>     sleep(period)
>>>>>>>>>     s2 = sample()
>>>>>>>>>     engine_utilization = ((s2.drm_cycles * s2.drm_max_freq) - 
>>>>>>>>> (s1.drm_cycles * s1.drm_max_freq)) / period
>>>>>>>>>
>>>>>>>>> ... considering the drm_max_freq may change from one call to 
>>>>>>>>> the other.
>>>>>>>>> if we simplify it and assume it doesn't change:
>>>>>>>>>
>>>>>>>>>     engine_utilization = ((s2.drm_cycles - s1.drm_cycles) * 
>>>>>>>>> drm_max_freq) / period
>>>>>>>>>
>>>>>>>>> we'd need different drm_max_freq reported on VF driver that 
>>>>>>>>> would need
>>>>>>>>> to know the number of VFs enabled to scaled it correctly. Maybe 
>>>>>>>>> this is
>>>>>>>>> abusing the "drm-maxfreq" a little bit?
>>>>>>>>
>>>>>>>> Yes it would be bad if the observed VF GPU clock will be 
>>>>>>>> variable since maxfreq is supposed to be static.
>>>>>>>>
>>>>>>>> So on VFs would reported GPU clock moves by the VF "used" quanta?
>>>>>>>
>>>>>>> s/used/available/. That's my understanding, yes. Each VF has a 
>>>>>>> quanta
>>>>>>> and the gpu clock moves according to that quanta.  Note that as I 
>>>>>>> said,
>>>>>>> this is not the case right now (we are just reading 
>>>>>>> RING_TIMESTAMP), but
>>>>>>> the intention is to have the UAPI side ready so it's already 
>>>>>>> prepared
>>>>>>> for that.
>>>>>>>
>>>>>>>> Where "used" is defined as time given by the GuC, not 
>>>>>>>> necessarily used
>>>>>>>
>>>>>>> s/used/available/ as above
>>>>>>>
>>>>>>>> GPU time. For instance 16ms quanta, VF GPU clock would move by 
>>>>>>>> 16ms if the GuC decides not to switch out the idle VF? Or it 
>>>>>>>> could move by less than 16ms if it switched it out earlier.
>>>>>>>
>>>>>>> no, afaiu it's 16ms, not less. But the quanta depends on the 
>>>>>>> number of
>>>>>>> VFs enabled, which may change in runtime.
>>>>>>>
>>>>>>> I'm not 100% certain and people in Cc may correct me.
>>>>>>>
>>>>>>>>
>>>>>>>>> What if we had
>>>>>>>>>
>>>>>>>>> drm-cycles-<keystr>: <uint>
>>>>>>>>> drm-total-cycles-<keystr>: <uint>
>>>>>>>>>
>>>>>>>>> Then the utilization can be done:
>>>>>>>>>
>>>>>>>>>     s1 = sample()
>>>>>>>>>     sleep(period)
>>>>>>>>>     s2 = sample()
>>>>>>>>>     engine_utilization = (s2.cycles - s1.cycles) / \
>>>>>>>>>                  (s2.total_cycles - s1.total_cycles + 1);
>>>>>>>>>
>>>>>>>>> Capacity still to be added above, but we'd need to clarify if
>>>>>>>>> drm-total-cycles-<keystr> already accounts for it.
>>>>>>>>>
>>>>>>>>> Here instead of the conversion to cpu clock, I'm expecting to read
>>>>>>>>> "total_cycles" from HW and that being different (slower) for VF.
>>>>>>>>> AFAICS this is not the case with this current polling 
>>>>>>>>> implementation
>>>>>>>>> since we are simply reading the RING_TIMESTAMP, but there are 
>>>>>>>>> planned
>>>>>>>>> changes to get it from GuC. Umesh/Michal Cc'ed may know better.
>>>>>>>>
>>>>>>>> I think this works and is clean.
>>>>>>>>
>>>>>>>> Although I have some doubts about the usefulness on VFs, if the 
>>>>>>>> clock movements are at the mercy of the GuC scheduler. Like what 
>>>>>>>> does 100% mean for a VF? Maybe it was full quanta, or maybe it 
>>>>>>>> was half a quanta if GuC decided to switch it out early, either 
>>>>>>>> due going idle or due some other scheduling decision.
>>>>>>>
>>>>>>> in the scenario you described above the quanta could change 
>>>>>>> according to
>>>>>>> the scheduler and 100% wouldn't mean much. That's not my 
>>>>>>> understanding.
>>>>>>> 100% always mean the VF used all the allocated time. I see this line
>>>>>>> potentially getting blurred a little bit if the scheduler tries to
>>>>>>> maximize the HW usage and distribute quanta unevenly, but I think 
>>>>>>> the
>>>>>>> interface already contemplates that.
>>>>>>>
>>>>>>> Another case is the VF not being able to reach 100% because the 
>>>>>>> PF is
>>>>>>> submitting high prio work. But I still think the current 
>>>>>>> interface is
>>>>>>> sufficient and it's the implementation by GuC/HW that could be 
>>>>>>> improved
>>>>>>> (e.g. adapting the gpu time reported).
>>>>>>>
>>>>>>> Michal / Umesh, please chime in if that is not accurate.
>>>>>>>
>>>>>>
>>>>>> Irrespective of how much quanta a VF used, all calculations will 
>>>>>> be based on the quanta that it was allocated. That way the VF 
>>>>>> would know that it could have better utilized the allotted time if 
>>>>>> busyness is less than 100. This does result in more than 100% 
>>>>>> usage for a VF that was resource hungry and scheduling policies 
>>>>>> allowed it to run more than the allotted quanta, but this is a 
>>>>>> known limitation of the solution provided by GuC. When looking at 
>>>>>> the overall system (say from a PF), the usage should still add up 
>>>>>> to 100%.
>>>>>>
>>>>>>>
>>>>>>> Thinking out loud: IFF the execution quanta is available for VF 
>>>>>>> to query
>>>>>>
>>>>>> For the VF, GuC intends to provide a factor that can be used to 
>>>>>> scale the wall time and deduce the VF quanta. This scaled value is 
>>>>>> used as the second counter in a VF.
>>>>>>> and we are ok with just scaling drm-maxfreq, then maybe we could 
>>>>>>> even
>>>>>>> just use the current interface instead of adding a third one. 
>>>>>>> Although
>>>>>>> it could be confusing to have a that freq changing.
>>>>>>
>>>>>> Assuming you are talking about using the drm-cycles and 
>>>>>> drm-max-freq. One of the concerns when supporting VFs was that we 
>>>>>> cannot actually export busyness in absolute time units to the user 
>>>>>> because the GPU is shared across VFs. If we scale the busyness 
>>>>>> such that it is stretched across CPU time, then it helps get the 
>>>>>> right busyness % relative to CPU time, but the value of busyness 
>>>>>> in time units itself is false. This was the primary reason to use 
>>>>>> 2 "unitless" counters.
>>>>>>
>>>>>> fwiu, I think by using the drm-maxfreq, you are going to bring the 
>>>>>> same concept back in the discussion - exporting busyness in time 
>>>>>> units. Not sure if that's a good idea. Let me know if I got that 
>>>>>> wrong.
>>>>>
>>>>> no, but I think it would still work if we can scale the freq 
>>>>> according to
>>>>> the quanta.  But that's probably abusing the interface.
>>>>>
>>>>> Anyway I think we are settling on
>>>>>
>>>>>     drm-cycles-<engineclass>
>>>>>     drm-total-cycles-<engineclass>
>>>>>
>>>>> so I will start changing the patches and igt while checking this for
>>>>> more feedback if any.
>>>> Another option came to mind - expose a quanta ratio as a new key. 
>>>> Given it has no security implications and is to be used only for 
>>>> calculating real VFs GPU utilisation. Like:
>>>>
>>>> drm-engine-*: <uint> ns
>>>> drm-engine-time-ratio-*: <float>
>>>>
>>>> Unit would be a ratio of time over quanta, for instance 1000ms / 
>>>> 100ms = 10. Which would mean scale down reported time by 10 when 
>>>> comparing against wall time.
>>>>
>>>> New key would only appear on VFs. Otherwise assumed 1.
>>>>
>>>> Or could be avoided per engine and just have single global:
>>>>
>>>> drm-gpu-time-ratio: <float>
>>>>
>>>> Am I missing something or that could work? It would have the same 
>>>> problem as above mentioned "could go over 100%" is one. I mean this 
>>>> comment:
>>>
>>> I am hesitant to expose the quanta ratio at this level. We get that 
>>> from GuC and that interface could potentially change. If that 
>>> happens, I'd prefer that the uApi is unaffected.
>>
>> FWIW this idea was simply a time scale factor and I don't think it 
>> should have a connection to any GuC implementation details. In other 
>> words the observable result of time*scale/elapsed-time vs 
>> ticks/total-ticks should be the same. At least with the semantics that 
>> were discussed in this thread.
>>
> 
> For the drm client busyness that we are discussing here, the VF specific 
> interface is still wip. The quanta ratio is more of a engine busyness 
> concept (see below) that I presume will be used here as well.

I did not follow you here.

Current proposal for withing a VF per client view settled at drm-cycles 
and drm-total-cycles, where the latter was explained will move by the 
amount of GPU ticks in the VFs assigned quanta and be static.

I was just mentioning one idea for an alternative which is time based 
and AFAICT behaves the same.

Doesn't matter much since in both cases we are talking about one new 
key, but may be handy if you start with the elapsed time based key for a 
PF and then later, for VF support, just add one new key 
(drm-gpu-time-ratio), instead of VF using a different pair 
(cyles+total-cycles) than the PF (drm-engine-*).

>>>> """
>>>> Irrespective of how much quanta a VF used, all calculations will be
>>>> based on the quanta that it was allocated.
>>>> ...
>>>> This does result in more than 100% usage for a VF that
>>>> was resource hungry and scheduling policies allowed it to run more
>>>> than the allotted quanta,
>>>> """
>>>>
>>>> I read that as total-ticks would never be reported as above the 
>>>> configure quanta - always equal.
>>>
>>> Correct
>>>
>>>> Maybe I misunderstood?
>>>>
>>>> Second topic - are there any plans to allow the PF to monitor VF GPU 
>>>> utilisation? That wouldn't work via fdinfo aggregation since VF 
>>>> clients will not be visibible in a PF. But it sounds like a basic 
>>>> and important use case.
>>>
>>> wip. Engine utilization will be available per-VF from PF.
>>
>> How it will be exposed out of curiosity?
> 
> This would be supported only at the engine level granularity. Client 
> level, like you mention, is not possible.
> 
> Like here, the % engine busyness is exposed as 2 counters - 
> engine_runtime (how long the engine ran) and total_ticks (how long the 
> PF/VF ran).  Internally GuC provides the engine_runtime in ticks and KMD 
> derives total_ticks from quanta_ratio and elapsed_cpu_time.
> 
> That information is available to PF as an array of functions that can be 
> indexed using function index.
> 
> A global busyness is also available (aggregate of all functions).
> 
> Reg: KMD<->UMD interface,
> 
> 1) 2 counters are exported via the PMU interface.
> 2) Function index will be part of the config bitmap used with the 
> perf_event_open.
> 
> I don't know yet if we will end up using kernel perf interface for this 
> on XE (separate topic though).

Right, it is the PMU or not PMU part I was most interested it. I think 
be careful with the choice since at the moment as you know we have a 
known unfixed bug in the i915 PMU and driver unbind. Until we can fix 
that somehow it would be questionable to add a new driver with that 
known weakness.

Regards,

Tvrtko

^ permalink raw reply	[flat|nested] 46+ messages in thread

* Re: [PATCH 0/7] drm/xe: Per client usage
  2024-04-23  8:44                           ` Tvrtko Ursulin
@ 2024-04-24  0:40                             ` Lucas De Marchi
  0 siblings, 0 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-24  0:40 UTC (permalink / raw)
  To: Tvrtko Ursulin; +Cc: Umesh Nerlige Ramappa, intel-xe, Michal Wajdeczko

On Tue, Apr 23, 2024 at 09:44:58AM GMT, Tvrtko Ursulin wrote:
>>For the drm client busyness that we are discussing here, the VF 
>>specific interface is still wip. The quanta ratio is more of a 
>>engine busyness concept (see below) that I presume will be used here 
>>as well.
>
>I did not follow you here.
>
>Current proposal for withing a VF per client view settled at 
>drm-cycles and drm-total-cycles, where the latter was explained will 
>move by the amount of GPU ticks in the VFs assigned quanta and be 
>static.
>
>I was just mentioning one idea for an alternative which is time based 
>and AFAICT behaves the same.
>
>Doesn't matter much since in both cases we are talking about one new 
>key, but may be handy if you start with the elapsed time based key for 
>a PF and then later, for VF support, just add one new key 
>(drm-gpu-time-ratio), instead of VF using a different pair 
>(cyles+total-cycles) than the PF (drm-engine-*).

I think the problem could be exposing the quanta in this part of the
code. I checked the wip interface again and I'm not confident we can
simply read it, as opposed to the counter that we are going to get from
GuC with it already scaled.

I just send a new version with drm-total-cycles. I see the following
benefits:

1) drm-total-cycles detach the calculation from the sleep() in the
    userspace so should even be a better approximation of the utilization

2) drm-gpu-time-ratio means it could work with the current userspace
    tools as is for native/PF, as long as they don't implement a different
    interface per driver, which seems to be the case in some of them).
    The drm-gpu-time-ratio is more an extension to the current api rather
    than a replacement

I'm not sure really which of them is better, but in doubt I stick to (1)
and sent a v2. Even if we go with (2), the changes on both kernel and
gputop would not be so big.

Lucas De Marchi

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2024-04-24  0:40 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
2024-04-16  3:04 ` [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
2024-04-16  3:04 ` [PATCH 2/7] drm/xe: Add helper to capture context runtime Lucas De Marchi
2024-04-16  5:26   ` Vivekanandan, Balasubramani
2024-04-16 13:42     ` Lucas De Marchi
2024-04-16 15:45       ` Vivekanandan, Balasubramani
2024-04-16 15:53         ` Lucas De Marchi
2024-04-16  3:04 ` [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
2024-04-16  9:36   ` Nirmoy Das
2024-04-19 18:36     ` Zeng, Oak
2024-04-16  3:04 ` [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
2024-04-16  9:37   ` Nirmoy Das
2024-04-16  3:04 ` [PATCH 5/7] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
2024-04-16 22:56   ` Umesh Nerlige Ramappa
2024-04-17  3:14     ` Lucas De Marchi
2024-04-18 18:24       ` Umesh Nerlige Ramappa
2024-04-16  3:04 ` [PATCH 6/7] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
2024-04-16 23:20   ` Umesh Nerlige Ramappa
2024-04-17  3:11     ` Lucas De Marchi
2024-04-18 23:12       ` Umesh Nerlige Ramappa
2024-04-19 13:25         ` Lucas De Marchi
2024-04-16  3:04 ` [PATCH 7/7] HACK: simple gputop-like impl in python Lucas De Marchi
2024-04-16  3:17 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage Patchwork
2024-04-16  3:17 ` ✗ CI.checkpatch: warning " Patchwork
2024-04-16  3:18 ` ✓ CI.KUnit: success " Patchwork
2024-04-16  3:30 ` ✓ CI.Build: " Patchwork
2024-04-16  3:32 ` ✓ CI.Hooks: " Patchwork
2024-04-16  3:34 ` ✓ CI.checksparse: " Patchwork
2024-04-16  3:59 ` ✗ CI.BAT: failure " Patchwork
2024-04-16  8:37 ` [PATCH 0/7] " Tvrtko Ursulin
2024-04-16 13:30   ` Lucas De Marchi
2024-04-16 13:51     ` Lucas De Marchi
2024-04-16 14:22       ` Tvrtko Ursulin
2024-04-16 18:29         ` Lucas De Marchi
2024-04-17  8:51           ` Tvrtko Ursulin
2024-04-17 19:05             ` Lucas De Marchi
2024-04-17 20:35               ` Umesh Nerlige Ramappa
2024-04-17 23:19                 ` Lucas De Marchi
2024-04-18  8:09                   ` Tvrtko Ursulin
2024-04-19 10:44                   ` Tvrtko Ursulin
2024-04-19 23:51                     ` Umesh Nerlige Ramappa
2024-04-22 10:40                       ` Tvrtko Ursulin
2024-04-22 17:17                         ` Umesh Nerlige Ramappa
2024-04-23  8:44                           ` Tvrtko Ursulin
2024-04-24  0:40                             ` Lucas De Marchi
2024-04-16 22:12 ` ✗ CI.FULL: failure for " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.