* [CI] drm/xe: The xe bo shrinker series for testing
@ 2025-03-05 10:10 Thomas Hellström
2025-03-05 12:50 ` ✓ CI.Patch_applied: success for " Patchwork
` (6 more replies)
0 siblings, 7 replies; 9+ messages in thread
From: Thomas Hellström @ 2025-03-05 10:10 UTC (permalink / raw)
To: intel-xe; +Cc: Thomas Hellström
Squashed commit of the following:
commit f66aa63eb0986ac486d052388c06d0347915efa7
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Fri Jun 14 12:04:37 2024 +0200
drm/xe: Increase the XE_PL_TT watermark
The XE_PL_TT watermark was set to 50% of system memory.
The idea behind that was unclear since the net effect is that
TT memory will be evicted to TTM_PL_SYSTEM memory if that
watermark is exceeded, requiring PPGTT rebinds and dma
remapping. But there is no similar watermark for TTM_PL_1SYSTEM
memory.
The TTM functionality that tries to swap out system memory to
shmem objects if a 50% limit of total system memory is reached
is orthogonal to this, and with the shrinker added, it's no
longer in effect.
Replace the 50% TTM_PL_TT limit with a 100% limit, in effect
allowing all graphics memory to be bound to the device unless it
has been swapped out by the shrinker.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
commit a0e423641ef481d289d75b384e3ced5afff3bc85
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Mar 27 15:36:02 2024 +0100
drm/xe: Add a shrinker for xe bos
Rather than relying on the TTM watermark accounting add a shrinker
for xe_bos in TT or system memory.
Leverage the newly added TTM per-page shrinking and shmem backup
support.
Although xe doesn't fully support WONTNEED (purgeable) bos yet,
introduce and add shrinker support for purgeable ttm_tts.
v2:
- Cleanups bugfixes and a KUNIT shrinker test.
- Add writeback support, and activate if kswapd.
v3:
- Move the try_shrink() helper to core TTM.
- Minor cleanups.
v4:
- Add runtime pm for the shrinker. Shrinking may require an active
device for CCS metadata copying.
v5:
- Separately purge ghost- and zombie objects in the shrinker.
- Fix a format specifier - type inconsistency. (Kernel test robot).
v7:
- s/long/s64/ (Christian König)
- s/sofar/progress/ (Matt Brost)
v8:
- Rebase on Xe KUNIT update.
- Add content verifying to the shrinker kunit test.
- Split out TTM changes to a separate patch.
- Get rid of multiple bool arguments for clarity (Matt Brost)
- Avoid an error pointer dereference (Matt Brost)
- Avoid an integer overflow (Matt Auld)
- Address misc review comments by Matt Brost.
v9:
- Fix a compliation error.
- Rebase.
v10:
- Update to new LRU walk interface.
- Rework ghost-, zombie and purged object shrinking.
- Rebase.
v11:
- Use additional TTM helpers.
- Honor __GFP_FS and __GFP_IO
- Rebase.
v13:
- Use ttm_tt_setup_backup().
v14:
- Don't set up backup on imported bos.
v15:
- Rebase on backup interface changes.
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
commit 568012e3af6e5165907f2ca96780832a244b56cf
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Aug 14 16:16:56 2024 +0200
drm/ttm: Add helpers for shrinking
Add a number of helpers for shrinking that access core TTM and
core MM functionality in a way that make them unsuitable for
driver open-coding.
v11:
- New patch (split off from previous) and additional helpers.
v13:
- Adapt to ttm_backup interface change.
- Take resource off LRU when backed up.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Christian König <christian.koenig@amd.com>
commit 900a272a1e8ed00d3180d044feeff03942ad16c7
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Aug 14 16:16:56 2024 +0200
drm/ttm: Add a macro to perform LRU iteration
Following the design direction communicated here:
https://lore.kernel.org/linux-mm/b7491378-defd-4f1c-31e2-29e4c77e2d67@amd.com/T/#ma918844aa8a6efe8768fdcda0c6590d5c93850c9
Export a LRU walker for driver shrinker use. The walker
initially supports only trylocking, since that's the
method used by shrinkes. The walker makes use of
scoped_guard() to allow exiting from the LRU walk loop
without performing any explicit unlocking or
cleanup.
v8:
- Split out from another patch.
- Use a struct for bool arguments to increase readability (Matt Brost).
- Unmap user-space cpu-mappings before shrinking pages.
- Explain non-fatal error codes (Matt Brost)
v10:
- Instead of using the existing helper, Wrap the interface inside out and
provide a loop to de-midlayer things the LRU iteration (Christian König).
- Removing the R-B by Matt Brost since the patch was significantly changed.
v11:
- Split the patch up to include just the LRU walk helper.
v12:
- Indent after scoped_guard() (Matt Brost)
v15:
- Adapt to new definition of scoped_guard()
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
commit 059c7ebd2f650745c4e85cf8c36eb3e9012ddcc1
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Tue Feb 7 08:45:46 2023 +0100
drm/ttm: Use fault-injection to test error paths
Use fault-injection to test partial TTM swapout and interrupted swapin.
Return -EINTR for swapin to test the callers ability to handle and
restart the swapin, and on swapout perform a partial swapout to test that
the swapin and release_shrunken functionality.
v8:
- Use the core fault-injection system.
v9:
- Fix compliation failure for !CONFIG_FAULT_INJECTION
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
commit 1ab97490a8179ff07180215730bc07221a6dec0d
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Mon Feb 6 15:25:18 2023 +0100
drm/ttm/pool, drm/ttm/tt: Provide a helper to shrink pages
Provide a helper to shrink ttm_tt page-vectors on a per-page
basis. A ttm_backup backend could then in theory get away with
allocating a single temporary page for each struct ttm_tt.
This is accomplished by splitting larger pages before trying to
back them up.
In the future we could allow ttm_backup to handle backing up
large pages as well, but currently there's no benefit in
doing that, since the shmem backup backend would have to
split those anyway to avoid allocating too much temporary
memory, and if the backend instead inserts pages into the
swap-cache, those are split on reclaim by the core.
Due to potential backup- and recover errors, allow partially swapped
out struct ttm_tt's, although mark them as swapped out stopping them
from being swapped out a second time. More details in the ttm_pool.c
DOC section.
v2:
- A couple of cleanups and error fixes in ttm_pool_back_up_tt.
- s/back_up/backup/
- Add a writeback parameter to the exported interface.
v8:
- Use a struct for flags for readability (Matt Brost)
- Address misc other review comments (Matt Brost)
v9:
- Update the kerneldoc for the ttm_tt::backup field.
v10:
- Rebase.
v13:
- Rebase on ttm_backup interface change. Update kerneldoc.
- Rebase and adjust ttm_tt_is_swapped().
v15:
- Rebase on ttm_backup return value change.
- Rebase on previous restructuring of ttm_pool_alloc()
- Rework the ttm_pool backup interface (Christian König)
- Remove cond_resched() (Christian König)
- Get rid of the need to allocate an intermediate page array
when restoring a multi-order page (Christian König)
- Update documentation.
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Christian Koenig <christian.koenig@amd.com>
commit fd15b5272034bef255b084e51a935a937c759337
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Mar 27 12:18:08 2024 +0100
drm/ttm: Provide a shmem backup implementation
Provide a standalone shmem backup implementation.
Given the ttm_backup interface, this could
later on be extended to providing other backup
implementation than shmem, with one use-case being
GPU swapout to a user-provided fd.
v5:
- Fix a UAF. (kernel test robot, Dan Carptenter)
v6:
- Rename ttm_backup_shmem_copy_page() function argument
(Matthew Brost)
- Add some missing documentation
v8:
- Use folio_file_page to get to the page we want to writeback
instead of using the first page of the folio.
v13:
- Remove the base class abstraction (Christian König)
- Include ttm_backup_bytes_avail().
v14:
- Fix kerneldoc for ttm_backup_bytes_avail() (0-day)
- Work around casting of __randomize_layout struct pointer (0-day)
v15:
- Return negative error code from ttm_backup_backup_page()
(Christian König)
- Doc fixes. (Christian König).
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
---
drivers/gpu/drm/ttm/Makefile | 2 +-
drivers/gpu/drm/ttm/ttm_backup.c | 207 ++++++++++
drivers/gpu/drm/ttm/ttm_bo_util.c | 247 +++++++++++-
drivers/gpu/drm/ttm/ttm_pool.c | 577 ++++++++++++++++++++++++---
drivers/gpu/drm/ttm/ttm_tt.c | 83 ++++
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/tests/xe_bo.c | 6 +-
drivers/gpu/drm/xe/xe_bo.c | 202 +++++++++-
drivers/gpu/drm/xe/xe_bo.h | 36 ++
drivers/gpu/drm/xe/xe_device.c | 8 +
drivers/gpu/drm/xe/xe_device_types.h | 2 +
drivers/gpu/drm/xe/xe_shrinker.c | 258 ++++++++++++
drivers/gpu/drm/xe/xe_shrinker.h | 18 +
drivers/gpu/drm/xe/xe_ttm_sys_mgr.c | 3 +-
include/drm/ttm/ttm_backup.h | 74 ++++
include/drm/ttm/ttm_bo.h | 93 +++++
include/drm/ttm/ttm_pool.h | 8 +
include/drm/ttm/ttm_tt.h | 69 +++-
18 files changed, 1814 insertions(+), 80 deletions(-)
create mode 100644 drivers/gpu/drm/ttm/ttm_backup.c
create mode 100644 drivers/gpu/drm/xe/xe_shrinker.c
create mode 100644 drivers/gpu/drm/xe/xe_shrinker.h
create mode 100644 include/drm/ttm/ttm_backup.h
diff --git a/drivers/gpu/drm/ttm/Makefile b/drivers/gpu/drm/ttm/Makefile
index dad298127226..40d07a35293a 100644
--- a/drivers/gpu/drm/ttm/Makefile
+++ b/drivers/gpu/drm/ttm/Makefile
@@ -4,7 +4,7 @@
ttm-y := ttm_tt.o ttm_bo.o ttm_bo_util.o ttm_bo_vm.o ttm_module.o \
ttm_execbuf_util.o ttm_range_manager.o ttm_resource.o ttm_pool.o \
- ttm_device.o ttm_sys_manager.o
+ ttm_device.o ttm_sys_manager.o ttm_backup.o
ttm-$(CONFIG_AGP) += ttm_agp_backend.o
obj-$(CONFIG_DRM_TTM) += ttm.o
diff --git a/drivers/gpu/drm/ttm/ttm_backup.c b/drivers/gpu/drm/ttm/ttm_backup.c
new file mode 100644
index 000000000000..93c007f18855
--- /dev/null
+++ b/drivers/gpu/drm/ttm/ttm_backup.c
@@ -0,0 +1,207 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#include <drm/ttm/ttm_backup.h>
+#include <linux/page-flags.h>
+#include <linux/swap.h>
+
+/*
+ * Casting from randomized struct file * to struct ttm_backup * is fine since
+ * struct ttm_backup is never defined nor dereferenced.
+ */
+static struct file *ttm_backup_to_file(struct ttm_backup *backup)
+{
+ return (void *)backup;
+}
+
+static struct ttm_backup *ttm_file_to_backup(struct file *file)
+{
+ return (void *)file;
+}
+
+/*
+ * Need to map shmem indices to handle since a handle value
+ * of 0 means error, following the swp_entry_t convention.
+ */
+static unsigned long ttm_backup_shmem_idx_to_handle(pgoff_t idx)
+{
+ return (unsigned long)idx + 1;
+}
+
+static pgoff_t ttm_backup_handle_to_shmem_idx(pgoff_t handle)
+{
+ return handle - 1;
+}
+
+/**
+ * ttm_backup_drop() - release memory associated with a handle
+ * @backup: The struct backup pointer used to obtain the handle
+ * @handle: The handle obtained from the @backup_page function.
+ */
+void ttm_backup_drop(struct ttm_backup *backup, pgoff_t handle)
+{
+ loff_t start = ttm_backup_handle_to_shmem_idx(handle);
+
+ start <<= PAGE_SHIFT;
+ shmem_truncate_range(file_inode(ttm_backup_to_file(backup)), start,
+ start + PAGE_SIZE - 1);
+}
+
+/**
+ * ttm_backup_copy_page() - Copy the contents of a previously backed
+ * up page
+ * @backup: The struct backup pointer used to back up the page.
+ * @dst: The struct page to copy into.
+ * @handle: The handle returned when the page was backed up.
+ * @intr: Try to perform waits interruptable or at least killable.
+ *
+ * Return: 0 on success, Negative error code on failure, notably
+ * -EINTR if @intr was set to true and a signal is pending.
+ */
+int ttm_backup_copy_page(struct ttm_backup *backup, struct page *dst,
+ pgoff_t handle, bool intr)
+{
+ struct file *filp = ttm_backup_to_file(backup);
+ struct address_space *mapping = filp->f_mapping;
+ struct folio *from_folio;
+ pgoff_t idx = ttm_backup_handle_to_shmem_idx(handle);
+
+ from_folio = shmem_read_folio(mapping, idx);
+ if (IS_ERR(from_folio))
+ return PTR_ERR(from_folio);
+
+ copy_highpage(dst, folio_file_page(from_folio, idx));
+ folio_put(from_folio);
+
+ return 0;
+}
+
+/**
+ * ttm_backup_backup_page() - Backup a page
+ * @backup: The struct backup pointer to use.
+ * @page: The page to back up.
+ * @writeback: Whether to perform immediate writeback of the page.
+ * This may have performance implications.
+ * @idx: A unique integer for each page and each struct backup.
+ * This allows the backup implementation to avoid managing
+ * its address space separately.
+ * @page_gfp: The gfp value used when the page was allocated.
+ * This is used for accounting purposes.
+ * @alloc_gfp: The gfp to be used when allocating memory.
+ *
+ * Context: If called from reclaim context, the caller needs to
+ * assert that the shrinker gfp has __GFP_FS set, to avoid
+ * deadlocking on lock_page(). If @writeback is set to true and
+ * called from reclaim context, the caller also needs to assert
+ * that the shrinker gfp has __GFP_IO set, since without it,
+ * we're not allowed to start backup IO.
+ *
+ * Return: A handle on success. Negative error code on failure.
+ *
+ * Note: This function could be extended to back up a folio and
+ * implementations would then split the folio internally if needed.
+ * Drawback is that the caller would then have to keep track of
+ * the folio size- and usage.
+ */
+s64
+ttm_backup_backup_page(struct ttm_backup *backup, struct page *page,
+ bool writeback, pgoff_t idx, gfp_t page_gfp,
+ gfp_t alloc_gfp)
+{
+ struct file *filp = ttm_backup_to_file(backup);
+ struct address_space *mapping = filp->f_mapping;
+ unsigned long handle = 0;
+ struct folio *to_folio;
+ int ret;
+
+ to_folio = shmem_read_folio_gfp(mapping, idx, alloc_gfp);
+ if (IS_ERR(to_folio))
+ return PTR_ERR(to_folio);
+
+ folio_mark_accessed(to_folio);
+ folio_lock(to_folio);
+ folio_mark_dirty(to_folio);
+ copy_highpage(folio_file_page(to_folio, idx), page);
+ handle = ttm_backup_shmem_idx_to_handle(idx);
+
+ if (writeback && !folio_mapped(to_folio) &&
+ folio_clear_dirty_for_io(to_folio)) {
+ struct writeback_control wbc = {
+ .sync_mode = WB_SYNC_NONE,
+ .nr_to_write = SWAP_CLUSTER_MAX,
+ .range_start = 0,
+ .range_end = LLONG_MAX,
+ .for_reclaim = 1,
+ };
+ folio_set_reclaim(to_folio);
+ ret = mapping->a_ops->writepage(folio_file_page(to_folio, idx), &wbc);
+ if (!folio_test_writeback(to_folio))
+ folio_clear_reclaim(to_folio);
+ /*
+ * If writepage succeeds, it unlocks the folio.
+ * writepage() errors are otherwise dropped, since writepage()
+ * is only best effort here.
+ */
+ if (ret)
+ folio_unlock(to_folio);
+ } else {
+ folio_unlock(to_folio);
+ }
+
+ folio_put(to_folio);
+
+ return handle;
+}
+
+/**
+ * ttm_backup_fini() - Free the struct backup resources after last use.
+ * @backup: Pointer to the struct backup whose resources to free.
+ *
+ * After a call to this function, it's illegal to use the @backup pointer.
+ */
+void ttm_backup_fini(struct ttm_backup *backup)
+{
+ fput(ttm_backup_to_file(backup));
+}
+
+/**
+ * ttm_backup_bytes_avail() - Report the approximate number of bytes of backup space
+ * left for backup.
+ *
+ * This function is intended also for driver use to indicate whether a
+ * backup attempt is meaningful.
+ *
+ * Return: An approximate size of backup space available.
+ */
+u64 ttm_backup_bytes_avail(void)
+{
+ /*
+ * The idea behind backing up to shmem is that shmem objects may
+ * eventually be swapped out. So no point swapping out if there
+ * is no or low swap-space available. But the accuracy of this
+ * number also depends on shmem actually swapping out backed-up
+ * shmem objects without too much buffering.
+ */
+ return (u64)get_nr_swap_pages() << PAGE_SHIFT;
+}
+EXPORT_SYMBOL_GPL(ttm_backup_bytes_avail);
+
+/**
+ * ttm_backup_shmem_create() - Create a shmem-based struct backup.
+ * @size: The maximum size (in bytes) to back up.
+ *
+ * Create a backup utilizing shmem objects.
+ *
+ * Return: A pointer to a struct ttm_backup on success,
+ * an error pointer on error.
+ */
+struct ttm_backup *ttm_backup_shmem_create(loff_t size)
+{
+ struct file *filp;
+
+ filp = shmem_file_setup("ttm shmem backup", size, 0);
+
+ return ttm_file_to_backup(filp);
+}
diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
index 917096bd5f68..15cab9bda17f 100644
--- a/drivers/gpu/drm/ttm/ttm_bo_util.c
+++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
@@ -28,7 +28,7 @@
/*
* Authors: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
*/
-
+#include <linux/swap.h>
#include <linux/vmalloc.h>
#include <drm/ttm/ttm_bo.h>
@@ -769,12 +769,10 @@ int ttm_bo_pipeline_gutting(struct ttm_buffer_object *bo)
return ret;
}
-static bool ttm_lru_walk_trylock(struct ttm_lru_walk *walk,
+static bool ttm_lru_walk_trylock(struct ttm_operation_ctx *ctx,
struct ttm_buffer_object *bo,
bool *needs_unlock)
{
- struct ttm_operation_ctx *ctx = walk->ctx;
-
*needs_unlock = false;
if (dma_resv_trylock(bo->base.resv)) {
@@ -877,7 +875,7 @@ s64 ttm_lru_walk_for_evict(struct ttm_lru_walk *walk, struct ttm_device *bdev,
* since if we do it the other way around, and the trylock fails,
* we need to drop the lru lock to put the bo.
*/
- if (ttm_lru_walk_trylock(walk, bo, &bo_needs_unlock))
+ if (ttm_lru_walk_trylock(walk->ctx, bo, &bo_needs_unlock))
bo_locked = true;
else if (!walk->ticket || walk->ctx->no_wait_gpu ||
walk->trylock_only)
@@ -920,3 +918,242 @@ s64 ttm_lru_walk_for_evict(struct ttm_lru_walk *walk, struct ttm_device *bdev,
return progress;
}
+EXPORT_SYMBOL(ttm_lru_walk_for_evict);
+
+static void ttm_bo_lru_cursor_cleanup_bo(struct ttm_bo_lru_cursor *curs)
+{
+ struct ttm_buffer_object *bo = curs->bo;
+
+ if (bo) {
+ if (curs->needs_unlock)
+ dma_resv_unlock(bo->base.resv);
+ ttm_bo_put(bo);
+ curs->bo = NULL;
+ }
+}
+
+/**
+ * ttm_bo_lru_cursor_fini() - Stop using a struct ttm_bo_lru_cursor
+ * and clean up any iteration it was used for.
+ * @curs: The cursor.
+ */
+void ttm_bo_lru_cursor_fini(struct ttm_bo_lru_cursor *curs)
+{
+ spinlock_t *lru_lock = &curs->res_curs.man->bdev->lru_lock;
+
+ ttm_bo_lru_cursor_cleanup_bo(curs);
+ spin_lock(lru_lock);
+ ttm_resource_cursor_fini(&curs->res_curs);
+ spin_unlock(lru_lock);
+}
+EXPORT_SYMBOL(ttm_bo_lru_cursor_fini);
+
+/**
+ * ttm_bo_lru_cursor_init() - Initialize a struct ttm_bo_lru_cursor
+ * @curs: The ttm_bo_lru_cursor to initialize.
+ * @man: The ttm resource_manager whose LRU lists to iterate over.
+ * @ctx: The ttm_operation_ctx to govern the locking.
+ *
+ * Initialize a struct ttm_bo_lru_cursor. Currently only trylocking
+ * or prelocked buffer objects are available as detailed by
+ * @ctx::resv and @ctx::allow_res_evict. Ticketlocking is not
+ * supported.
+ *
+ * Return: Pointer to @curs. The function does not fail.
+ */
+struct ttm_bo_lru_cursor *
+ttm_bo_lru_cursor_init(struct ttm_bo_lru_cursor *curs,
+ struct ttm_resource_manager *man,
+ struct ttm_operation_ctx *ctx)
+{
+ memset(curs, 0, sizeof(*curs));
+ ttm_resource_cursor_init(&curs->res_curs, man);
+ curs->ctx = ctx;
+
+ return curs;
+}
+EXPORT_SYMBOL(ttm_bo_lru_cursor_init);
+
+static struct ttm_buffer_object *
+ttm_bo_from_res_reserved(struct ttm_resource *res, struct ttm_bo_lru_cursor *curs)
+{
+ struct ttm_buffer_object *bo = res->bo;
+
+ if (!ttm_lru_walk_trylock(curs->ctx, bo, &curs->needs_unlock))
+ return NULL;
+
+ if (!ttm_bo_get_unless_zero(bo)) {
+ if (curs->needs_unlock)
+ dma_resv_unlock(bo->base.resv);
+ return NULL;
+ }
+
+ curs->bo = bo;
+ return bo;
+}
+
+/**
+ * ttm_bo_lru_cursor_next() - Continue iterating a manager's LRU lists
+ * to find and lock buffer object.
+ * @curs: The cursor initialized using ttm_bo_lru_cursor_init() and
+ * ttm_bo_lru_cursor_first().
+ *
+ * Return: A pointer to a locked and reference-counted buffer object,
+ * or NULL if none could be found and looping should be terminated.
+ */
+struct ttm_buffer_object *ttm_bo_lru_cursor_next(struct ttm_bo_lru_cursor *curs)
+{
+ spinlock_t *lru_lock = &curs->res_curs.man->bdev->lru_lock;
+ struct ttm_resource *res = NULL;
+ struct ttm_buffer_object *bo;
+
+ ttm_bo_lru_cursor_cleanup_bo(curs);
+
+ spin_lock(lru_lock);
+ for (;;) {
+ res = ttm_resource_manager_next(&curs->res_curs);
+ if (!res)
+ break;
+
+ bo = ttm_bo_from_res_reserved(res, curs);
+ if (bo)
+ break;
+ }
+
+ spin_unlock(lru_lock);
+ return res ? bo : NULL;
+}
+EXPORT_SYMBOL(ttm_bo_lru_cursor_next);
+
+/**
+ * ttm_bo_lru_cursor_first() - Start iterating a manager's LRU lists
+ * to find and lock buffer object.
+ * @curs: The cursor initialized using ttm_bo_lru_cursor_init().
+ *
+ * Return: A pointer to a locked and reference-counted buffer object,
+ * or NULL if none could be found and looping should be terminated.
+ */
+struct ttm_buffer_object *ttm_bo_lru_cursor_first(struct ttm_bo_lru_cursor *curs)
+{
+ spinlock_t *lru_lock = &curs->res_curs.man->bdev->lru_lock;
+ struct ttm_buffer_object *bo;
+ struct ttm_resource *res;
+
+ spin_lock(lru_lock);
+ res = ttm_resource_manager_first(&curs->res_curs);
+ if (!res) {
+ spin_unlock(lru_lock);
+ return NULL;
+ }
+
+ bo = ttm_bo_from_res_reserved(res, curs);
+ spin_unlock(lru_lock);
+
+ return bo ? bo : ttm_bo_lru_cursor_next(curs);
+}
+EXPORT_SYMBOL(ttm_bo_lru_cursor_first);
+
+/**
+ * ttm_bo_shrink() - Helper to shrink a ttm buffer object.
+ * @ctx: The struct ttm_operation_ctx used for the shrinking operation.
+ * @bo: The buffer object.
+ * @flags: Flags governing the shrinking behaviour.
+ *
+ * The function uses the ttm_tt_back_up functionality to back up or
+ * purge a struct ttm_tt. If the bo is not in system, it's first
+ * moved there.
+ *
+ * Return: The number of pages shrunken or purged, or
+ * negative error code on failure.
+ */
+long ttm_bo_shrink(struct ttm_operation_ctx *ctx, struct ttm_buffer_object *bo,
+ const struct ttm_bo_shrink_flags flags)
+{
+ static const struct ttm_place sys_placement_flags = {
+ .fpfn = 0,
+ .lpfn = 0,
+ .mem_type = TTM_PL_SYSTEM,
+ .flags = 0,
+ };
+ static struct ttm_placement sys_placement = {
+ .num_placement = 1,
+ .placement = &sys_placement_flags,
+ };
+ struct ttm_tt *tt = bo->ttm;
+ long lret;
+
+ dma_resv_assert_held(bo->base.resv);
+
+ if (flags.allow_move && bo->resource->mem_type != TTM_PL_SYSTEM) {
+ int ret = ttm_bo_validate(bo, &sys_placement, ctx);
+
+ /* Consider -ENOMEM and -ENOSPC non-fatal. */
+ if (ret) {
+ if (ret == -ENOMEM || ret == -ENOSPC)
+ ret = -EBUSY;
+ return ret;
+ }
+ }
+
+ ttm_bo_unmap_virtual(bo);
+ lret = ttm_bo_wait_ctx(bo, ctx);
+ if (lret < 0)
+ return lret;
+
+ if (bo->bulk_move) {
+ spin_lock(&bo->bdev->lru_lock);
+ ttm_resource_del_bulk_move(bo->resource, bo);
+ spin_unlock(&bo->bdev->lru_lock);
+ }
+
+ lret = ttm_tt_backup(bo->bdev, tt, (struct ttm_backup_flags)
+ {.purge = flags.purge,
+ .writeback = flags.writeback});
+
+ if (lret <= 0 && bo->bulk_move) {
+ spin_lock(&bo->bdev->lru_lock);
+ ttm_resource_add_bulk_move(bo->resource, bo);
+ spin_unlock(&bo->bdev->lru_lock);
+ }
+
+ if (lret < 0 && lret != -EINTR)
+ return -EBUSY;
+
+ return lret;
+}
+EXPORT_SYMBOL(ttm_bo_shrink);
+
+/**
+ * ttm_bo_shrink_suitable() - Whether a bo is suitable for shinking
+ * @ctx: The struct ttm_operation_ctx governing the shrinking.
+ * @bo: The candidate for shrinking.
+ *
+ * Check whether the object, given the information available to TTM,
+ * is suitable for shinking, This function can and should be used
+ * before attempting to shrink an object.
+ *
+ * Return: true if suitable. false if not.
+ */
+bool ttm_bo_shrink_suitable(struct ttm_buffer_object *bo, struct ttm_operation_ctx *ctx)
+{
+ return bo->ttm && ttm_tt_is_populated(bo->ttm) && !bo->pin_count &&
+ (!ctx->no_wait_gpu ||
+ dma_resv_test_signaled(bo->base.resv, DMA_RESV_USAGE_BOOKKEEP));
+}
+EXPORT_SYMBOL(ttm_bo_shrink_suitable);
+
+/**
+ * ttm_bo_shrink_avoid_wait() - Whether to avoid waiting for GPU
+ * during shrinking
+ *
+ * In some situations, like direct reclaim, waiting (in particular gpu waiting)
+ * should be avoided since it may stall a system that could otherwise make progress
+ * shrinking something else less time consuming.
+ *
+ * Return: true if gpu waiting should be avoided, false if not.
+ */
+bool ttm_bo_shrink_avoid_wait(void)
+{
+ return !current_is_kswapd();
+}
+EXPORT_SYMBOL(ttm_bo_shrink_avoid_wait);
diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
index c9eba76d5143..83b10706ba89 100644
--- a/drivers/gpu/drm/ttm/ttm_pool.c
+++ b/drivers/gpu/drm/ttm/ttm_pool.c
@@ -41,12 +41,20 @@
#include <asm/set_memory.h>
#endif
+#include <drm/ttm/ttm_backup.h>
#include <drm/ttm/ttm_pool.h>
#include <drm/ttm/ttm_tt.h>
#include <drm/ttm/ttm_bo.h>
#include "ttm_module.h"
+#ifdef CONFIG_FAULT_INJECTION
+#include <linux/fault-inject.h>
+static DECLARE_FAULT_ATTR(backup_fault_inject);
+#else
+#define should_fail(...) false
+#endif
+
/**
* struct ttm_pool_dma - Helper object for coherent DMA mappings
*
@@ -75,6 +83,35 @@ struct ttm_pool_alloc_state {
enum ttm_caching tt_caching;
};
+/**
+ * struct ttm_pool_tt_restore - State representing restore from backup
+ * @pool: The pool used for page allocation while restoring.
+ * @snapshot_alloc: A snapshot of the most recent struct ttm_pool_alloc_state.
+ * @alloced_page: Pointer to the page most recently allocated from a pool or system.
+ * @first_dma: The dma address corresponding to @alloced_page if dma_mapping
+ * is requested.
+ * @alloced_pages: The number of allocated pages present in the struct ttm_tt
+ * page vector from this restore session.
+ * @restored_pages: The number of 4K pages restored for @alloced_page (which
+ * is typically a multi-order page).
+ * @page_caching: The struct ttm_tt requested caching
+ * @order: The order of @alloced_page.
+ *
+ * Recovery from backup might fail when we've recovered less than the
+ * full ttm_tt. In order not to loose any data (yet), keep information
+ * around that allows us to restart a failed ttm backup recovery.
+ */
+struct ttm_pool_tt_restore {
+ struct ttm_pool *pool;
+ struct ttm_pool_alloc_state snapshot_alloc;
+ struct page *alloced_page;
+ dma_addr_t first_dma;
+ pgoff_t alloced_pages;
+ pgoff_t restored_pages;
+ enum ttm_caching page_caching;
+ unsigned int order;
+};
+
static unsigned long page_pool_size;
MODULE_PARM_DESC(page_pool_size, "Number of pages in the WC/UC/DMA pool");
@@ -199,12 +236,11 @@ static int ttm_pool_apply_caching(struct ttm_pool_alloc_state *alloc)
return 0;
}
-/* Map pages of 1 << order size and fill the DMA address array */
+/* DMA Map pages of 1 << order size and return the resulting dma_address. */
static int ttm_pool_map(struct ttm_pool *pool, unsigned int order,
- struct page *p, dma_addr_t **dma_addr)
+ struct page *p, dma_addr_t *dma_addr)
{
dma_addr_t addr;
- unsigned int i;
if (pool->use_dma_alloc) {
struct ttm_pool_dma *dma = (void *)p->private;
@@ -218,10 +254,7 @@ static int ttm_pool_map(struct ttm_pool *pool, unsigned int order,
return -EFAULT;
}
- for (i = 1 << order; i ; --i) {
- *(*dma_addr)++ = addr;
- addr += PAGE_SIZE;
- }
+ *dma_addr = addr;
return 0;
}
@@ -371,6 +404,196 @@ static unsigned int ttm_pool_page_order(struct ttm_pool *pool, struct page *p)
return p->private;
}
+/*
+ * Split larger pages so that we can free each PAGE_SIZE page as soon
+ * as it has been backed up, in order to avoid memory pressure during
+ * reclaim.
+ */
+static void ttm_pool_split_for_swap(struct ttm_pool *pool, struct page *p)
+{
+ unsigned int order = ttm_pool_page_order(pool, p);
+ pgoff_t nr;
+
+ if (!order)
+ return;
+
+ split_page(p, order);
+ nr = 1UL << order;
+ while (nr--)
+ (p++)->private = 0;
+}
+
+/**
+ * DOC: Partial backup and restoration of a struct ttm_tt.
+ *
+ * Swapout using ttm_backup_backup_page() and swapin using
+ * ttm_backup_copy_page() may fail.
+ * The former most likely due to lack of swap-space or memory, the latter due
+ * to lack of memory or because of signal interruption during waits.
+ *
+ * Backup failure is easily handled by using a ttm_tt pages vector that holds
+ * both backup handles and page pointers. This has to be taken into account when
+ * restoring such a ttm_tt from backup, and when freeing it while backed up.
+ * When restoring, for simplicity, new pages are actually allocated from the
+ * pool and the contents of any old pages are copied in and then the old pages
+ * are released.
+ *
+ * For restoration failures, the struct ttm_pool_tt_restore holds sufficient state
+ * to be able to resume an interrupted restore, and that structure is freed once
+ * the restoration is complete. If the struct ttm_tt is destroyed while there
+ * is a valid struct ttm_pool_tt_restore attached, that is also properly taken
+ * care of.
+ */
+
+/* Is restore ongoing for the currently allocated page? */
+static bool ttm_pool_restore_valid(const struct ttm_pool_tt_restore *restore)
+{
+ return restore && restore->restored_pages < (1 << restore->order);
+}
+
+/* DMA unmap and free a multi-order page, either to the relevant pool or to system. */
+static pgoff_t ttm_pool_unmap_and_free(struct ttm_pool *pool, struct page *page,
+ const dma_addr_t *dma_addr, enum ttm_caching caching)
+{
+ struct ttm_pool_type *pt = NULL;
+ unsigned int order;
+ pgoff_t nr;
+
+ if (pool) {
+ order = ttm_pool_page_order(pool, page);
+ nr = (1UL << order);
+ if (dma_addr)
+ ttm_pool_unmap(pool, *dma_addr, nr);
+
+ pt = ttm_pool_select_type(pool, caching, order);
+ } else {
+ order = page->private;
+ nr = (1UL << order);
+ }
+
+ if (pt)
+ ttm_pool_type_give(pt, page);
+ else
+ ttm_pool_free_page(pool, caching, order, page);
+
+ return nr;
+}
+
+/* Populate the page-array using the most recent allocated multi-order page. */
+static void ttm_pool_allocated_page_commit(struct page *allocated,
+ dma_addr_t first_dma,
+ struct ttm_pool_alloc_state *alloc,
+ pgoff_t nr)
+{
+ pgoff_t i;
+
+ for (i = 0; i < nr; ++i)
+ *alloc->pages++ = allocated++;
+
+ alloc->remaining_pages -= nr;
+
+ if (!alloc->dma_addr)
+ return;
+
+ for (i = 0; i < nr; ++i) {
+ *alloc->dma_addr++ = first_dma;
+ first_dma += PAGE_SIZE;
+ }
+}
+
+/*
+ * When restoring, restore backed-up content to the newly allocated page and
+ * if successful, populate the page-table and dma-address arrays.
+ */
+static int ttm_pool_restore_commit(struct ttm_pool_tt_restore *restore,
+ struct ttm_backup *backup,
+ const struct ttm_operation_ctx *ctx,
+ struct ttm_pool_alloc_state *alloc)
+
+{
+ pgoff_t i, nr = 1UL << restore->order;
+ struct page **first_page = alloc->pages;
+ struct page *p;
+ int ret = 0;
+
+ for (i = restore->restored_pages; i < nr; ++i) {
+ p = first_page[i];
+ if (ttm_backup_page_ptr_is_handle(p)) {
+ unsigned long handle = ttm_backup_page_ptr_to_handle(p);
+
+ if (IS_ENABLED(CONFIG_FAULT_INJECTION) && ctx->interruptible &&
+ should_fail(&backup_fault_inject, 1)) {
+ ret = -EINTR;
+ break;
+ }
+
+ if (handle == 0) {
+ restore->restored_pages++;
+ continue;
+ }
+
+ ret = ttm_backup_copy_page(backup, restore->alloced_page + i,
+ handle, ctx->interruptible);
+ if (ret)
+ break;
+
+ ttm_backup_drop(backup, handle);
+ } else if (p) {
+ /*
+ * We could probably avoid splitting the old page
+ * using clever logic, but ATM we don't care, as
+ * we prioritize releasing memory ASAP. Note that
+ * here, the old retained page is always write-back
+ * cached.
+ */
+ ttm_pool_split_for_swap(restore->pool, p);
+ copy_highpage(restore->alloced_page + i, p);
+ __free_pages(p, 0);
+ }
+
+ restore->restored_pages++;
+ first_page[i] = ttm_backup_handle_to_page_ptr(0);
+ }
+
+ if (ret) {
+ if (!restore->restored_pages) {
+ dma_addr_t *dma_addr = alloc->dma_addr ? &restore->first_dma : NULL;
+
+ ttm_pool_unmap_and_free(restore->pool, restore->alloced_page,
+ dma_addr, restore->page_caching);
+ restore->restored_pages = nr;
+ }
+ return ret;
+ }
+
+ ttm_pool_allocated_page_commit(restore->alloced_page, restore->first_dma,
+ alloc, nr);
+ if (restore->page_caching == alloc->tt_caching || PageHighMem(restore->alloced_page))
+ alloc->caching_divide = alloc->pages;
+ restore->snapshot_alloc = *alloc;
+ restore->alloced_pages += nr;
+
+ return 0;
+}
+
+/* If restoring, save information needed for ttm_pool_restore_commit(). */
+static void
+ttm_pool_page_allocated_restore(struct ttm_pool *pool, unsigned int order,
+ struct page *p,
+ enum ttm_caching page_caching,
+ dma_addr_t first_dma,
+ struct ttm_pool_tt_restore *restore,
+ const struct ttm_pool_alloc_state *alloc)
+{
+ restore->pool = pool;
+ restore->order = order;
+ restore->restored_pages = 0;
+ restore->page_caching = page_caching;
+ restore->first_dma = first_dma;
+ restore->alloced_page = p;
+ restore->snapshot_alloc = *alloc;
+}
+
/*
* Called when we got a page, either from a pool or newly allocated.
* if needed, dma map the page and populate the dma address array.
@@ -380,10 +603,11 @@ static unsigned int ttm_pool_page_order(struct ttm_pool *pool, struct page *p)
*/
static int ttm_pool_page_allocated(struct ttm_pool *pool, unsigned int order,
struct page *p, enum ttm_caching page_caching,
- struct ttm_pool_alloc_state *alloc)
+ struct ttm_pool_alloc_state *alloc,
+ struct ttm_pool_tt_restore *restore)
{
- pgoff_t i, nr = 1UL << order;
bool caching_consistent;
+ dma_addr_t first_dma;
int r = 0;
caching_consistent = (page_caching == alloc->tt_caching) || PageHighMem(p);
@@ -395,17 +619,20 @@ static int ttm_pool_page_allocated(struct ttm_pool *pool, unsigned int order,
}
if (alloc->dma_addr) {
- r = ttm_pool_map(pool, order, p, &alloc->dma_addr);
+ r = ttm_pool_map(pool, order, p, &first_dma);
if (r)
return r;
}
- alloc->remaining_pages -= nr;
- for (i = 0; i < nr; ++i)
- *alloc->pages++ = p++;
+ if (restore) {
+ ttm_pool_page_allocated_restore(pool, order, p, page_caching,
+ first_dma, restore, alloc);
+ } else {
+ ttm_pool_allocated_page_commit(p, first_dma, alloc, 1UL << order);
- if (caching_consistent)
- alloc->caching_divide = alloc->pages;
+ if (caching_consistent)
+ alloc->caching_divide = alloc->pages;
+ }
return 0;
}
@@ -428,22 +655,24 @@ static void ttm_pool_free_range(struct ttm_pool *pool, struct ttm_tt *tt,
pgoff_t start_page, pgoff_t end_page)
{
struct page **pages = &tt->pages[start_page];
- unsigned int order;
+ struct ttm_backup *backup = tt->backup;
pgoff_t i, nr;
for (i = start_page; i < end_page; i += nr, pages += nr) {
- struct ttm_pool_type *pt = NULL;
+ struct page *p = *pages;
- order = ttm_pool_page_order(pool, *pages);
- nr = (1UL << order);
- if (tt->dma_address)
- ttm_pool_unmap(pool, tt->dma_address[i], nr);
+ nr = 1;
+ if (ttm_backup_page_ptr_is_handle(p)) {
+ unsigned long handle = ttm_backup_page_ptr_to_handle(p);
- pt = ttm_pool_select_type(pool, caching, order);
- if (pt)
- ttm_pool_type_give(pt, *pages);
- else
- ttm_pool_free_page(pool, caching, order, *pages);
+ if (handle != 0)
+ ttm_backup_drop(backup, handle);
+ } else if (p) {
+ dma_addr_t *dma_addr = tt->dma_address ?
+ tt->dma_address + i : NULL;
+
+ nr = ttm_pool_unmap_and_free(pool, p, dma_addr, caching);
+ }
}
}
@@ -467,22 +696,11 @@ static unsigned int ttm_pool_alloc_find_order(unsigned int highest,
return min_t(unsigned int, highest, __fls(alloc->remaining_pages));
}
-/**
- * ttm_pool_alloc - Fill a ttm_tt object
- *
- * @pool: ttm_pool to use
- * @tt: ttm_tt object to fill
- * @ctx: operation context
- *
- * Fill the ttm_tt object with pages and also make sure to DMA map them when
- * necessary.
- *
- * Returns: 0 on successe, negative error code otherwise.
- */
-int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
- struct ttm_operation_ctx *ctx)
+static int __ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
+ const struct ttm_operation_ctx *ctx,
+ struct ttm_pool_alloc_state *alloc,
+ struct ttm_pool_tt_restore *restore)
{
- struct ttm_pool_alloc_state alloc;
enum ttm_caching page_caching;
gfp_t gfp_flags = GFP_USER;
pgoff_t caching_divide;
@@ -491,10 +709,8 @@ int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
struct page *p;
int r;
- ttm_pool_alloc_state_init(tt, &alloc);
-
- WARN_ON(!alloc.remaining_pages || ttm_tt_is_populated(tt));
- WARN_ON(alloc.dma_addr && !pool->dev);
+ WARN_ON(!alloc->remaining_pages || ttm_tt_is_populated(tt));
+ WARN_ON(alloc->dma_addr && !pool->dev);
if (tt->page_flags & TTM_TT_FLAG_ZERO_ALLOC)
gfp_flags |= __GFP_ZERO;
@@ -509,9 +725,9 @@ int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
page_caching = tt->caching;
allow_pools = true;
- for (order = ttm_pool_alloc_find_order(MAX_PAGE_ORDER, &alloc);
- alloc.remaining_pages;
- order = ttm_pool_alloc_find_order(order, &alloc)) {
+ for (order = ttm_pool_alloc_find_order(MAX_PAGE_ORDER, alloc);
+ alloc->remaining_pages;
+ order = ttm_pool_alloc_find_order(order, alloc)) {
struct ttm_pool_type *pt;
/* First, try to allocate a page from a pool if one exists. */
@@ -541,30 +757,120 @@ int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
r = -ENOMEM;
goto error_free_all;
}
- r = ttm_pool_page_allocated(pool, order, p, page_caching, &alloc);
+ r = ttm_pool_page_allocated(pool, order, p, page_caching, alloc,
+ restore);
if (r)
goto error_free_page;
+
+ if (ttm_pool_restore_valid(restore)) {
+ r = ttm_pool_restore_commit(restore, tt->backup, ctx, alloc);
+ if (r)
+ goto error_free_all;
+ }
}
- r = ttm_pool_apply_caching(&alloc);
+ r = ttm_pool_apply_caching(alloc);
if (r)
goto error_free_all;
+ kfree(tt->restore);
+ tt->restore = NULL;
+
return 0;
error_free_page:
ttm_pool_free_page(pool, page_caching, order, p);
error_free_all:
- caching_divide = alloc.caching_divide - tt->pages;
+ if (tt->restore)
+ return r;
+
+ caching_divide = alloc->caching_divide - tt->pages;
ttm_pool_free_range(pool, tt, tt->caching, 0, caching_divide);
ttm_pool_free_range(pool, tt, ttm_cached, caching_divide,
- tt->num_pages - alloc.remaining_pages);
+ tt->num_pages - alloc->remaining_pages);
return r;
}
+
+/**
+ * ttm_pool_alloc - Fill a ttm_tt object
+ *
+ * @pool: ttm_pool to use
+ * @tt: ttm_tt object to fill
+ * @ctx: operation context
+ *
+ * Fill the ttm_tt object with pages and also make sure to DMA map them when
+ * necessary.
+ *
+ * Returns: 0 on successe, negative error code otherwise.
+ */
+int ttm_pool_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
+ struct ttm_operation_ctx *ctx)
+{
+ struct ttm_pool_alloc_state alloc;
+
+ if (WARN_ON(ttm_tt_is_backed_up(tt)))
+ return -EINVAL;
+
+ ttm_pool_alloc_state_init(tt, &alloc);
+
+ return __ttm_pool_alloc(pool, tt, ctx, &alloc, NULL);
+}
EXPORT_SYMBOL(ttm_pool_alloc);
+/**
+ * ttm_pool_restore_and_alloc - Fill a ttm_tt, restoring previously backed-up
+ * content.
+ *
+ * @pool: ttm_pool to use
+ * @tt: ttm_tt object to fill
+ * @ctx: operation context
+ *
+ * Fill the ttm_tt object with pages and also make sure to DMA map them when
+ * necessary. Read in backed-up content.
+ *
+ * Returns: 0 on successe, negative error code otherwise.
+ */
+int ttm_pool_restore_and_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
+ const struct ttm_operation_ctx *ctx)
+{
+ struct ttm_pool_alloc_state alloc;
+
+ if (WARN_ON(!ttm_tt_is_backed_up(tt)))
+ return -EINVAL;
+
+ if (!tt->restore) {
+ gfp_t gfp = GFP_KERNEL | __GFP_NOWARN;
+
+ ttm_pool_alloc_state_init(tt, &alloc);
+ if (ctx->gfp_retry_mayfail)
+ gfp |= __GFP_RETRY_MAYFAIL;
+
+ tt->restore = kzalloc(sizeof(*tt->restore), gfp);
+ if (!tt->restore)
+ return -ENOMEM;
+
+ tt->restore->snapshot_alloc = alloc;
+ tt->restore->pool = pool;
+ tt->restore->restored_pages = 1;
+ } else {
+ struct ttm_pool_tt_restore *restore = tt->restore;
+ int ret;
+
+ alloc = restore->snapshot_alloc;
+ if (ttm_pool_restore_valid(tt->restore)) {
+ ret = ttm_pool_restore_commit(restore, tt->backup, ctx, &alloc);
+ if (ret)
+ return ret;
+ }
+ if (!alloc.remaining_pages)
+ return 0;
+ }
+
+ return __ttm_pool_alloc(pool, tt, ctx, &alloc, tt->restore);
+}
+
/**
* ttm_pool_free - Free the backing pages from a ttm_tt object
*
@@ -582,6 +888,169 @@ void ttm_pool_free(struct ttm_pool *pool, struct ttm_tt *tt)
}
EXPORT_SYMBOL(ttm_pool_free);
+/**
+ * ttm_pool_drop_backed_up() - Release content of a swapped-out struct ttm_tt
+ * @tt: The struct ttm_tt.
+ *
+ * Release handles with associated content or any remaining pages of
+ * a backed-up struct ttm_tt.
+ */
+void ttm_pool_drop_backed_up(struct ttm_tt *tt)
+{
+ struct ttm_pool_tt_restore *restore;
+ pgoff_t start_page = 0;
+
+ WARN_ON(!ttm_tt_is_backed_up(tt));
+
+ restore = tt->restore;
+
+ /*
+ * Unmap and free any uncommitted restore page.
+ * any tt page-array backup entries already read back has
+ * been cleared already
+ */
+ if (ttm_pool_restore_valid(restore)) {
+ dma_addr_t *dma_addr = tt->dma_address ? &restore->first_dma : NULL;
+
+ ttm_pool_unmap_and_free(restore->pool, restore->alloced_page,
+ dma_addr, restore->page_caching);
+ restore->restored_pages = 1UL << restore->order;
+ }
+
+ /*
+ * If a restore is ongoing, part of the tt pages may have a
+ * caching different than writeback.
+ */
+ if (restore) {
+ pgoff_t mid = restore->snapshot_alloc.caching_divide - tt->pages;
+
+ start_page = restore->alloced_pages;
+ WARN_ON(mid > start_page);
+ /* Pages that might be dma-mapped and non-cached */
+ ttm_pool_free_range(restore->pool, tt, tt->caching,
+ 0, mid);
+ /* Pages that might be dma-mapped but cached */
+ ttm_pool_free_range(restore->pool, tt, ttm_cached,
+ mid, restore->alloced_pages);
+ kfree(restore);
+ tt->restore = NULL;
+ }
+
+ ttm_pool_free_range(NULL, tt, ttm_cached, start_page, tt->num_pages);
+}
+
+/**
+ * ttm_pool_backup() - Back up or purge a struct ttm_tt
+ * @pool: The pool used when allocating the struct ttm_tt.
+ * @tt: The struct ttm_tt.
+ * @flags: Flags to govern the backup behaviour.
+ *
+ * Back up or purge a struct ttm_tt. If @purge is true, then
+ * all pages will be freed directly to the system rather than to the pool
+ * they were allocated from, making the function behave similarly to
+ * ttm_pool_free(). If @purge is false the pages will be backed up instead,
+ * exchanged for handles.
+ * A subsequent call to ttm_pool_restore_and_alloc() will then read back the content and
+ * a subsequent call to ttm_pool_drop_backed_up() will drop it.
+ * If backup of a page fails for whatever reason, @ttm will still be
+ * partially backed up, retaining those pages for which backup fails.
+ * In that case, this function can be retried, possibly after freeing up
+ * memory resources.
+ *
+ * Return: Number of pages actually backed up or freed, or negative
+ * error code on error.
+ */
+long ttm_pool_backup(struct ttm_pool *pool, struct ttm_tt *tt,
+ const struct ttm_backup_flags *flags)
+{
+ struct ttm_backup *backup = tt->backup;
+ struct page *page;
+ unsigned long handle;
+ gfp_t alloc_gfp;
+ gfp_t gfp;
+ int ret = 0;
+ pgoff_t shrunken = 0;
+ pgoff_t i, num_pages;
+
+ if (WARN_ON(ttm_tt_is_backed_up(tt)))
+ return -EINVAL;
+
+ if ((!ttm_backup_bytes_avail() && !flags->purge) ||
+ pool->use_dma_alloc || ttm_tt_is_backed_up(tt))
+ return -EBUSY;
+
+#ifdef CONFIG_X86
+ /* Anything returned to the system needs to be cached. */
+ if (tt->caching != ttm_cached)
+ set_pages_array_wb(tt->pages, tt->num_pages);
+#endif
+
+ if (tt->dma_address || flags->purge) {
+ for (i = 0; i < tt->num_pages; i += num_pages) {
+ unsigned int order;
+
+ page = tt->pages[i];
+ if (unlikely(!page)) {
+ num_pages = 1;
+ continue;
+ }
+
+ order = ttm_pool_page_order(pool, page);
+ num_pages = 1UL << order;
+ if (tt->dma_address)
+ ttm_pool_unmap(pool, tt->dma_address[i],
+ num_pages);
+ if (flags->purge) {
+ shrunken += num_pages;
+ page->private = 0;
+ __free_pages(page, order);
+ memset(tt->pages + i, 0,
+ num_pages * sizeof(*tt->pages));
+ }
+ }
+ }
+
+ if (flags->purge)
+ return shrunken;
+
+ if (pool->use_dma32)
+ gfp = GFP_DMA32;
+ else
+ gfp = GFP_HIGHUSER;
+
+ alloc_gfp = GFP_KERNEL | __GFP_HIGH | __GFP_NOWARN | __GFP_RETRY_MAYFAIL;
+
+ num_pages = tt->num_pages;
+
+ /* Pretend doing fault injection by shrinking only half of the pages. */
+ if (IS_ENABLED(CONFIG_FAULT_INJECTION) && should_fail(&backup_fault_inject, 1))
+ num_pages = DIV_ROUND_UP(num_pages, 2);
+
+ for (i = 0; i < num_pages; ++i) {
+ s64 shandle;
+
+ page = tt->pages[i];
+ if (unlikely(!page))
+ continue;
+
+ ttm_pool_split_for_swap(pool, page);
+
+ shandle = ttm_backup_backup_page(backup, page, flags->writeback, i,
+ gfp, alloc_gfp);
+ if (shandle < 0) {
+ /* We allow partially shrunken tts */
+ ret = shandle;
+ break;
+ }
+ handle = shandle;
+ tt->pages[i] = ttm_backup_handle_to_page_ptr(handle);
+ put_page(page);
+ shrunken++;
+ }
+
+ return shrunken ? shrunken : ret;
+}
+
/**
* ttm_pool_init - Initialize a pool
*
@@ -843,6 +1312,10 @@ int ttm_pool_mgr_init(unsigned long num_pages)
&ttm_pool_debugfs_globals_fops);
debugfs_create_file("page_pool_shrink", 0400, ttm_debugfs_root, NULL,
&ttm_pool_debugfs_shrink_fops);
+#ifdef CONFIG_FAULT_INJECTION
+ fault_create_debugfs_attr("backup_fault_inject", ttm_debugfs_root,
+ &backup_fault_inject);
+#endif
#endif
mm_shrinker = shrinker_alloc(0, "drm-ttm_pool");
diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index 3baf215eca23..df0aa6c4b8b8 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -40,6 +40,7 @@
#include <drm/drm_cache.h>
#include <drm/drm_device.h>
#include <drm/drm_util.h>
+#include <drm/ttm/ttm_backup.h>
#include <drm/ttm/ttm_bo.h>
#include <drm/ttm/ttm_tt.h>
@@ -158,6 +159,8 @@ static void ttm_tt_init_fields(struct ttm_tt *ttm,
ttm->swap_storage = NULL;
ttm->sg = bo->sg;
ttm->caching = caching;
+ ttm->restore = NULL;
+ ttm->backup = NULL;
}
int ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo,
@@ -182,6 +185,13 @@ void ttm_tt_fini(struct ttm_tt *ttm)
fput(ttm->swap_storage);
ttm->swap_storage = NULL;
+ if (ttm_tt_is_backed_up(ttm))
+ ttm_pool_drop_backed_up(ttm);
+ if (ttm->backup) {
+ ttm_backup_fini(ttm->backup);
+ ttm->backup = NULL;
+ }
+
if (ttm->pages)
kvfree(ttm->pages);
else
@@ -253,6 +263,49 @@ int ttm_tt_swapin(struct ttm_tt *ttm)
}
EXPORT_SYMBOL_FOR_TESTS_ONLY(ttm_tt_swapin);
+/**
+ * ttm_tt_backup() - Helper to back up a struct ttm_tt.
+ * @bdev: The TTM device.
+ * @tt: The struct ttm_tt.
+ * @flags: Flags that govern the backup behaviour.
+ *
+ * Update the page accounting and call ttm_pool_shrink_tt to free pages
+ * or back them up.
+ *
+ * Return: Number of pages freed or swapped out, or negative error code on
+ * error.
+ */
+long ttm_tt_backup(struct ttm_device *bdev, struct ttm_tt *tt,
+ const struct ttm_backup_flags flags)
+{
+ long ret;
+
+ if (WARN_ON(IS_ERR_OR_NULL(tt->backup)))
+ return 0;
+
+ ret = ttm_pool_backup(&bdev->pool, tt, &flags);
+ if (ret > 0) {
+ tt->page_flags &= ~TTM_TT_FLAG_PRIV_POPULATED;
+ tt->page_flags |= TTM_TT_FLAG_BACKED_UP;
+ }
+
+ return ret;
+}
+
+int ttm_tt_restore(struct ttm_device *bdev, struct ttm_tt *tt,
+ const struct ttm_operation_ctx *ctx)
+{
+ int ret = ttm_pool_restore_and_alloc(&bdev->pool, tt, ctx);
+
+ if (ret)
+ return ret;
+
+ tt->page_flags &= ~TTM_TT_FLAG_BACKED_UP;
+
+ return 0;
+}
+EXPORT_SYMBOL(ttm_tt_restore);
+
/**
* ttm_tt_swapout - swap out tt object
*
@@ -348,6 +401,7 @@ int ttm_tt_populate(struct ttm_device *bdev,
goto error;
ttm->page_flags |= TTM_TT_FLAG_PRIV_POPULATED;
+ ttm->page_flags &= ~TTM_TT_FLAG_BACKED_UP;
if (unlikely(ttm->page_flags & TTM_TT_FLAG_SWAPPED)) {
ret = ttm_tt_swapin(ttm);
if (unlikely(ret != 0)) {
@@ -477,3 +531,32 @@ unsigned long ttm_tt_pages_limit(void)
return ttm_pages_limit;
}
EXPORT_SYMBOL(ttm_tt_pages_limit);
+
+/**
+ * ttm_tt_setup_backup() - Allocate and assign a backup structure for a ttm_tt
+ * @tt: The ttm_tt for wich to allocate and assign a backup structure.
+ *
+ * Assign a backup structure to be used for tt backup. This should
+ * typically be done at bo creation, to avoid allocations at shrinking
+ * time.
+ *
+ * Return: 0 on success, negative error code on failure.
+ */
+int ttm_tt_setup_backup(struct ttm_tt *tt)
+{
+ struct ttm_backup *backup =
+ ttm_backup_shmem_create(((loff_t)tt->num_pages) << PAGE_SHIFT);
+
+ if (WARN_ON_ONCE(!(tt->page_flags & TTM_TT_FLAG_EXTERNAL_MAPPABLE)))
+ return -EINVAL;
+
+ if (IS_ERR(backup))
+ return PTR_ERR(backup);
+
+ if (tt->backup)
+ ttm_backup_fini(tt->backup);
+
+ tt->backup = backup;
+ return 0;
+}
+EXPORT_SYMBOL(ttm_tt_setup_backup);
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 856b14fe1c4d..1d52224355f1 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -100,6 +100,7 @@ xe-y += xe_bb.o \
xe_rtp.o \
xe_sa.o \
xe_sched_job.o \
+ xe_shrinker.o \
xe_step.o \
xe_survivability_mode.o \
xe_sync.o \
diff --git a/drivers/gpu/drm/xe/tests/xe_bo.c b/drivers/gpu/drm/xe/tests/xe_bo.c
index 6795d1d916e4..9fde67ca989f 100644
--- a/drivers/gpu/drm/xe/tests/xe_bo.c
+++ b/drivers/gpu/drm/xe/tests/xe_bo.c
@@ -514,8 +514,13 @@ static int shrink_test_run_device(struct xe_device *xe)
* other way around, they may not be subject to swapping...
*/
if (alloced < purgeable) {
+ xe_ttm_tt_account_subtract(&xe_tt->ttm);
xe_tt->purgeable = true;
+ xe_ttm_tt_account_add(&xe_tt->ttm);
bo->ttm.priority = 0;
+ spin_lock(&bo->ttm.bdev->lru_lock);
+ ttm_bo_move_to_lru_tail(&bo->ttm);
+ spin_unlock(&bo->ttm.bdev->lru_lock);
} else {
int ret = shrink_test_fill_random(bo, &prng, link);
@@ -570,7 +575,6 @@ static int shrink_test_run_device(struct xe_device *xe)
if (ret == -EINTR)
intr = true;
} while (ret == -EINTR && !signal_pending(current));
-
if (!ret && !purgeable)
failed = shrink_test_verify(test, bo, count, &prng, link);
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 25761924a8b4..c21e6bca3141 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -11,6 +11,7 @@
#include <drm/drm_drv.h>
#include <drm/drm_gem_ttm_helper.h>
#include <drm/drm_managed.h>
+#include <drm/ttm/ttm_backup.h>
#include <drm/ttm/ttm_device.h>
#include <drm/ttm/ttm_placement.h>
#include <drm/ttm/ttm_tt.h>
@@ -29,6 +30,7 @@
#include "xe_preempt_fence.h"
#include "xe_pxp.h"
#include "xe_res_cursor.h"
+#include "xe_shrinker.h"
#include "xe_trace_bo.h"
#include "xe_ttm_stolen_mgr.h"
#include "xe_vm.h"
@@ -307,9 +309,11 @@ static void xe_evict_flags(struct ttm_buffer_object *tbo,
}
}
+/* struct xe_ttm_tt - Subclassed ttm_tt for xe */
struct xe_ttm_tt {
struct ttm_tt ttm;
- struct device *dev;
+ /** @xe - The xe device */
+ struct xe_device *xe;
struct sg_table sgt;
struct sg_table *sg;
/** @purgeable: Whether the content of the pages of @ttm is purgeable. */
@@ -322,7 +326,8 @@ static int xe_tt_map_sg(struct ttm_tt *tt)
unsigned long num_pages = tt->num_pages;
int ret;
- XE_WARN_ON(tt->page_flags & TTM_TT_FLAG_EXTERNAL);
+ XE_WARN_ON((tt->page_flags & TTM_TT_FLAG_EXTERNAL) &&
+ !(tt->page_flags & TTM_TT_FLAG_EXTERNAL_MAPPABLE));
if (xe_tt->sg)
return 0;
@@ -330,13 +335,13 @@ static int xe_tt_map_sg(struct ttm_tt *tt)
ret = sg_alloc_table_from_pages_segment(&xe_tt->sgt, tt->pages,
num_pages, 0,
(u64)num_pages << PAGE_SHIFT,
- xe_sg_segment_size(xe_tt->dev),
+ xe_sg_segment_size(xe_tt->xe->drm.dev),
GFP_KERNEL);
if (ret)
return ret;
xe_tt->sg = &xe_tt->sgt;
- ret = dma_map_sgtable(xe_tt->dev, xe_tt->sg, DMA_BIDIRECTIONAL,
+ ret = dma_map_sgtable(xe_tt->xe->drm.dev, xe_tt->sg, DMA_BIDIRECTIONAL,
DMA_ATTR_SKIP_CPU_SYNC);
if (ret) {
sg_free_table(xe_tt->sg);
@@ -352,7 +357,7 @@ static void xe_tt_unmap_sg(struct ttm_tt *tt)
struct xe_ttm_tt *xe_tt = container_of(tt, struct xe_ttm_tt, ttm);
if (xe_tt->sg) {
- dma_unmap_sgtable(xe_tt->dev, xe_tt->sg,
+ dma_unmap_sgtable(xe_tt->xe->drm.dev, xe_tt->sg,
DMA_BIDIRECTIONAL, 0);
sg_free_table(xe_tt->sg);
xe_tt->sg = NULL;
@@ -367,21 +372,47 @@ struct sg_table *xe_bo_sg(struct xe_bo *bo)
return xe_tt->sg;
}
+/*
+ * Account ttm pages against the device shrinker's shrinkable and
+ * purgeable counts.
+ */
+static void xe_ttm_tt_account_add(struct ttm_tt *tt)
+{
+ struct xe_ttm_tt *xe_tt = container_of(tt, struct xe_ttm_tt, ttm);
+
+ if (xe_tt->purgeable)
+ xe_shrinker_mod_pages(xe_tt->xe->mem.shrinker, 0, tt->num_pages);
+ else
+ xe_shrinker_mod_pages(xe_tt->xe->mem.shrinker, tt->num_pages, 0);
+}
+
+static void xe_ttm_tt_account_subtract(struct ttm_tt *tt)
+{
+ struct xe_ttm_tt *xe_tt = container_of(tt, struct xe_ttm_tt, ttm);
+
+ if (xe_tt->purgeable)
+ xe_shrinker_mod_pages(xe_tt->xe->mem.shrinker, 0, -(long)tt->num_pages);
+ else
+ xe_shrinker_mod_pages(xe_tt->xe->mem.shrinker, -(long)tt->num_pages, 0);
+}
+
static struct ttm_tt *xe_ttm_tt_create(struct ttm_buffer_object *ttm_bo,
u32 page_flags)
{
struct xe_bo *bo = ttm_to_xe_bo(ttm_bo);
struct xe_device *xe = xe_bo_device(bo);
- struct xe_ttm_tt *tt;
+ struct xe_ttm_tt *xe_tt;
+ struct ttm_tt *tt;
unsigned long extra_pages;
enum ttm_caching caching = ttm_cached;
int err;
- tt = kzalloc(sizeof(*tt), GFP_KERNEL);
- if (!tt)
+ xe_tt = kzalloc(sizeof(*xe_tt), GFP_KERNEL);
+ if (!xe_tt)
return NULL;
- tt->dev = xe->drm.dev;
+ tt = &xe_tt->ttm;
+ xe_tt->xe = xe;
extra_pages = 0;
if (xe_bo_needs_ccs_pages(bo))
@@ -427,42 +458,66 @@ static struct ttm_tt *xe_ttm_tt_create(struct ttm_buffer_object *ttm_bo,
caching = ttm_uncached;
}
- err = ttm_tt_init(&tt->ttm, &bo->ttm, page_flags, caching, extra_pages);
+ if (ttm_bo->type != ttm_bo_type_sg)
+ page_flags |= TTM_TT_FLAG_EXTERNAL | TTM_TT_FLAG_EXTERNAL_MAPPABLE;
+
+ err = ttm_tt_init(tt, &bo->ttm, page_flags, caching, extra_pages);
if (err) {
- kfree(tt);
+ kfree(xe_tt);
return NULL;
}
- return &tt->ttm;
+ if (ttm_bo->type != ttm_bo_type_sg) {
+ err = ttm_tt_setup_backup(tt);
+ if (err) {
+ ttm_tt_fini(tt);
+ kfree(xe_tt);
+ return NULL;
+ }
+ }
+
+ return tt;
}
static int xe_ttm_tt_populate(struct ttm_device *ttm_dev, struct ttm_tt *tt,
struct ttm_operation_ctx *ctx)
{
+ struct xe_ttm_tt *xe_tt = container_of(tt, struct xe_ttm_tt, ttm);
int err;
/*
* dma-bufs are not populated with pages, and the dma-
* addresses are set up when moved to XE_PL_TT.
*/
- if (tt->page_flags & TTM_TT_FLAG_EXTERNAL)
+ if ((tt->page_flags & TTM_TT_FLAG_EXTERNAL) &&
+ !(tt->page_flags & TTM_TT_FLAG_EXTERNAL_MAPPABLE))
return 0;
- err = ttm_pool_alloc(&ttm_dev->pool, tt, ctx);
+ if (ttm_tt_is_backed_up(tt) && !xe_tt->purgeable) {
+ err = ttm_tt_restore(ttm_dev, tt, ctx);
+ } else {
+ ttm_tt_clear_backed_up(tt);
+ err = ttm_pool_alloc(&ttm_dev->pool, tt, ctx);
+ }
if (err)
return err;
- return err;
+ xe_tt->purgeable = false;
+ xe_ttm_tt_account_add(tt);
+
+ return 0;
}
static void xe_ttm_tt_unpopulate(struct ttm_device *ttm_dev, struct ttm_tt *tt)
{
- if (tt->page_flags & TTM_TT_FLAG_EXTERNAL)
+ if ((tt->page_flags & TTM_TT_FLAG_EXTERNAL) &&
+ !(tt->page_flags & TTM_TT_FLAG_EXTERNAL_MAPPABLE))
return;
xe_tt_unmap_sg(tt);
- return ttm_pool_free(&ttm_dev->pool, tt);
+ ttm_pool_free(&ttm_dev->pool, tt);
+ xe_ttm_tt_account_subtract(tt);
}
static void xe_ttm_tt_destroy(struct ttm_device *ttm_dev, struct ttm_tt *tt)
@@ -912,6 +967,111 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict,
return ret;
}
+static long xe_bo_shrink_purge(struct ttm_operation_ctx *ctx,
+ struct ttm_buffer_object *bo,
+ unsigned long *scanned)
+{
+ long lret;
+
+ /* Fake move to system, without copying data. */
+ if (bo->resource->mem_type != XE_PL_SYSTEM) {
+ struct ttm_resource *new_resource;
+
+ lret = ttm_bo_wait_ctx(bo, ctx);
+ if (lret)
+ return lret;
+
+ lret = ttm_bo_mem_space(bo, &sys_placement, &new_resource, ctx);
+ if (lret)
+ return lret;
+
+ xe_tt_unmap_sg(bo->ttm);
+ ttm_bo_move_null(bo, new_resource);
+ }
+
+ *scanned += bo->ttm->num_pages;
+ lret = ttm_bo_shrink(ctx, bo, (struct ttm_bo_shrink_flags)
+ {.purge = true,
+ .writeback = false,
+ .allow_move = false});
+
+ if (lret > 0)
+ xe_ttm_tt_account_subtract(bo->ttm);
+
+ return lret;
+}
+
+/**
+ * xe_bo_shrink() - Try to shrink an xe bo.
+ * @ctx: The struct ttm_operation_ctx used for shrinking.
+ * @bo: The TTM buffer object whose pages to shrink.
+ * @flags: Flags governing the shrink behaviour.
+ * @scanned: Pointer to a counter of the number of pages
+ * attempted to shrink.
+ *
+ * Try to shrink- or purge a bo, and if it succeeds, unmap dma.
+ * Note that we need to be able to handle also non xe bos
+ * (ghost bos), but only if the struct ttm_tt is embedded in
+ * a struct xe_ttm_tt. When the function attempts to shrink
+ * the pages of a buffer object, The value pointed to by @scanned
+ * is updated.
+ *
+ * Return: The number of pages shrunken or purged, or negative error
+ * code on failure.
+ */
+long xe_bo_shrink(struct ttm_operation_ctx *ctx, struct ttm_buffer_object *bo,
+ const struct xe_bo_shrink_flags flags,
+ unsigned long *scanned)
+{
+ struct ttm_tt *tt = bo->ttm;
+ struct xe_ttm_tt *xe_tt = container_of(tt, struct xe_ttm_tt, ttm);
+ struct ttm_place place = {.mem_type = bo->resource->mem_type};
+ struct xe_bo *xe_bo = ttm_to_xe_bo(bo);
+ struct xe_device *xe = xe_tt->xe;
+ bool needs_rpm;
+ long lret = 0L;
+
+ if (!(tt->page_flags & TTM_TT_FLAG_EXTERNAL_MAPPABLE) ||
+ (flags.purge && !xe_tt->purgeable))
+ return -EBUSY;
+
+ if (!ttm_bo_eviction_valuable(bo, &place))
+ return -EBUSY;
+
+ if (!xe_bo_is_xe_bo(bo) || !xe_bo_get_unless_zero(xe_bo))
+ return xe_bo_shrink_purge(ctx, bo, scanned);
+
+ if (xe_tt->purgeable) {
+ if (bo->resource->mem_type != XE_PL_SYSTEM)
+ lret = xe_bo_move_notify(xe_bo, ctx);
+ if (!lret)
+ lret = xe_bo_shrink_purge(ctx, bo, scanned);
+ goto out_unref;
+ }
+
+ /* System CCS needs gpu copy when moving PL_TT -> PL_SYSTEM */
+ needs_rpm = (!IS_DGFX(xe) && bo->resource->mem_type != XE_PL_SYSTEM &&
+ xe_bo_needs_ccs_pages(xe_bo));
+ if (needs_rpm && !xe_pm_runtime_get_if_active(xe))
+ goto out_unref;
+
+ *scanned += tt->num_pages;
+ lret = ttm_bo_shrink(ctx, bo, (struct ttm_bo_shrink_flags)
+ {.purge = false,
+ .writeback = flags.writeback,
+ .allow_move = true});
+ if (needs_rpm)
+ xe_pm_runtime_put(xe);
+
+ if (lret > 0)
+ xe_ttm_tt_account_subtract(tt);
+
+out_unref:
+ xe_bo_put(xe_bo);
+
+ return lret;
+}
+
/**
* xe_bo_evict_pinned() - Evict a pinned VRAM object to system memory
* @bo: The buffer object to move.
@@ -1929,6 +2089,8 @@ int xe_bo_pin_external(struct xe_bo *bo)
}
ttm_bo_pin(&bo->ttm);
+ if (bo->ttm.ttm && ttm_tt_is_populated(bo->ttm.ttm))
+ xe_ttm_tt_account_subtract(bo->ttm.ttm);
/*
* FIXME: If we always use the reserve / unreserve functions for locking
@@ -1988,6 +2150,8 @@ int xe_bo_pin(struct xe_bo *bo)
}
ttm_bo_pin(&bo->ttm);
+ if (bo->ttm.ttm && ttm_tt_is_populated(bo->ttm.ttm))
+ xe_ttm_tt_account_subtract(bo->ttm.ttm);
/*
* FIXME: If we always use the reserve / unreserve functions for locking
@@ -2022,6 +2186,8 @@ void xe_bo_unpin_external(struct xe_bo *bo)
spin_unlock(&xe->pinned.lock);
ttm_bo_unpin(&bo->ttm);
+ if (bo->ttm.ttm && ttm_tt_is_populated(bo->ttm.ttm))
+ xe_ttm_tt_account_add(bo->ttm.ttm);
/*
* FIXME: If we always use the reserve / unreserve functions for locking
@@ -2045,6 +2211,8 @@ void xe_bo_unpin(struct xe_bo *bo)
spin_unlock(&xe->pinned.lock);
}
ttm_bo_unpin(&bo->ttm);
+ if (bo->ttm.ttm && ttm_tt_is_populated(bo->ttm.ttm))
+ xe_ttm_tt_account_add(bo->ttm.ttm);
}
/**
diff --git a/drivers/gpu/drm/xe/xe_bo.h b/drivers/gpu/drm/xe/xe_bo.h
index a25340949415..2a7240c45511 100644
--- a/drivers/gpu/drm/xe/xe_bo.h
+++ b/drivers/gpu/drm/xe/xe_bo.h
@@ -148,6 +148,28 @@ static inline struct xe_bo *xe_bo_get(struct xe_bo *bo)
void xe_bo_put(struct xe_bo *bo);
+/*
+ * xe_bo_get_unless_zero() - Conditionally obtain a GEM object refcount on an
+ * xe bo
+ * @bo: The bo for which we want to obtain a refcount.
+ *
+ * There is a short window between where the bo's GEM object refcount reaches
+ * zero and where we put the final ttm_bo reference. Code in the eviction- and
+ * shrinking path should therefore attempt to grab a gem object reference before
+ * trying to use members outside of the base class ttm object. This function is
+ * intended for that purpose. On successful return, this function must be paired
+ * with an xe_bo_put().
+ *
+ * Return: @bo on success, NULL on failure.
+ */
+static inline __must_check struct xe_bo *xe_bo_get_unless_zero(struct xe_bo *bo)
+{
+ if (!bo || !kref_get_unless_zero(&bo->ttm.base.refcount))
+ return NULL;
+
+ return bo;
+}
+
static inline void __xe_bo_unset_bulk_move(struct xe_bo *bo)
{
if (bo)
@@ -349,6 +371,20 @@ static inline unsigned int xe_sg_segment_size(struct device *dev)
return round_down(max / 2, PAGE_SIZE);
}
+/**
+ * struct xe_bo_shrink_flags - flags governing the shrink behaviour.
+ * @purge: Only purging allowed. Don't shrink if bo not purgeable.
+ * @writeback: Attempt to immediately move content to swap.
+ */
+struct xe_bo_shrink_flags {
+ u32 purge : 1;
+ u32 writeback : 1;
+};
+
+long xe_bo_shrink(struct ttm_operation_ctx *ctx, struct ttm_buffer_object *bo,
+ const struct xe_bo_shrink_flags flags,
+ unsigned long *scanned);
+
#if IS_ENABLED(CONFIG_DRM_XE_KUNIT_TEST)
/**
* xe_bo_is_mem_type - Whether the bo currently resides in the given
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 9454b51f7ad8..539da525aa14 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -52,6 +52,7 @@
#include "xe_pmu.h"
#include "xe_pxp.h"
#include "xe_query.h"
+#include "xe_shrinker.h"
#include "xe_sriov.h"
#include "xe_tile.h"
#include "xe_ttm_stolen_mgr.h"
@@ -396,6 +397,9 @@ static void xe_device_destroy(struct drm_device *dev, void *dummy)
if (xe->unordered_wq)
destroy_workqueue(xe->unordered_wq);
+ if (!IS_ERR_OR_NULL(xe->mem.shrinker))
+ xe_shrinker_destroy(xe->mem.shrinker);
+
if (xe->destroy_wq)
destroy_workqueue(xe->destroy_wq);
@@ -428,6 +432,10 @@ struct xe_device *xe_device_create(struct pci_dev *pdev,
if (err)
goto err;
+ xe->mem.shrinker = xe_shrinker_create(xe);
+ if (IS_ERR(xe->mem.shrinker))
+ return ERR_CAST(xe->mem.shrinker);
+
xe->info.devid = pdev->device;
xe->info.revid = pdev->revision;
xe->info.force_execlist = xe_modparam.force_execlist;
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 833c29fed3a3..604a69c494e5 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -372,6 +372,8 @@ struct xe_device {
struct xe_vram_region vram;
/** @mem.sys_mgr: system TTM manager */
struct ttm_resource_manager sys_mgr;
+ /** @mem.sys_mgr: system memory shrinker. */
+ struct xe_shrinker *shrinker;
} mem;
/** @sriov: device level virtualization data */
diff --git a/drivers/gpu/drm/xe/xe_shrinker.c b/drivers/gpu/drm/xe/xe_shrinker.c
new file mode 100644
index 000000000000..8184390f9c7b
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_shrinker.c
@@ -0,0 +1,258 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#include <linux/shrinker.h>
+
+#include <drm/ttm/ttm_backup.h>
+#include <drm/ttm/ttm_bo.h>
+#include <drm/ttm/ttm_tt.h>
+
+#include "xe_bo.h"
+#include "xe_pm.h"
+#include "xe_shrinker.h"
+
+/**
+ * struct xe_shrinker - per-device shrinker
+ * @xe: Back pointer to the device.
+ * @lock: Lock protecting accounting.
+ * @shrinkable_pages: Number of pages that are currently shrinkable.
+ * @purgeable_pages: Number of pages that are currently purgeable.
+ * @shrink: Pointer to the mm shrinker.
+ * @pm_worker: Worker to wake up the device if required.
+ */
+struct xe_shrinker {
+ struct xe_device *xe;
+ rwlock_t lock;
+ long shrinkable_pages;
+ long purgeable_pages;
+ struct shrinker *shrink;
+ struct work_struct pm_worker;
+};
+
+static struct xe_shrinker *to_xe_shrinker(struct shrinker *shrink)
+{
+ return shrink->private_data;
+}
+
+/**
+ * xe_shrinker_mod_pages() - Modify shrinker page accounting
+ * @shrinker: Pointer to the struct xe_shrinker.
+ * @shrinkable: Shrinkable pages delta. May be negative.
+ * @purgeable: Purgeable page delta. May be negative.
+ *
+ * Modifies the shrinkable and purgeable pages accounting.
+ */
+void
+xe_shrinker_mod_pages(struct xe_shrinker *shrinker, long shrinkable, long purgeable)
+{
+ write_lock(&shrinker->lock);
+ shrinker->shrinkable_pages += shrinkable;
+ shrinker->purgeable_pages += purgeable;
+ write_unlock(&shrinker->lock);
+}
+
+static s64 xe_shrinker_walk(struct xe_device *xe,
+ struct ttm_operation_ctx *ctx,
+ const struct xe_bo_shrink_flags flags,
+ unsigned long to_scan, unsigned long *scanned)
+{
+ unsigned int mem_type;
+ s64 freed = 0, lret;
+
+ for (mem_type = XE_PL_SYSTEM; mem_type <= XE_PL_TT; ++mem_type) {
+ struct ttm_resource_manager *man = ttm_manager_type(&xe->ttm, mem_type);
+ struct ttm_bo_lru_cursor curs;
+ struct ttm_buffer_object *ttm_bo;
+
+ if (!man || !man->use_tt)
+ continue;
+
+ ttm_bo_lru_for_each_reserved_guarded(&curs, man, ctx, ttm_bo) {
+ if (!ttm_bo_shrink_suitable(ttm_bo, ctx))
+ continue;
+
+ lret = xe_bo_shrink(ctx, ttm_bo, flags, scanned);
+ if (lret < 0)
+ return lret;
+
+ freed += lret;
+ if (*scanned >= to_scan)
+ break;
+ }
+ }
+
+ return freed;
+}
+
+static unsigned long
+xe_shrinker_count(struct shrinker *shrink, struct shrink_control *sc)
+{
+ struct xe_shrinker *shrinker = to_xe_shrinker(shrink);
+ unsigned long num_pages;
+ bool can_backup = !!(sc->gfp_mask & __GFP_FS);
+
+ num_pages = ttm_backup_bytes_avail() >> PAGE_SHIFT;
+ read_lock(&shrinker->lock);
+
+ if (can_backup)
+ num_pages = min_t(unsigned long, num_pages, shrinker->shrinkable_pages);
+ else
+ num_pages = 0;
+
+ num_pages += shrinker->purgeable_pages;
+ read_unlock(&shrinker->lock);
+
+ return num_pages ? num_pages : SHRINK_EMPTY;
+}
+
+/*
+ * Check if we need runtime pm, and if so try to grab a reference if
+ * already active. If grabbing a reference fails, queue a worker that
+ * does it for us outside of reclaim, but don't wait for it to complete.
+ * If bo shrinking needs an rpm reference and we don't have it (yet),
+ * that bo will be skipped anyway.
+ */
+static bool xe_shrinker_runtime_pm_get(struct xe_shrinker *shrinker, bool force,
+ unsigned long nr_to_scan, bool can_backup)
+{
+ struct xe_device *xe = shrinker->xe;
+
+ if (IS_DGFX(xe) || !xe_device_has_flat_ccs(xe) ||
+ !ttm_backup_bytes_avail())
+ return false;
+
+ if (!force) {
+ read_lock(&shrinker->lock);
+ force = (nr_to_scan > shrinker->purgeable_pages && can_backup);
+ read_unlock(&shrinker->lock);
+ if (!force)
+ return false;
+ }
+
+ if (!xe_pm_runtime_get_if_active(xe)) {
+ if (xe_rpm_reclaim_safe(xe) && !ttm_bo_shrink_avoid_wait()) {
+ xe_pm_runtime_get(xe);
+ return true;
+ }
+ queue_work(xe->unordered_wq, &shrinker->pm_worker);
+ return false;
+ }
+
+ return true;
+}
+
+static void xe_shrinker_runtime_pm_put(struct xe_shrinker *shrinker, bool runtime_pm)
+{
+ if (runtime_pm)
+ xe_pm_runtime_put(shrinker->xe);
+}
+
+static unsigned long xe_shrinker_scan(struct shrinker *shrink, struct shrink_control *sc)
+{
+ struct xe_shrinker *shrinker = to_xe_shrinker(shrink);
+ struct ttm_operation_ctx ctx = {
+ .interruptible = false,
+ .no_wait_gpu = ttm_bo_shrink_avoid_wait(),
+ };
+ unsigned long nr_to_scan, nr_scanned = 0, freed = 0;
+ struct xe_bo_shrink_flags shrink_flags = {
+ .purge = true,
+ /* Don't request writeback without __GFP_IO. */
+ .writeback = !ctx.no_wait_gpu && (sc->gfp_mask & __GFP_IO),
+ };
+ bool runtime_pm;
+ bool purgeable;
+ bool can_backup = !!(sc->gfp_mask & __GFP_FS);
+ s64 lret;
+
+ nr_to_scan = sc->nr_to_scan;
+
+ read_lock(&shrinker->lock);
+ purgeable = !!shrinker->purgeable_pages;
+ read_unlock(&shrinker->lock);
+
+ /* Might need runtime PM. Try to wake early if it looks like it. */
+ runtime_pm = xe_shrinker_runtime_pm_get(shrinker, false, nr_to_scan, can_backup);
+
+ if (purgeable && nr_scanned < nr_to_scan) {
+ lret = xe_shrinker_walk(shrinker->xe, &ctx, shrink_flags,
+ nr_to_scan, &nr_scanned);
+ if (lret >= 0)
+ freed += lret;
+ }
+
+ sc->nr_scanned = nr_scanned;
+ if (nr_scanned >= nr_to_scan || !can_backup)
+ goto out;
+
+ /* If we didn't wake before, try to do it now if needed. */
+ if (!runtime_pm)
+ runtime_pm = xe_shrinker_runtime_pm_get(shrinker, true, 0, can_backup);
+
+ shrink_flags.purge = false;
+ lret = xe_shrinker_walk(shrinker->xe, &ctx, shrink_flags,
+ nr_to_scan, &nr_scanned);
+ if (lret >= 0)
+ freed += lret;
+
+ sc->nr_scanned = nr_scanned;
+out:
+ xe_shrinker_runtime_pm_put(shrinker, runtime_pm);
+ return nr_scanned ? freed : SHRINK_STOP;
+}
+
+/* Wake up the device for shrinking. */
+static void xe_shrinker_pm(struct work_struct *work)
+{
+ struct xe_shrinker *shrinker =
+ container_of(work, typeof(*shrinker), pm_worker);
+
+ xe_pm_runtime_get(shrinker->xe);
+ xe_pm_runtime_put(shrinker->xe);
+}
+
+/**
+ * xe_shrinker_create() - Create an xe per-device shrinker
+ * @xe: Pointer to the xe device.
+ *
+ * Returns: A pointer to the created shrinker on success,
+ * Negative error code on failure.
+ */
+struct xe_shrinker *xe_shrinker_create(struct xe_device *xe)
+{
+ struct xe_shrinker *shrinker = kzalloc(sizeof(*shrinker), GFP_KERNEL);
+
+ if (!shrinker)
+ return ERR_PTR(-ENOMEM);
+
+ shrinker->shrink = shrinker_alloc(0, "xe system shrinker");
+ if (!shrinker->shrink) {
+ kfree(shrinker);
+ return ERR_PTR(-ENOMEM);
+ }
+
+ INIT_WORK(&shrinker->pm_worker, xe_shrinker_pm);
+ shrinker->xe = xe;
+ rwlock_init(&shrinker->lock);
+ shrinker->shrink->count_objects = xe_shrinker_count;
+ shrinker->shrink->scan_objects = xe_shrinker_scan;
+ shrinker->shrink->private_data = shrinker;
+ shrinker_register(shrinker->shrink);
+
+ return shrinker;
+}
+
+/**
+ * xe_shrinker_destroy() - Destroy an xe per-device shrinker
+ * @shrinker: Pointer to the shrinker to destroy.
+ */
+void xe_shrinker_destroy(struct xe_shrinker *shrinker)
+{
+ xe_assert(shrinker->xe, !shrinker->shrinkable_pages);
+ xe_assert(shrinker->xe, !shrinker->purgeable_pages);
+ shrinker_free(shrinker->shrink);
+ flush_work(&shrinker->pm_worker);
+ kfree(shrinker);
+}
diff --git a/drivers/gpu/drm/xe/xe_shrinker.h b/drivers/gpu/drm/xe/xe_shrinker.h
new file mode 100644
index 000000000000..28a038f4fcbf
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_shrinker.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef _XE_SHRINKER_H_
+#define _XE_SHRINKER_H_
+
+struct xe_shrinker;
+struct xe_device;
+
+void xe_shrinker_mod_pages(struct xe_shrinker *shrinker, long shrinkable, long purgeable);
+
+struct xe_shrinker *xe_shrinker_create(struct xe_device *xe);
+
+void xe_shrinker_destroy(struct xe_shrinker *shrinker);
+
+#endif
diff --git a/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c b/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
index 9844a8edbfe1..d38b91872da3 100644
--- a/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
@@ -108,9 +108,8 @@ int xe_ttm_sys_mgr_init(struct xe_device *xe)
u64 gtt_size;
si_meminfo(&si);
+ /* Potentially restrict amount of TT memory here. */
gtt_size = (u64)si.totalram * si.mem_unit;
- /* TTM limits allocation of all TTM devices by 50% of system memory */
- gtt_size /= 2;
man->use_tt = true;
man->func = &xe_ttm_sys_mgr_func;
diff --git a/include/drm/ttm/ttm_backup.h b/include/drm/ttm/ttm_backup.h
new file mode 100644
index 000000000000..24ad120b8827
--- /dev/null
+++ b/include/drm/ttm/ttm_backup.h
@@ -0,0 +1,74 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2024 Intel Corporation
+ */
+
+#ifndef _TTM_BACKUP_H_
+#define _TTM_BACKUP_H_
+
+#include <linux/mm_types.h>
+#include <linux/shmem_fs.h>
+
+struct ttm_backup;
+
+/**
+ * ttm_backup_handle_to_page_ptr() - Convert handle to struct page pointer
+ * @handle: The handle to convert.
+ *
+ * Converts an opaque handle received from the
+ * struct ttm_backoup_ops::backup_page() function to an (invalid)
+ * struct page pointer suitable for a struct page array.
+ *
+ * Return: An (invalid) struct page pointer.
+ */
+static inline struct page *
+ttm_backup_handle_to_page_ptr(unsigned long handle)
+{
+ return (struct page *)(handle << 1 | 1);
+}
+
+/**
+ * ttm_backup_page_ptr_is_handle() - Whether a struct page pointer is a handle
+ * @page: The struct page pointer to check.
+ *
+ * Return: true if the struct page pointer is a handld returned from
+ * ttm_backup_handle_to_page_ptr(). False otherwise.
+ */
+static inline bool ttm_backup_page_ptr_is_handle(const struct page *page)
+{
+ return (unsigned long)page & 1;
+}
+
+/**
+ * ttm_backup_page_ptr_to_handle() - Convert a struct page pointer to a handle
+ * @page: The struct page pointer to convert
+ *
+ * Return: The handle that was previously used in
+ * ttm_backup_handle_to_page_ptr() to obtain a struct page pointer, suitable
+ * for use as argument in the struct ttm_backup_ops drop() or
+ * copy_backed_up_page() functions.
+ */
+static inline unsigned long
+ttm_backup_page_ptr_to_handle(const struct page *page)
+{
+ WARN_ON(!ttm_backup_page_ptr_is_handle(page));
+ return (unsigned long)page >> 1;
+}
+
+void ttm_backup_drop(struct ttm_backup *backup, pgoff_t handle);
+
+int ttm_backup_copy_page(struct ttm_backup *backup, struct page *dst,
+ pgoff_t handle, bool intr);
+
+s64
+ttm_backup_backup_page(struct ttm_backup *backup, struct page *page,
+ bool writeback, pgoff_t idx, gfp_t page_gfp,
+ gfp_t alloc_gfp);
+
+void ttm_backup_fini(struct ttm_backup *backup);
+
+u64 ttm_backup_bytes_avail(void);
+
+struct ttm_backup *ttm_backup_shmem_create(loff_t size);
+
+#endif
diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
index 8ea11cd8df39..903cd1030110 100644
--- a/include/drm/ttm/ttm_bo.h
+++ b/include/drm/ttm/ttm_bo.h
@@ -225,6 +225,27 @@ struct ttm_lru_walk {
s64 ttm_lru_walk_for_evict(struct ttm_lru_walk *walk, struct ttm_device *bdev,
struct ttm_resource_manager *man, s64 target);
+/**
+ * struct ttm_bo_shrink_flags - flags to govern the bo shrinking behaviour
+ * @purge: Purge the content rather than backing it up.
+ * @writeback: Attempt to immediately write content to swap space.
+ * @allow_move: Allow moving to system before shrinking. This is typically
+ * not desired for zombie- or ghost objects (with zombie object meaning
+ * objects with a zero gem object refcount)
+ */
+struct ttm_bo_shrink_flags {
+ u32 purge : 1;
+ u32 writeback : 1;
+ u32 allow_move : 1;
+};
+
+long ttm_bo_shrink(struct ttm_operation_ctx *ctx, struct ttm_buffer_object *bo,
+ const struct ttm_bo_shrink_flags flags);
+
+bool ttm_bo_shrink_suitable(struct ttm_buffer_object *bo, struct ttm_operation_ctx *ctx);
+
+bool ttm_bo_shrink_avoid_wait(void);
+
/**
* ttm_bo_get - reference a struct ttm_buffer_object
*
@@ -467,4 +488,76 @@ void ttm_bo_tt_destroy(struct ttm_buffer_object *bo);
int ttm_bo_populate(struct ttm_buffer_object *bo,
struct ttm_operation_ctx *ctx);
+/* Driver LRU walk helpers initially targeted for shrinking. */
+
+/**
+ * struct ttm_bo_lru_cursor - Iterator cursor for TTM LRU list looping
+ */
+struct ttm_bo_lru_cursor {
+ /** @res_curs: Embedded struct ttm_resource_cursor. */
+ struct ttm_resource_cursor res_curs;
+ /**
+ * @ctx: The struct ttm_operation_ctx used while looping.
+ * governs the locking mode.
+ */
+ struct ttm_operation_ctx *ctx;
+ /**
+ * @bo: Buffer object pointer if a buffer object is refcounted,
+ * NULL otherwise.
+ */
+ struct ttm_buffer_object *bo;
+ /**
+ * @needs_unlock: Valid iff @bo != NULL. The bo resv needs
+ * unlock before the next iteration or after loop exit.
+ */
+ bool needs_unlock;
+};
+
+void ttm_bo_lru_cursor_fini(struct ttm_bo_lru_cursor *curs);
+
+struct ttm_bo_lru_cursor *
+ttm_bo_lru_cursor_init(struct ttm_bo_lru_cursor *curs,
+ struct ttm_resource_manager *man,
+ struct ttm_operation_ctx *ctx);
+
+struct ttm_buffer_object *ttm_bo_lru_cursor_first(struct ttm_bo_lru_cursor *curs);
+
+struct ttm_buffer_object *ttm_bo_lru_cursor_next(struct ttm_bo_lru_cursor *curs);
+
+/*
+ * Defines needed to use autocleanup (linux/cleanup.h) with struct ttm_bo_lru_cursor.
+ */
+DEFINE_CLASS(ttm_bo_lru_cursor, struct ttm_bo_lru_cursor *,
+ if (_T) {ttm_bo_lru_cursor_fini(_T); },
+ ttm_bo_lru_cursor_init(curs, man, ctx),
+ struct ttm_bo_lru_cursor *curs, struct ttm_resource_manager *man,
+ struct ttm_operation_ctx *ctx);
+static inline void *
+class_ttm_bo_lru_cursor_lock_ptr(class_ttm_bo_lru_cursor_t *_T)
+{ return *_T; }
+#define class_ttm_bo_lru_cursor_is_conditional false
+
+/**
+ * ttm_bo_lru_for_each_reserved_guarded() - Iterate over buffer objects owning
+ * resources on LRU lists.
+ * @_cursor: struct ttm_bo_lru_cursor to use for the iteration.
+ * @_man: The resource manager whose LRU lists to iterate over.
+ * @_ctx: The struct ttm_operation_context to govern the @_bo locking.
+ * @_bo: The struct ttm_buffer_object pointer pointing to the buffer object
+ * for the current iteration.
+ *
+ * Iterate over all resources of @_man and for each resource, attempt to
+ * reference and lock (using the locking mode detailed in @_ctx) the buffer
+ * object it points to. If successful, assign @_bo to the address of the
+ * buffer object and update @_cursor. The iteration is guarded in the
+ * sense that @_cursor will be initialized before looping start and cleaned
+ * up at looping termination, even if terminated prematurely by, for
+ * example a return or break statement. Exiting the loop will also unlock
+ * (if needed) and unreference @_bo.
+ */
+#define ttm_bo_lru_for_each_reserved_guarded(_cursor, _man, _ctx, _bo) \
+ scoped_guard(ttm_bo_lru_cursor, _cursor, _man, _ctx) \
+ for ((_bo) = ttm_bo_lru_cursor_first(_cursor); (_bo); \
+ (_bo) = ttm_bo_lru_cursor_next(_cursor))
+
#endif
diff --git a/include/drm/ttm/ttm_pool.h b/include/drm/ttm/ttm_pool.h
index 160d954a261e..54cd34a6e4c0 100644
--- a/include/drm/ttm/ttm_pool.h
+++ b/include/drm/ttm/ttm_pool.h
@@ -33,6 +33,7 @@
struct device;
struct seq_file;
+struct ttm_backup_flags;
struct ttm_operation_ctx;
struct ttm_pool;
struct ttm_tt;
@@ -89,6 +90,13 @@ void ttm_pool_fini(struct ttm_pool *pool);
int ttm_pool_debugfs(struct ttm_pool *pool, struct seq_file *m);
+void ttm_pool_drop_backed_up(struct ttm_tt *tt);
+
+long ttm_pool_backup(struct ttm_pool *pool, struct ttm_tt *ttm,
+ const struct ttm_backup_flags *flags);
+int ttm_pool_restore_and_alloc(struct ttm_pool *pool, struct ttm_tt *tt,
+ const struct ttm_operation_ctx *ctx);
+
int ttm_pool_mgr_init(unsigned long num_pages);
void ttm_pool_mgr_fini(void);
diff --git a/include/drm/ttm/ttm_tt.h b/include/drm/ttm/ttm_tt.h
index 991edafdb2dd..13cf47f3322f 100644
--- a/include/drm/ttm/ttm_tt.h
+++ b/include/drm/ttm/ttm_tt.h
@@ -32,11 +32,13 @@
#include <drm/ttm/ttm_caching.h>
#include <drm/ttm/ttm_kmap_iter.h>
+struct ttm_backup;
struct ttm_device;
struct ttm_tt;
struct ttm_resource;
struct ttm_buffer_object;
struct ttm_operation_ctx;
+struct ttm_pool_tt_restore;
/**
* struct ttm_tt - This is a structure holding the pages, caching- and aperture
@@ -85,17 +87,22 @@ struct ttm_tt {
* fault handling abuses the DMA api a bit and dma_map_attrs can't be
* used to assure pgprot always matches.
*
+ * TTM_TT_FLAG_BACKED_UP: TTM internal only. This is set if the
+ * struct ttm_tt has been (possibly partially) backed up.
+ *
* TTM_TT_FLAG_PRIV_POPULATED: TTM internal only. DO NOT USE. This is
* set by TTM after ttm_tt_populate() has successfully returned, and is
* then unset when TTM calls ttm_tt_unpopulate().
+ *
*/
#define TTM_TT_FLAG_SWAPPED BIT(0)
#define TTM_TT_FLAG_ZERO_ALLOC BIT(1)
#define TTM_TT_FLAG_EXTERNAL BIT(2)
#define TTM_TT_FLAG_EXTERNAL_MAPPABLE BIT(3)
#define TTM_TT_FLAG_DECRYPTED BIT(4)
+#define TTM_TT_FLAG_BACKED_UP BIT(5)
-#define TTM_TT_FLAG_PRIV_POPULATED BIT(5)
+#define TTM_TT_FLAG_PRIV_POPULATED BIT(6)
uint32_t page_flags;
/** @num_pages: Number of pages in the page array. */
uint32_t num_pages;
@@ -105,11 +112,20 @@ struct ttm_tt {
dma_addr_t *dma_address;
/** @swap_storage: Pointer to shmem struct file for swap storage. */
struct file *swap_storage;
+ /**
+ * @backup: Pointer to backup struct for backed up tts.
+ * Could be unified with @swap_storage. Meanwhile, the driver's
+ * ttm_tt_create() callback is responsible for assigning
+ * this field.
+ */
+ struct ttm_backup *backup;
/**
* @caching: The current caching state of the pages, see enum
* ttm_caching.
*/
enum ttm_caching caching;
+ /** @restore: Partial restoration from backup state. TTM private */
+ struct ttm_pool_tt_restore *restore;
};
/**
@@ -129,9 +145,38 @@ static inline bool ttm_tt_is_populated(struct ttm_tt *tt)
return tt->page_flags & TTM_TT_FLAG_PRIV_POPULATED;
}
+/**
+ * ttm_tt_is_swapped() - Whether the ttm_tt is swapped out or backed up
+ * @tt: The struct ttm_tt.
+ *
+ * Return: true if swapped or backed up, false otherwise.
+ */
static inline bool ttm_tt_is_swapped(const struct ttm_tt *tt)
{
- return tt->page_flags & TTM_TT_FLAG_SWAPPED;
+ return tt->page_flags & (TTM_TT_FLAG_SWAPPED | TTM_TT_FLAG_BACKED_UP);
+}
+
+/**
+ * ttm_tt_is_backed_up() - Whether the ttm_tt backed up
+ * @tt: The struct ttm_tt.
+ *
+ * Return: true if swapped or backed up, false otherwise.
+ */
+static inline bool ttm_tt_is_backed_up(const struct ttm_tt *tt)
+{
+ return tt->page_flags & TTM_TT_FLAG_BACKED_UP;
+}
+
+/**
+ * ttm_tt_clear_backed_up() - Clear the ttm_tt backed-up status
+ * @tt: The struct ttm_tt.
+ *
+ * Drivers can use this functionto clear the backed-up status,
+ * for example before destroying or re-validating a purged tt.
+ */
+static inline void ttm_tt_clear_backed_up(struct ttm_tt *tt)
+{
+ tt->page_flags &= ~TTM_TT_FLAG_BACKED_UP;
}
/**
@@ -235,6 +280,26 @@ void ttm_tt_mgr_init(unsigned long num_pages, unsigned long num_dma32_pages);
struct ttm_kmap_iter *ttm_kmap_iter_tt_init(struct ttm_kmap_iter_tt *iter_tt,
struct ttm_tt *tt);
unsigned long ttm_tt_pages_limit(void);
+
+/**
+ * struct ttm_backup_flags - Flags to govern backup behaviour.
+ * @purge: Free pages without backing up. Bypass pools.
+ * @writeback: Attempt to copy contents directly to swap space, even
+ * if that means blocking on writes to external memory.
+ */
+struct ttm_backup_flags {
+ u32 purge : 1;
+ u32 writeback : 1;
+};
+
+long ttm_tt_backup(struct ttm_device *bdev, struct ttm_tt *tt,
+ const struct ttm_backup_flags flags);
+
+int ttm_tt_restore(struct ttm_device *bdev, struct ttm_tt *tt,
+ const struct ttm_operation_ctx *ctx);
+
+int ttm_tt_setup_backup(struct ttm_tt *tt);
+
#if IS_ENABLED(CONFIG_AGP)
#include <linux/agp_backend.h>
--
2.48.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* ✓ CI.Patch_applied: success for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
@ 2025-03-05 12:50 ` Patchwork
2025-03-05 12:50 ` ✗ CI.checkpatch: warning " Patchwork
` (5 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-03-05 12:50 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
State : success
== Summary ==
=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: cc4910a0bf99 drm-tip: 2025y-03m-05d-11h-53m-31s UTC integration manifest
=== git am output follows ===
Applying: drm/xe: The xe bo shrinker series for testing
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✗ CI.checkpatch: warning for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
2025-03-05 12:50 ` ✓ CI.Patch_applied: success for " Patchwork
@ 2025-03-05 12:50 ` Patchwork
2025-03-05 12:51 ` ✓ CI.KUnit: success " Patchwork
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-03-05 12:50 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
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
cbb4e4a079d89106c2736adc3c7de6f9dc56da07
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit a491e7880cc32c94d2d10ac4c97d0d8bf9906d0c
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Mar 5 11:10:23 2025 +0100
drm/xe: The xe bo shrinker series for testing
Squashed commit of the following:
commit f66aa63eb0986ac486d052388c06d0347915efa7
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Fri Jun 14 12:04:37 2024 +0200
drm/xe: Increase the XE_PL_TT watermark
The XE_PL_TT watermark was set to 50% of system memory.
The idea behind that was unclear since the net effect is that
TT memory will be evicted to TTM_PL_SYSTEM memory if that
watermark is exceeded, requiring PPGTT rebinds and dma
remapping. But there is no similar watermark for TTM_PL_1SYSTEM
memory.
The TTM functionality that tries to swap out system memory to
shmem objects if a 50% limit of total system memory is reached
is orthogonal to this, and with the shrinker added, it's no
longer in effect.
Replace the 50% TTM_PL_TT limit with a 100% limit, in effect
allowing all graphics memory to be bound to the device unless it
has been swapped out by the shrinker.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
commit a0e423641ef481d289d75b384e3ced5afff3bc85
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Mar 27 15:36:02 2024 +0100
drm/xe: Add a shrinker for xe bos
Rather than relying on the TTM watermark accounting add a shrinker
for xe_bos in TT or system memory.
Leverage the newly added TTM per-page shrinking and shmem backup
support.
Although xe doesn't fully support WONTNEED (purgeable) bos yet,
introduce and add shrinker support for purgeable ttm_tts.
v2:
- Cleanups bugfixes and a KUNIT shrinker test.
- Add writeback support, and activate if kswapd.
v3:
- Move the try_shrink() helper to core TTM.
- Minor cleanups.
v4:
- Add runtime pm for the shrinker. Shrinking may require an active
device for CCS metadata copying.
v5:
- Separately purge ghost- and zombie objects in the shrinker.
- Fix a format specifier - type inconsistency. (Kernel test robot).
v7:
- s/long/s64/ (Christian König)
- s/sofar/progress/ (Matt Brost)
v8:
- Rebase on Xe KUNIT update.
- Add content verifying to the shrinker kunit test.
- Split out TTM changes to a separate patch.
- Get rid of multiple bool arguments for clarity (Matt Brost)
- Avoid an error pointer dereference (Matt Brost)
- Avoid an integer overflow (Matt Auld)
- Address misc review comments by Matt Brost.
v9:
- Fix a compliation error.
- Rebase.
v10:
- Update to new LRU walk interface.
- Rework ghost-, zombie and purged object shrinking.
- Rebase.
v11:
- Use additional TTM helpers.
- Honor __GFP_FS and __GFP_IO
- Rebase.
v13:
- Use ttm_tt_setup_backup().
v14:
- Don't set up backup on imported bos.
v15:
- Rebase on backup interface changes.
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
commit 568012e3af6e5165907f2ca96780832a244b56cf
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Aug 14 16:16:56 2024 +0200
drm/ttm: Add helpers for shrinking
Add a number of helpers for shrinking that access core TTM and
core MM functionality in a way that make them unsuitable for
driver open-coding.
v11:
- New patch (split off from previous) and additional helpers.
v13:
- Adapt to ttm_backup interface change.
- Take resource off LRU when backed up.
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Christian König <christian.koenig@amd.com>
commit 900a272a1e8ed00d3180d044feeff03942ad16c7
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Aug 14 16:16:56 2024 +0200
drm/ttm: Add a macro to perform LRU iteration
Following the design direction communicated here:
https://lore.kernel.org/linux-mm/b7491378-defd-4f1c-31e2-29e4c77e2d67@amd.com/T/#ma918844aa8a6efe8768fdcda0c6590d5c93850c9
Export a LRU walker for driver shrinker use. The walker
initially supports only trylocking, since that's the
method used by shrinkes. The walker makes use of
scoped_guard() to allow exiting from the LRU walk loop
without performing any explicit unlocking or
cleanup.
v8:
- Split out from another patch.
- Use a struct for bool arguments to increase readability (Matt Brost).
- Unmap user-space cpu-mappings before shrinking pages.
- Explain non-fatal error codes (Matt Brost)
v10:
- Instead of using the existing helper, Wrap the interface inside out and
provide a loop to de-midlayer things the LRU iteration (Christian König).
- Removing the R-B by Matt Brost since the patch was significantly changed.
v11:
- Split the patch up to include just the LRU walk helper.
v12:
- Indent after scoped_guard() (Matt Brost)
v15:
- Adapt to new definition of scoped_guard()
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
commit 059c7ebd2f650745c4e85cf8c36eb3e9012ddcc1
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Tue Feb 7 08:45:46 2023 +0100
drm/ttm: Use fault-injection to test error paths
Use fault-injection to test partial TTM swapout and interrupted swapin.
Return -EINTR for swapin to test the callers ability to handle and
restart the swapin, and on swapout perform a partial swapout to test that
the swapin and release_shrunken functionality.
v8:
- Use the core fault-injection system.
v9:
- Fix compliation failure for !CONFIG_FAULT_INJECTION
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
commit 1ab97490a8179ff07180215730bc07221a6dec0d
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Mon Feb 6 15:25:18 2023 +0100
drm/ttm/pool, drm/ttm/tt: Provide a helper to shrink pages
Provide a helper to shrink ttm_tt page-vectors on a per-page
basis. A ttm_backup backend could then in theory get away with
allocating a single temporary page for each struct ttm_tt.
This is accomplished by splitting larger pages before trying to
back them up.
In the future we could allow ttm_backup to handle backing up
large pages as well, but currently there's no benefit in
doing that, since the shmem backup backend would have to
split those anyway to avoid allocating too much temporary
memory, and if the backend instead inserts pages into the
swap-cache, those are split on reclaim by the core.
Due to potential backup- and recover errors, allow partially swapped
out struct ttm_tt's, although mark them as swapped out stopping them
from being swapped out a second time. More details in the ttm_pool.c
DOC section.
v2:
- A couple of cleanups and error fixes in ttm_pool_back_up_tt.
- s/back_up/backup/
- Add a writeback parameter to the exported interface.
v8:
- Use a struct for flags for readability (Matt Brost)
- Address misc other review comments (Matt Brost)
v9:
- Update the kerneldoc for the ttm_tt::backup field.
v10:
- Rebase.
v13:
- Rebase on ttm_backup interface change. Update kerneldoc.
- Rebase and adjust ttm_tt_is_swapped().
v15:
- Rebase on ttm_backup return value change.
- Rebase on previous restructuring of ttm_pool_alloc()
- Rework the ttm_pool backup interface (Christian König)
- Remove cond_resched() (Christian König)
- Get rid of the need to allocate an intermediate page array
when restoring a multi-order page (Christian König)
- Update documentation.
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Christian Koenig <christian.koenig@amd.com>
commit fd15b5272034bef255b084e51a935a937c759337
Author: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Date: Wed Mar 27 12:18:08 2024 +0100
drm/ttm: Provide a shmem backup implementation
Provide a standalone shmem backup implementation.
Given the ttm_backup interface, this could
later on be extended to providing other backup
implementation than shmem, with one use-case being
GPU swapout to a user-provided fd.
v5:
- Fix a UAF. (kernel test robot, Dan Carptenter)
v6:
- Rename ttm_backup_shmem_copy_page() function argument
(Matthew Brost)
- Add some missing documentation
v8:
- Use folio_file_page to get to the page we want to writeback
instead of using the first page of the folio.
v13:
- Remove the base class abstraction (Christian König)
- Include ttm_backup_bytes_avail().
v14:
- Fix kerneldoc for ttm_backup_bytes_avail() (0-day)
- Work around casting of __randomize_layout struct pointer (0-day)
v15:
- Return negative error code from ttm_backup_backup_page()
(Christian König)
- Doc fixes. (Christian König).
Cc: Christian König <christian.koenig@amd.com>
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: <dri-devel@lists.freedesktop.org>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
+ /mt/dim checkpatch cc4910a0bf99a078684b793860762c0e00c88c4b drm-intel
a491e7880cc3 drm/xe: The xe bo shrinker series for testing
-:11: WARNING:UNKNOWN_COMMIT_ID: Unknown commit id 'f66aa63eb0986ac486d052388c06d0347915efa7', maybe rebased or not pulled?
#11:
commit f66aa63eb0986ac486d052388c06d0347915efa7
-:33: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#33:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:34: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#34:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:92: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#92:
Cc: Christian König <christian.koenig@amd.com>
-:93: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#93:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:94: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#94:
Cc: Matthew Brost <matthew.brost@intel.com>
-:95: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#95:
Cc: <dri-devel@lists.freedesktop.org>
-:96: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#96:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:96: WARNING:BAD_SIGN_OFF: Duplicate signature
#96:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:97: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#97:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:97: WARNING:BAD_SIGN_OFF: Duplicate signature
#97:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:115: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#115:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:115: WARNING:BAD_SIGN_OFF: Duplicate signature
#115:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:116: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#116:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:116: WARNING:BAD_SIGN_OFF: Duplicate signature
#116:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:117: WARNING:BAD_SIGN_OFF: Do not use whitespace before Acked-by:
#117:
Acked-by: Dave Airlie <airlied@redhat.com>
-:157: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#157:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:157: WARNING:BAD_SIGN_OFF: Duplicate signature
#157:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:158: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#158:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:158: WARNING:BAD_SIGN_OFF: Duplicate signature
#158:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:159: WARNING:BAD_SIGN_OFF: Do not use whitespace before Acked-by:
#159:
Acked-by: Dave Airlie <airlied@redhat.com>
-:159: WARNING:BAD_SIGN_OFF: Duplicate signature
#159:
Acked-by: Dave Airlie <airlied@redhat.com>
-:160: WARNING:BAD_SIGN_OFF: Do not use whitespace before Acked-by:
#160:
Acked-by: Christian König <christian.koenig@amd.com>
-:178: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#178:
Cc: Christian König <christian.koenig@amd.com>
-:178: WARNING:BAD_SIGN_OFF: Duplicate signature
#178:
Cc: Christian König <christian.koenig@amd.com>
-:179: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#179:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:179: WARNING:BAD_SIGN_OFF: Duplicate signature
#179:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:180: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#180:
Cc: Matthew Brost <matthew.brost@intel.com>
-:180: WARNING:BAD_SIGN_OFF: Duplicate signature
#180:
Cc: Matthew Brost <matthew.brost@intel.com>
-:181: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#181:
Cc: <dri-devel@lists.freedesktop.org>
-:181: WARNING:BAD_SIGN_OFF: Duplicate signature
#181:
Cc: <dri-devel@lists.freedesktop.org>
-:182: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#182:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:182: WARNING:BAD_SIGN_OFF: Duplicate signature
#182:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:183: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#183:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:183: WARNING:BAD_SIGN_OFF: Duplicate signature
#183:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:184: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#184:
Reviewed-by: Christian König <christian.koenig@amd.com>
-:234: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#234:
Cc: Christian König <christian.koenig@amd.com>
-:234: WARNING:BAD_SIGN_OFF: Duplicate signature
#234:
Cc: Christian König <christian.koenig@amd.com>
-:235: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#235:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:235: WARNING:BAD_SIGN_OFF: Duplicate signature
#235:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:236: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#236:
Cc: Matthew Brost <matthew.brost@intel.com>
-:236: WARNING:BAD_SIGN_OFF: Duplicate signature
#236:
Cc: Matthew Brost <matthew.brost@intel.com>
-:237: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#237:
Cc: <dri-devel@lists.freedesktop.org>
-:237: WARNING:BAD_SIGN_OFF: Duplicate signature
#237:
Cc: <dri-devel@lists.freedesktop.org>
-:238: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#238:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:238: WARNING:BAD_SIGN_OFF: Duplicate signature
#238:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:239: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#239:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:239: WARNING:BAD_SIGN_OFF: Duplicate signature
#239:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:240: WARNING:BAD_SIGN_OFF: Do not use whitespace before Acked-by:
#240:
Acked-by: Christian Koenig <christian.koenig@amd.com>
-:274: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#274:
Cc: Christian König <christian.koenig@amd.com>
-:274: WARNING:BAD_SIGN_OFF: Duplicate signature
#274:
Cc: Christian König <christian.koenig@amd.com>
-:275: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#275:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:275: WARNING:BAD_SIGN_OFF: Duplicate signature
#275:
Cc: Somalapuram Amaranath <Amaranath.Somalapuram@amd.com>
-:276: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#276:
Cc: Matthew Brost <matthew.brost@intel.com>
-:276: WARNING:BAD_SIGN_OFF: Duplicate signature
#276:
Cc: Matthew Brost <matthew.brost@intel.com>
-:277: WARNING:BAD_SIGN_OFF: Do not use whitespace before Cc:
#277:
Cc: <dri-devel@lists.freedesktop.org>
-:277: WARNING:BAD_SIGN_OFF: Duplicate signature
#277:
Cc: <dri-devel@lists.freedesktop.org>
-:278: WARNING:BAD_SIGN_OFF: Do not use whitespace before Signed-off-by:
#278:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:278: WARNING:BAD_SIGN_OFF: Duplicate signature
#278:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:279: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#279:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:279: WARNING:BAD_SIGN_OFF: Duplicate signature
#279:
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
-:280: WARNING:BAD_SIGN_OFF: Do not use whitespace before Reviewed-by:
#280:
Reviewed-by: Christian König <christian.koenig@amd.com>
-:280: WARNING:BAD_SIGN_OFF: Duplicate signature
#280:
Reviewed-by: Christian König <christian.koenig@amd.com>
-:282: WARNING:BAD_SIGN_OFF: Duplicate signature
#282:
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
-:298: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#298:
new file mode 100644
-:2576: WARNING:TABSTOP: Statements should start on a tabstop
#2576: FILE: include/drm/ttm/ttm_bo.h:531:
+ if (_T) {ttm_bo_lru_cursor_fini(_T); },
-:2576: ERROR:TRAILING_STATEMENTS: trailing statements should be on next line
#2576: FILE: include/drm/ttm/ttm_bo.h:531:
+ if (_T) {ttm_bo_lru_cursor_fini(_T); },
-:2576: WARNING:BRACES: braces {} are not necessary for single statement blocks
#2576: FILE: include/drm/ttm/ttm_bo.h:531:
+ if (_T) {ttm_bo_lru_cursor_fini(_T); },
-:2603: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#2603: FILE: include/drm/ttm/ttm_bo.h:558:
+#define ttm_bo_lru_for_each_reserved_guarded(_cursor, _man, _ctx, _bo) \
+ scoped_guard(ttm_bo_lru_cursor, _cursor, _man, _ctx) \
+ for ((_bo) = ttm_bo_lru_cursor_first(_cursor); (_bo); \
+ (_bo) = ttm_bo_lru_cursor_next(_cursor))
-:2603: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_cursor' - possible side-effects?
#2603: FILE: include/drm/ttm/ttm_bo.h:558:
+#define ttm_bo_lru_for_each_reserved_guarded(_cursor, _man, _ctx, _bo) \
+ scoped_guard(ttm_bo_lru_cursor, _cursor, _man, _ctx) \
+ for ((_bo) = ttm_bo_lru_cursor_first(_cursor); (_bo); \
+ (_bo) = ttm_bo_lru_cursor_next(_cursor))
-:2603: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_bo' - possible side-effects?
#2603: FILE: include/drm/ttm/ttm_bo.h:558:
+#define ttm_bo_lru_for_each_reserved_guarded(_cursor, _man, _ctx, _bo) \
+ scoped_guard(ttm_bo_lru_cursor, _cursor, _man, _ctx) \
+ for ((_bo) = ttm_bo_lru_cursor_first(_cursor); (_bo); \
+ (_bo) = ttm_bo_lru_cursor_next(_cursor))
total: 2 errors, 67 warnings, 2 checks, 2344 lines checked
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ CI.KUnit: success for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
2025-03-05 12:50 ` ✓ CI.Patch_applied: success for " Patchwork
2025-03-05 12:50 ` ✗ CI.checkpatch: warning " Patchwork
@ 2025-03-05 12:51 ` Patchwork
2025-03-05 13:08 ` ✓ CI.Build: " Patchwork
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-03-05 12:51 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[12:50:22] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[12:50:27] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../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)
| ^~~~~~~~~~~~~~~~~
[12:50:53] Starting KUnit Kernel (1/1)...
[12:50:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[12:50:53] ================== guc_buf (11 subtests) ===================
[12:50:53] [PASSED] test_smallest
[12:50:53] [PASSED] test_largest
[12:50:53] [PASSED] test_granular
[12:50:53] [PASSED] test_unique
[12:50:53] [PASSED] test_overlap
[12:50:53] [PASSED] test_reusable
[12:50:53] [PASSED] test_too_big
[12:50:53] [PASSED] test_flush
[12:50:53] [PASSED] test_lookup
[12:50:53] [PASSED] test_data
[12:50:53] [PASSED] test_class
[12:50:53] ===================== [PASSED] guc_buf =====================
[12:50:53] =================== guc_dbm (7 subtests) ===================
[12:50:53] [PASSED] test_empty
[12:50:53] [PASSED] test_default
[12:50:53] ======================== test_size ========================
[12:50:53] [PASSED] 4
[12:50:53] [PASSED] 8
[12:50:53] [PASSED] 32
[12:50:53] [PASSED] 256
[12:50:53] ==================== [PASSED] test_size ====================
[12:50:53] ======================= test_reuse ========================
[12:50:53] [PASSED] 4
[12:50:53] [PASSED] 8
[12:50:53] [PASSED] 32
[12:50:53] [PASSED] 256
[12:50:53] =================== [PASSED] test_reuse ====================
[12:50:53] =================== test_range_overlap ====================
[12:50:53] [PASSED] 4
[12:50:53] [PASSED] 8
[12:50:53] [PASSED] 32
[12:50:53] [PASSED] 256
[12:50:53] =============== [PASSED] test_range_overlap ================
[12:50:53] =================== test_range_compact ====================
[12:50:53] [PASSED] 4
[12:50:53] [PASSED] 8
[12:50:53] [PASSED] 32
[12:50:53] [PASSED] 256
[12:50:53] =============== [PASSED] test_range_compact ================
[12:50:53] ==================== test_range_spare =====================
[12:50:53] [PASSED] 4
[12:50:53] [PASSED] 8
[12:50:53] [PASSED] 32
[12:50:53] [PASSED] 256
[12:50:53] ================ [PASSED] test_range_spare =================
[12:50:53] ===================== [PASSED] guc_dbm =====================
[12:50:53] =================== guc_idm (6 subtests) ===================
[12:50:53] [PASSED] bad_init
[12:50:53] [PASSED] no_init
[12:50:53] [PASSED] init_fini
[12:50:53] [PASSED] check_used
[12:50:53] [PASSED] check_quota
[12:50:53] [PASSED] check_all
[12:50:53] ===================== [PASSED] guc_idm =====================
[12:50:53] ================== no_relay (3 subtests) ===================
[12:50:53] [PASSED] xe_drops_guc2pf_if_not_ready
[12:50:53] [PASSED] xe_drops_guc2vf_if_not_ready
[12:50:53] [PASSED] xe_rejects_send_if_not_ready
[12:50:53] ==================== [PASSED] no_relay =====================
[12:50:53] ================== pf_relay (14 subtests) ==================
[12:50:53] [PASSED] pf_rejects_guc2pf_too_short
[12:50:53] [PASSED] pf_rejects_guc2pf_too_long
[12:50:53] [PASSED] pf_rejects_guc2pf_no_payload
[12:50:53] [PASSED] pf_fails_no_payload
[12:50:53] [PASSED] pf_fails_bad_origin
[12:50:53] [PASSED] pf_fails_bad_type
[12:50:53] [PASSED] pf_txn_reports_error
[12:50:53] [PASSED] pf_txn_sends_pf2guc
[12:50:53] [PASSED] pf_sends_pf2guc
[12:50:53] [SKIPPED] pf_loopback_nop
[12:50:53] [SKIPPED] pf_loopback_echo
[12:50:53] [SKIPPED] pf_loopback_fail
[12:50:53] [SKIPPED] pf_loopback_busy
[12:50:53] [SKIPPED] pf_loopback_retry
[12:50:53] ==================== [PASSED] pf_relay =====================
[12:50:53] ================== vf_relay (3 subtests) ===================
[12:50:53] [PASSED] vf_rejects_guc2vf_too_short
[12:50:53] [PASSED] vf_rejects_guc2vf_too_long
[12:50:53] [PASSED] vf_rejects_guc2vf_no_payload
[12:50:53] ==================== [PASSED] vf_relay =====================
[12:50:53] ================= pf_service (11 subtests) =================
[12:50:53] [PASSED] pf_negotiate_any
[12:50:53] [PASSED] pf_negotiate_base_match
[12:50:53] [PASSED] pf_negotiate_base_newer
[12:50:53] [PASSED] pf_negotiate_base_next
[12:50:53] [SKIPPED] pf_negotiate_base_older
[12:50:53] [PASSED] pf_negotiate_base_prev
[12:50:53] [PASSED] pf_negotiate_latest_match
[12:50:53] [PASSED] pf_negotiate_latest_newer
[12:50:53] [PASSED] pf_negotiate_latest_next
[12:50:53] [SKIPPED] pf_negotiate_latest_older
[12:50:53] [SKIPPED] pf_negotiate_latest_prev
[12:50:53] =================== [PASSED] pf_service ====================
[12:50:53] ===================== lmtt (1 subtest) =====================
[12:50:53] ======================== test_ops =========================
[12:50:53] [PASSED] 2-level
[12:50:53] [PASSED] multi-level
[12:50:53] ==================== [PASSED] test_ops =====================
[12:50:53] ====================== [PASSED] lmtt =======================
[12:50:53] =================== xe_mocs (2 subtests) ===================
[12:50:53] ================ xe_live_mocs_kernel_kunit ================
[12:50:53] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[12:50:53] ================ xe_live_mocs_reset_kunit =================
[12:50:53] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[12:50:53] ==================== [SKIPPED] xe_mocs =====================
[12:50:53] ================= xe_migrate (2 subtests) ==================
[12:50:53] ================= xe_migrate_sanity_kunit =================
[12:50:53] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[12:50:53] ================== xe_validate_ccs_kunit ==================
[12:50:53] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[12:50:53] =================== [SKIPPED] xe_migrate ===================
[12:50:53] ================== xe_dma_buf (1 subtest) ==================
[12:50:53] ==================== xe_dma_buf_kunit =====================
[12:50:53] ================ [SKIPPED] xe_dma_buf_kunit ================
[12:50:53] =================== [SKIPPED] xe_dma_buf ===================
[12:50:53] ================= xe_bo_shrink (1 subtest) =================
[12:50:53] =================== xe_bo_shrink_kunit ====================
[12:50:53] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[12:50:53] ================== [SKIPPED] xe_bo_shrink ==================
[12:50:53] ==================== xe_bo (2 subtests) ====================
[12:50:53] ================== xe_ccs_migrate_kunit ===================
[12:50:53] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
stty: 'standard input': Inappropriate ioctl for device
[12:50:53] ==================== xe_bo_evict_kunit ====================
[12:50:53] =============== [SKIPPED] xe_bo_evict_kunit ================
[12:50:53] ===================== [SKIPPED] xe_bo ======================
[12:50:53] ==================== args (11 subtests) ====================
[12:50:53] [PASSED] count_args_test
[12:50:53] [PASSED] call_args_example
[12:50:53] [PASSED] call_args_test
[12:50:53] [PASSED] drop_first_arg_example
[12:50:53] [PASSED] drop_first_arg_test
[12:50:53] [PASSED] first_arg_example
[12:50:53] [PASSED] first_arg_test
[12:50:53] [PASSED] last_arg_example
[12:50:53] [PASSED] last_arg_test
[12:50:53] [PASSED] pick_arg_example
[12:50:53] [PASSED] sep_comma_example
[12:50:53] ====================== [PASSED] args =======================
[12:50:53] =================== xe_pci (2 subtests) ====================
[12:50:53] [PASSED] xe_gmdid_graphics_ip
[12:50:53] [PASSED] xe_gmdid_media_ip
[12:50:53] ===================== [PASSED] xe_pci ======================
[12:50:53] =================== xe_rtp (2 subtests) ====================
[12:50:53] =============== xe_rtp_process_to_sr_tests ================
[12:50:53] [PASSED] coalesce-same-reg
[12:50:53] [PASSED] no-match-no-add
[12:50:53] [PASSED] match-or
[12:50:53] [PASSED] match-or-xfail
[12:50:53] [PASSED] no-match-no-add-multiple-rules
[12:50:53] [PASSED] two-regs-two-entries
[12:50:53] [PASSED] clr-one-set-other
[12:50:53] [PASSED] set-field
[12:50:53] [PASSED] conflict-duplicate
[12:50:53] [PASSED] conflict-not-disjoint
[12:50:53] [PASSED] conflict-reg-type
[12:50:53] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[12:50:53] ================== xe_rtp_process_tests ===================
[12:50:53] [PASSED] active1
[12:50:53] [PASSED] active2
[12:50:53] [PASSED] active-inactive
[12:50:53] [PASSED] inactive-active
[12:50:53] [PASSED] inactive-1st_or_active-inactive
[12:50:53] [PASSED] inactive-2nd_or_active-inactive
[12:50:53] [PASSED] inactive-last_or_active-inactive
[12:50:53] [PASSED] inactive-no_or_active-inactive
[12:50:53] ============== [PASSED] xe_rtp_process_tests ===============
[12:50:53] ===================== [PASSED] xe_rtp ======================
[12:50:53] ==================== xe_wa (1 subtest) =====================
[12:50:53] ======================== xe_wa_gt =========================
[12:50:53] [PASSED] TIGERLAKE (B0)
[12:50:53] [PASSED] DG1 (A0)
[12:50:53] [PASSED] DG1 (B0)
[12:50:53] [PASSED] ALDERLAKE_S (A0)
[12:50:53] [PASSED] ALDERLAKE_S (B0)
[12:50:53] [PASSED] ALDERLAKE_S (C0)
[12:50:53] [PASSED] ALDERLAKE_S (D0)
[12:50:53] [PASSED] ALDERLAKE_P (A0)
[12:50:53] [PASSED] ALDERLAKE_P (B0)
[12:50:53] [PASSED] ALDERLAKE_P (C0)
[12:50:53] [PASSED] ALDERLAKE_S_RPLS (D0)
[12:50:53] [PASSED] ALDERLAKE_P_RPLU (E0)
[12:50:53] [PASSED] DG2_G10 (C0)
[12:50:53] [PASSED] DG2_G11 (B1)
[12:50:53] [PASSED] DG2_G12 (A1)
[12:50:53] [PASSED] METEORLAKE (g:A0, m:A0)
[12:50:53] [PASSED] METEORLAKE (g:A0, m:A0)
[12:50:53] [PASSED] METEORLAKE (g:A0, m:A0)
[12:50:53] [PASSED] LUNARLAKE (g:A0, m:A0)
[12:50:53] [PASSED] LUNARLAKE (g:B0, m:A0)
[12:50:53] [PASSED] BATTLEMAGE (g:A0, m:A1)
[12:50:53] ==================== [PASSED] xe_wa_gt =====================
[12:50:53] ====================== [PASSED] xe_wa ======================
[12:50:53] ============================================================
[12:50:53] Testing complete. Ran 133 tests: passed: 117, skipped: 16
[12:50:53] Elapsed time: 30.565s total, 4.191s configuring, 26.108s building, 0.246s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[12:50:53] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[12:50:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
../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)
| ^~~~~~~~~~~~~~~~~
[12:51:15] Starting KUnit Kernel (1/1)...
[12:51:15] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[12:51:15] =========== drm_validate_clone_mode (2 subtests) ===========
[12:51:15] ============== drm_test_check_in_clone_mode ===============
[12:51:15] [PASSED] in_clone_mode
[12:51:15] [PASSED] not_in_clone_mode
[12:51:15] ========== [PASSED] drm_test_check_in_clone_mode ===========
[12:51:15] =============== drm_test_check_valid_clones ===============
[12:51:15] [PASSED] not_in_clone_mode
[12:51:15] [PASSED] valid_clone
[12:51:15] [PASSED] invalid_clone
[12:51:15] =========== [PASSED] drm_test_check_valid_clones ===========
[12:51:15] ============= [PASSED] drm_validate_clone_mode =============
[12:51:15] ============= drm_validate_modeset (1 subtest) =============
[12:51:15] [PASSED] drm_test_check_connector_changed_modeset
[12:51:15] ============== [PASSED] drm_validate_modeset ===============
[12:51:15] ================== drm_buddy (7 subtests) ==================
[12:51:15] [PASSED] drm_test_buddy_alloc_limit
[12:51:15] [PASSED] drm_test_buddy_alloc_optimistic
[12:51:15] [PASSED] drm_test_buddy_alloc_pessimistic
[12:51:15] [PASSED] drm_test_buddy_alloc_pathological
[12:51:15] [PASSED] drm_test_buddy_alloc_contiguous
[12:51:15] [PASSED] drm_test_buddy_alloc_clear
[12:51:15] [PASSED] drm_test_buddy_alloc_range_bias
[12:51:15] ==================== [PASSED] drm_buddy ====================
[12:51:15] ============= drm_cmdline_parser (40 subtests) =============
[12:51:15] [PASSED] drm_test_cmdline_force_d_only
[12:51:15] [PASSED] drm_test_cmdline_force_D_only_dvi
[12:51:15] [PASSED] drm_test_cmdline_force_D_only_hdmi
[12:51:15] [PASSED] drm_test_cmdline_force_D_only_not_digital
[12:51:15] [PASSED] drm_test_cmdline_force_e_only
[12:51:15] [PASSED] drm_test_cmdline_res
[12:51:15] [PASSED] drm_test_cmdline_res_vesa
[12:51:15] [PASSED] drm_test_cmdline_res_vesa_rblank
[12:51:15] [PASSED] drm_test_cmdline_res_rblank
[12:51:15] [PASSED] drm_test_cmdline_res_bpp
[12:51:15] [PASSED] drm_test_cmdline_res_refresh
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[12:51:15] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[12:51:15] [PASSED] drm_test_cmdline_res_margins_force_on
[12:51:15] [PASSED] drm_test_cmdline_res_vesa_margins
[12:51:15] [PASSED] drm_test_cmdline_name
[12:51:15] [PASSED] drm_test_cmdline_name_bpp
[12:51:15] [PASSED] drm_test_cmdline_name_option
[12:51:15] [PASSED] drm_test_cmdline_name_bpp_option
[12:51:15] [PASSED] drm_test_cmdline_rotate_0
[12:51:15] [PASSED] drm_test_cmdline_rotate_90
[12:51:15] [PASSED] drm_test_cmdline_rotate_180
[12:51:15] [PASSED] drm_test_cmdline_rotate_270
[12:51:15] [PASSED] drm_test_cmdline_hmirror
[12:51:15] [PASSED] drm_test_cmdline_vmirror
[12:51:15] [PASSED] drm_test_cmdline_margin_options
[12:51:15] [PASSED] drm_test_cmdline_multiple_options
[12:51:15] [PASSED] drm_test_cmdline_bpp_extra_and_option
[12:51:15] [PASSED] drm_test_cmdline_extra_and_option
[12:51:15] [PASSED] drm_test_cmdline_freestanding_options
[12:51:15] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[12:51:15] [PASSED] drm_test_cmdline_panel_orientation
[12:51:15] ================ drm_test_cmdline_invalid =================
[12:51:15] [PASSED] margin_only
[12:51:15] [PASSED] interlace_only
[12:51:15] [PASSED] res_missing_x
[12:51:15] [PASSED] res_missing_y
[12:51:15] [PASSED] res_bad_y
[12:51:15] [PASSED] res_missing_y_bpp
[12:51:15] [PASSED] res_bad_bpp
[12:51:15] [PASSED] res_bad_refresh
[12:51:15] [PASSED] res_bpp_refresh_force_on_off
[12:51:15] [PASSED] res_invalid_mode
[12:51:15] [PASSED] res_bpp_wrong_place_mode
[12:51:15] [PASSED] name_bpp_refresh
[12:51:15] [PASSED] name_refresh
[12:51:15] [PASSED] name_refresh_wrong_mode
[12:51:15] [PASSED] name_refresh_invalid_mode
[12:51:15] [PASSED] rotate_multiple
[12:51:15] [PASSED] rotate_invalid_val
[12:51:15] [PASSED] rotate_truncated
[12:51:15] [PASSED] invalid_option
[12:51:15] [PASSED] invalid_tv_option
[12:51:15] [PASSED] truncated_tv_option
[12:51:15] ============ [PASSED] drm_test_cmdline_invalid =============
[12:51:15] =============== drm_test_cmdline_tv_options ===============
[12:51:15] [PASSED] NTSC
[12:51:15] [PASSED] NTSC_443
[12:51:15] [PASSED] NTSC_J
[12:51:15] [PASSED] PAL
[12:51:15] [PASSED] PAL_M
[12:51:15] [PASSED] PAL_N
[12:51:15] [PASSED] SECAM
[12:51:15] [PASSED] MONO_525
[12:51:15] [PASSED] MONO_625
[12:51:15] =========== [PASSED] drm_test_cmdline_tv_options ===========
[12:51:15] =============== [PASSED] drm_cmdline_parser ================
[12:51:15] ========== drmm_connector_hdmi_init (20 subtests) ==========
[12:51:15] [PASSED] drm_test_connector_hdmi_init_valid
[12:51:15] [PASSED] drm_test_connector_hdmi_init_bpc_8
[12:51:15] [PASSED] drm_test_connector_hdmi_init_bpc_10
[12:51:15] [PASSED] drm_test_connector_hdmi_init_bpc_12
[12:51:15] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[12:51:15] [PASSED] drm_test_connector_hdmi_init_bpc_null
[12:51:15] [PASSED] drm_test_connector_hdmi_init_formats_empty
[12:51:15] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[12:51:15] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[12:51:15] [PASSED] supported_formats=0x9 yuv420_allowed=1
[12:51:15] [PASSED] supported_formats=0x9 yuv420_allowed=0
[12:51:15] [PASSED] supported_formats=0x3 yuv420_allowed=1
[12:51:15] [PASSED] supported_formats=0x3 yuv420_allowed=0
[12:51:15] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[12:51:15] [PASSED] drm_test_connector_hdmi_init_null_ddc
[12:51:15] [PASSED] drm_test_connector_hdmi_init_null_product
[12:51:15] [PASSED] drm_test_connector_hdmi_init_null_vendor
[12:51:15] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[12:51:15] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[12:51:15] [PASSED] drm_test_connector_hdmi_init_product_valid
[12:51:15] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[12:51:15] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[12:51:15] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[12:51:15] ========= drm_test_connector_hdmi_init_type_valid =========
[12:51:15] [PASSED] HDMI-A
[12:51:15] [PASSED] HDMI-B
[12:51:15] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[12:51:15] ======== drm_test_connector_hdmi_init_type_invalid ========
[12:51:15] [PASSED] Unknown
[12:51:15] [PASSED] VGA
[12:51:15] [PASSED] DVI-I
[12:51:15] [PASSED] DVI-D
[12:51:15] [PASSED] DVI-A
[12:51:15] [PASSED] Composite
[12:51:15] [PASSED] SVIDEO
[12:51:15] [PASSED] LVDS
[12:51:15] [PASSED] Component
[12:51:15] [PASSED] DIN
[12:51:15] [PASSED] DP
[12:51:15] [PASSED] TV
[12:51:15] [PASSED] eDP
[12:51:15] [PASSED] Virtual
[12:51:15] [PASSED] DSI
[12:51:15] [PASSED] DPI
[12:51:15] [PASSED] Writeback
[12:51:15] [PASSED] SPI
[12:51:15] [PASSED] USB
[12:51:15] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[12:51:15] ============ [PASSED] drmm_connector_hdmi_init =============
[12:51:15] ============= drmm_connector_init (3 subtests) =============
[12:51:15] [PASSED] drm_test_drmm_connector_init
[12:51:15] [PASSED] drm_test_drmm_connector_init_null_ddc
[12:51:15] ========= drm_test_drmm_connector_init_type_valid =========
[12:51:15] [PASSED] Unknown
[12:51:15] [PASSED] VGA
[12:51:15] [PASSED] DVI-I
[12:51:15] [PASSED] DVI-D
[12:51:15] [PASSED] DVI-A
[12:51:15] [PASSED] Composite
[12:51:15] [PASSED] SVIDEO
[12:51:15] [PASSED] LVDS
[12:51:15] [PASSED] Component
[12:51:15] [PASSED] DIN
[12:51:15] [PASSED] DP
[12:51:15] [PASSED] HDMI-A
[12:51:15] [PASSED] HDMI-B
[12:51:15] [PASSED] TV
[12:51:15] [PASSED] eDP
[12:51:15] [PASSED] Virtual
[12:51:15] [PASSED] DSI
[12:51:15] [PASSED] DPI
[12:51:15] [PASSED] Writeback
[12:51:15] [PASSED] SPI
[12:51:15] [PASSED] USB
[12:51:15] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[12:51:15] =============== [PASSED] drmm_connector_init ===============
[12:51:15] ========= drm_connector_dynamic_init (6 subtests) ==========
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_init
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_init_properties
[12:51:15] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[12:51:15] [PASSED] Unknown
[12:51:15] [PASSED] VGA
[12:51:15] [PASSED] DVI-I
[12:51:15] [PASSED] DVI-D
[12:51:15] [PASSED] DVI-A
[12:51:15] [PASSED] Composite
[12:51:15] [PASSED] SVIDEO
[12:51:15] [PASSED] LVDS
[12:51:15] [PASSED] Component
[12:51:15] [PASSED] DIN
[12:51:15] [PASSED] DP
[12:51:15] [PASSED] HDMI-A
[12:51:15] [PASSED] HDMI-B
[12:51:15] [PASSED] TV
[12:51:15] [PASSED] eDP
[12:51:15] [PASSED] Virtual
[12:51:15] [PASSED] DSI
[12:51:15] [PASSED] DPI
[12:51:15] [PASSED] Writeback
[12:51:15] [PASSED] SPI
[12:51:15] [PASSED] USB
[12:51:15] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[12:51:15] ======== drm_test_drm_connector_dynamic_init_name =========
[12:51:15] [PASSED] Unknown
[12:51:15] [PASSED] VGA
[12:51:15] [PASSED] DVI-I
[12:51:15] [PASSED] DVI-D
[12:51:15] [PASSED] DVI-A
[12:51:15] [PASSED] Composite
[12:51:15] [PASSED] SVIDEO
[12:51:15] [PASSED] LVDS
[12:51:15] [PASSED] Component
[12:51:15] [PASSED] DIN
[12:51:15] [PASSED] DP
[12:51:15] [PASSED] HDMI-A
[12:51:15] [PASSED] HDMI-B
[12:51:15] [PASSED] TV
[12:51:15] [PASSED] eDP
[12:51:15] [PASSED] Virtual
[12:51:15] [PASSED] DSI
[12:51:15] [PASSED] DPI
[12:51:15] [PASSED] Writeback
[12:51:15] [PASSED] SPI
[12:51:15] [PASSED] USB
[12:51:15] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[12:51:15] =========== [PASSED] drm_connector_dynamic_init ============
[12:51:15] ==== drm_connector_dynamic_register_early (4 subtests) =====
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[12:51:15] ====== [PASSED] drm_connector_dynamic_register_early =======
[12:51:15] ======= drm_connector_dynamic_register (7 subtests) ========
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[12:51:15] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[12:51:15] ========= [PASSED] drm_connector_dynamic_register ==========
[12:51:15] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[12:51:15] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[12:51:15] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[12:51:15] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[12:51:15] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[12:51:15] ========== drm_test_get_tv_mode_from_name_valid ===========
[12:51:15] [PASSED] NTSC
[12:51:15] [PASSED] NTSC-443
[12:51:15] [PASSED] NTSC-J
[12:51:15] [PASSED] PAL
[12:51:15] [PASSED] PAL-M
[12:51:15] [PASSED] PAL-N
[12:51:15] [PASSED] SECAM
[12:51:15] [PASSED] Mono
[12:51:15] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[12:51:15] [PASSED] drm_test_get_tv_mode_from_name_truncated
[12:51:15] ============ [PASSED] drm_get_tv_mode_from_name ============
[12:51:15] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[12:51:15] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[12:51:15] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[12:51:15] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[12:51:15] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[12:51:15] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[12:51:15] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[12:51:15] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[12:51:15] [PASSED] VIC 96
[12:51:15] [PASSED] VIC 97
[12:51:15] [PASSED] VIC 101
[12:51:15] [PASSED] VIC 102
[12:51:15] [PASSED] VIC 106
[12:51:15] [PASSED] VIC 107
[12:51:15] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[12:51:15] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[12:51:15] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[12:51:15] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[12:51:15] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[12:51:15] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[12:51:15] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[12:51:15] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[12:51:15] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[12:51:15] [PASSED] Automatic
[12:51:15] [PASSED] Full
[12:51:15] [PASSED] Limited 16:235
[12:51:15] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[12:51:15] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[12:51:15] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[12:51:15] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[12:51:15] === drm_test_drm_hdmi_connector_get_output_format_name ====
[12:51:15] [PASSED] RGB
[12:51:15] [PASSED] YUV 4:2:0
[12:51:15] [PASSED] YUV 4:2:2
[12:51:15] [PASSED] YUV 4:4:4
[12:51:15] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[12:51:15] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[12:51:15] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[12:51:15] ============= drm_damage_helper (21 subtests) ==============
[12:51:15] [PASSED] drm_test_damage_iter_no_damage
[12:51:15] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[12:51:15] [PASSED] drm_test_damage_iter_no_damage_src_moved
[12:51:15] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[12:51:15] [PASSED] drm_test_damage_iter_no_damage_not_visible
[12:51:15] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[12:51:15] [PASSED] drm_test_damage_iter_no_damage_no_fb
[12:51:15] [PASSED] drm_test_damage_iter_simple_damage
[12:51:15] [PASSED] drm_test_damage_iter_single_damage
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_outside_src
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_src_moved
[12:51:15] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[12:51:15] [PASSED] drm_test_damage_iter_damage
[12:51:15] [PASSED] drm_test_damage_iter_damage_one_intersect
[12:51:15] [PASSED] drm_test_damage_iter_damage_one_outside
[12:51:15] [PASSED] drm_test_damage_iter_damage_src_moved
[12:51:15] [PASSED] drm_test_damage_iter_damage_not_visible
[12:51:15] ================ [PASSED] drm_damage_helper ================
[12:51:15] ============== drm_dp_mst_helper (3 subtests) ==============
[12:51:15] ============== drm_test_dp_mst_calc_pbn_mode ==============
[12:51:15] [PASSED] Clock 154000 BPP 30 DSC disabled
[12:51:15] [PASSED] Clock 234000 BPP 30 DSC disabled
[12:51:15] [PASSED] Clock 297000 BPP 24 DSC disabled
[12:51:15] [PASSED] Clock 332880 BPP 24 DSC enabled
[12:51:15] [PASSED] Clock 324540 BPP 24 DSC enabled
[12:51:15] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[12:51:15] ============== drm_test_dp_mst_calc_pbn_div ===============
[12:51:15] [PASSED] Link rate 2000000 lane count 4
[12:51:15] [PASSED] Link rate 2000000 lane count 2
[12:51:15] [PASSED] Link rate 2000000 lane count 1
[12:51:15] [PASSED] Link rate 1350000 lane count 4
[12:51:15] [PASSED] Link rate 1350000 lane count 2
[12:51:15] [PASSED] Link rate 1350000 lane count 1
[12:51:15] [PASSED] Link rate 1000000 lane count 4
[12:51:15] [PASSED] Link rate 1000000 lane count 2
[12:51:15] [PASSED] Link rate 1000000 lane count 1
[12:51:15] [PASSED] Link rate 810000 lane count 4
[12:51:15] [PASSED] Link rate 810000 lane count 2
[12:51:15] [PASSED] Link rate 810000 lane count 1
[12:51:15] [PASSED] Link rate 540000 lane count 4
[12:51:15] [PASSED] Link rate 540000 lane count 2
[12:51:15] [PASSED] Link rate 540000 lane count 1
[12:51:15] [PASSED] Link rate 270000 lane count 4
[12:51:15] [PASSED] Link rate 270000 lane count 2
[12:51:15] [PASSED] Link rate 270000 lane count 1
[12:51:15] [PASSED] Link rate 162000 lane count 4
[12:51:15] [PASSED] Link rate 162000 lane count 2
[12:51:15] [PASSED] Link rate 162000 lane count 1
[12:51:15] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[12:51:15] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[12:51:15] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[12:51:15] [PASSED] DP_POWER_UP_PHY with port number
[12:51:15] [PASSED] DP_POWER_DOWN_PHY with port number
[12:51:15] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[12:51:15] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[12:51:15] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[12:51:15] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[12:51:15] [PASSED] DP_QUERY_PAYLOAD with port number
[12:51:15] [PASSED] DP_QUERY_PAYLOAD with VCPI
[12:51:15] [PASSED] DP_REMOTE_DPCD_READ with port number
[12:51:15] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[12:51:15] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[12:51:15] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[12:51:15] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[12:51:15] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[12:51:15] [PASSED] DP_REMOTE_I2C_READ with port number
[12:51:15] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[12:51:15] [PASSED] DP_REMOTE_I2C_READ with transactions array
[12:51:15] [PASSED] DP_REMOTE_I2C_WRITE with port number
[12:51:15] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[12:51:15] [PASSED] DP_REMOTE_I2C_WRITE with data array
[12:51:15] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[12:51:15] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[12:51:15] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[12:51:15] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[12:51:15] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[12:51:15] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[12:51:15] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[12:51:15] ================ [PASSED] drm_dp_mst_helper ================
[12:51:15] ================== drm_exec (7 subtests) ===================
[12:51:15] [PASSED] sanitycheck
[12:51:15] [PASSED] test_lock
[12:51:15] [PASSED] test_lock_unlock
[12:51:15] [PASSED] test_duplicates
[12:51:15] [PASSED] test_prepare
[12:51:15] [PASSED] test_prepare_array
[12:51:15] [PASSED] test_multiple_loops
[12:51:15] ==================== [PASSED] drm_exec =====================
[12:51:15] =========== drm_format_helper_test (18 subtests) ===========
[12:51:15] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[12:51:15] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[12:51:15] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[12:51:15] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[12:51:15] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[12:51:15] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[12:51:15] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[12:51:15] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[12:51:15] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[12:51:15] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[12:51:15] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[12:51:15] ============== drm_test_fb_xrgb8888_to_mono ===============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[12:51:15] ==================== drm_test_fb_swab =====================
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ================ [PASSED] drm_test_fb_swab =================
[12:51:15] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[12:51:15] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[12:51:15] [PASSED] single_pixel_source_buffer
[12:51:15] [PASSED] single_pixel_clip_rectangle
[12:51:15] [PASSED] well_known_colors
[12:51:15] [PASSED] destination_pitch
[12:51:15] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[12:51:15] ================= drm_test_fb_clip_offset =================
[12:51:15] [PASSED] pass through
[12:51:15] [PASSED] horizontal offset
[12:51:15] [PASSED] vertical offset
[12:51:15] [PASSED] horizontal and vertical offset
[12:51:15] [PASSED] horizontal offset (custom pitch)
[12:51:15] [PASSED] vertical offset (custom pitch)
[12:51:15] [PASSED] horizontal and vertical offset (custom pitch)
[12:51:15] ============= [PASSED] drm_test_fb_clip_offset =============
[12:51:15] ============== drm_test_fb_build_fourcc_list ==============
[12:51:15] [PASSED] no native formats
[12:51:15] [PASSED] XRGB8888 as native format
[12:51:15] [PASSED] remove duplicates
[12:51:15] [PASSED] convert alpha formats
[12:51:16] [PASSED] random formats
[12:51:16] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[12:51:16] =================== drm_test_fb_memcpy ====================
[12:51:16] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[12:51:16] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[12:51:16] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[12:51:16] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[12:51:16] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[12:51:16] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[12:51:16] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[12:51:16] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[12:51:16] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[12:51:16] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[12:51:16] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[12:51:16] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[12:51:16] =============== [PASSED] drm_test_fb_memcpy ================
[12:51:16] ============= [PASSED] drm_format_helper_test ==============
[12:51:16] ================= drm_format (18 subtests) =================
[12:51:16] [PASSED] drm_test_format_block_width_invalid
[12:51:16] [PASSED] drm_test_format_block_width_one_plane
[12:51:16] [PASSED] drm_test_format_block_width_two_plane
[12:51:16] [PASSED] drm_test_format_block_width_three_plane
[12:51:16] [PASSED] drm_test_format_block_width_tiled
[12:51:16] [PASSED] drm_test_format_block_height_invalid
[12:51:16] [PASSED] drm_test_format_block_height_one_plane
[12:51:16] [PASSED] drm_test_format_block_height_two_plane
[12:51:16] [PASSED] drm_test_format_block_height_three_plane
[12:51:16] [PASSED] drm_test_format_block_height_tiled
[12:51:16] [PASSED] drm_test_format_min_pitch_invalid
[12:51:16] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[12:51:16] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[12:51:16] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[12:51:16] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[12:51:16] [PASSED] drm_test_format_min_pitch_two_plane
[12:51:16] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[12:51:16] [PASSED] drm_test_format_min_pitch_tiled
[12:51:16] =================== [PASSED] drm_format ====================
[12:51:16] ============== drm_framebuffer (10 subtests) ===============
[12:51:16] ========== drm_test_framebuffer_check_src_coords ==========
[12:51:16] [PASSED] Success: source fits into fb
[12:51:16] [PASSED] Fail: overflowing fb with x-axis coordinate
[12:51:16] [PASSED] Fail: overflowing fb with y-axis coordinate
[12:51:16] [PASSED] Fail: overflowing fb with source width
[12:51:16] [PASSED] Fail: overflowing fb with source height
[12:51:16] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[12:51:16] [PASSED] drm_test_framebuffer_cleanup
[12:51:16] =============== drm_test_framebuffer_create ===============
[12:51:16] [PASSED] ABGR8888 normal sizes
[12:51:16] [PASSED] ABGR8888 max sizes
[12:51:16] [PASSED] ABGR8888 pitch greater than min required
[12:51:16] [PASSED] ABGR8888 pitch less than min required
[12:51:16] [PASSED] ABGR8888 Invalid width
[12:51:16] [PASSED] ABGR8888 Invalid buffer handle
[12:51:16] [PASSED] No pixel format
[12:51:16] [PASSED] ABGR8888 Width 0
[12:51:16] [PASSED] ABGR8888 Height 0
[12:51:16] [PASSED] ABGR8888 Out of bound height * pitch combination
[12:51:16] [PASSED] ABGR8888 Large buffer offset
[12:51:16] [PASSED] ABGR8888 Buffer offset for inexistent plane
[12:51:16] [PASSED] ABGR8888 Invalid flag
[12:51:16] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[12:51:16] [PASSED] ABGR8888 Valid buffer modifier
[12:51:16] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[12:51:16] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] NV12 Normal sizes
[12:51:16] [PASSED] NV12 Max sizes
[12:51:16] [PASSED] NV12 Invalid pitch
[12:51:16] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[12:51:16] [PASSED] NV12 different modifier per-plane
[12:51:16] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[12:51:16] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] NV12 Modifier for inexistent plane
[12:51:16] [PASSED] NV12 Handle for inexistent plane
[12:51:16] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[12:51:16] [PASSED] YVU420 Normal sizes
[12:51:16] [PASSED] YVU420 Max sizes
[12:51:16] [PASSED] YVU420 Invalid pitch
[12:51:16] [PASSED] YVU420 Different pitches
[12:51:16] [PASSED] YVU420 Different buffer offsets/pitches
[12:51:16] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[12:51:16] [PASSED] YVU420 Valid modifier
[12:51:16] [PASSED] YVU420 Different modifiers per plane
[12:51:16] [PASSED] YVU420 Modifier for inexistent plane
[12:51:16] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[12:51:16] [PASSED] X0L2 Normal sizes
[12:51:16] [PASSED] X0L2 Max sizes
[12:51:16] [PASSED] X0L2 Invalid pitch
[12:51:16] [PASSED] X0L2 Pitch greater than minimum required
[12:51:16] [PASSED] X0L2 Handle for inexistent plane
[12:51:16] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[12:51:16] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[12:51:16] [PASSED] X0L2 Valid modifier
[12:51:16] [PASSED] X0L2 Modifier for inexistent plane
[12:51:16] =========== [PASSED] drm_test_framebuffer_create ===========
[12:51:16] [PASSED] drm_test_framebuffer_free
[12:51:16] [PASSED] drm_test_framebuffer_init
[12:51:16] [PASSED] drm_test_framebuffer_init_bad_format
[12:51:16] [PASSED] drm_test_framebuffer_init_dev_mismatch
[12:51:16] [PASSED] drm_test_framebuffer_lookup
[12:51:16] [PASSED] drm_test_framebuffer_lookup_inexistent
[12:51:16] [PASSED] drm_test_framebuffer_modifiers_not_supported
[12:51:16] ================= [PASSED] drm_framebuffer =================
[12:51:16] ================ drm_gem_shmem (8 subtests) ================
[12:51:16] [PASSED] drm_gem_shmem_test_obj_create
[12:51:16] [PASSED] drm_gem_shmem_test_obj_create_private
[12:51:16] [PASSED] drm_gem_shmem_test_pin_pages
[12:51:16] [PASSED] drm_gem_shmem_test_vmap
[12:51:16] [PASSED] drm_gem_shmem_test_get_pages_sgt
[12:51:16] [PASSED] drm_gem_shmem_test_get_sg_table
[12:51:16] [PASSED] drm_gem_shmem_test_madvise
[12:51:16] [PASSED] drm_gem_shmem_test_purge
[12:51:16] ================== [PASSED] drm_gem_shmem ==================
[12:51:16] === drm_atomic_helper_connector_hdmi_check (23 subtests) ===
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[12:51:16] [PASSED] drm_test_check_disable_connector
[12:51:16] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[12:51:16] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[12:51:16] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[12:51:16] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[12:51:16] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[12:51:16] [PASSED] drm_test_check_output_bpc_dvi
[12:51:16] [PASSED] drm_test_check_output_bpc_format_vic_1
[12:51:16] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[12:51:16] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[12:51:16] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[12:51:16] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[12:51:16] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[12:51:16] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[12:51:16] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[12:51:16] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[12:51:16] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[12:51:16] [PASSED] drm_test_check_broadcast_rgb_value
[12:51:16] [PASSED] drm_test_check_bpc_8_value
[12:51:16] [PASSED] drm_test_check_bpc_10_value
[12:51:16] [PASSED] drm_test_check_bpc_12_value
[12:51:16] [PASSED] drm_test_check_format_value
[12:51:16] [PASSED] drm_test_check_tmds_char_value
[12:51:16] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[12:51:16] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[12:51:16] [PASSED] drm_test_check_mode_valid
[12:51:16] [PASSED] drm_test_check_mode_valid_reject
[12:51:16] [PASSED] drm_test_check_mode_valid_reject_rate
[12:51:16] [PASSED] drm_test_check_mode_valid_reject_max_clock
[12:51:16] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[12:51:16] ================= drm_managed (2 subtests) =================
[12:51:16] [PASSED] drm_test_managed_release_action
[12:51:16] [PASSED] drm_test_managed_run_action
[12:51:16] =================== [PASSED] drm_managed ===================
[12:51:16] =================== drm_mm (6 subtests) ====================
[12:51:16] [PASSED] drm_test_mm_init
[12:51:16] [PASSED] drm_test_mm_debug
[12:51:16] [PASSED] drm_test_mm_align32
[12:51:16] [PASSED] drm_test_mm_align64
[12:51:16] [PASSED] drm_test_mm_lowest
[12:51:16] [PASSED] drm_test_mm_highest
[12:51:16] ===================== [PASSED] drm_mm ======================
[12:51:16] ============= drm_modes_analog_tv (5 subtests) =============
[12:51:16] [PASSED] drm_test_modes_analog_tv_mono_576i
[12:51:16] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[12:51:16] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[12:51:16] [PASSED] drm_test_modes_analog_tv_pal_576i
[12:51:16] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[12:51:16] =============== [PASSED] drm_modes_analog_tv ===============
[12:51:16] ============== drm_plane_helper (2 subtests) ===============
[12:51:16] =============== drm_test_check_plane_state ================
[12:51:16] [PASSED] clipping_simple
[12:51:16] [PASSED] clipping_rotate_reflect
[12:51:16] [PASSED] positioning_simple
[12:51:16] [PASSED] upscaling
[12:51:16] [PASSED] downscaling
[12:51:16] [PASSED] rounding1
[12:51:16] [PASSED] rounding2
[12:51:16] [PASSED] rounding3
[12:51:16] [PASSED] rounding4
[12:51:16] =========== [PASSED] drm_test_check_plane_state ============
[12:51:16] =========== drm_test_check_invalid_plane_state ============
[12:51:16] [PASSED] positioning_invalid
[12:51:16] [PASSED] upscaling_invalid
[12:51:16] [PASSED] downscaling_invalid
[12:51:16] ======= [PASSED] drm_test_check_invalid_plane_state ========
[12:51:16] ================ [PASSED] drm_plane_helper =================
[12:51:16] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[12:51:16] ====== drm_test_connector_helper_tv_get_modes_check =======
[12:51:16] [PASSED] None
[12:51:16] [PASSED] PAL
[12:51:16] [PASSED] NTSC
[12:51:16] [PASSED] Both, NTSC Default
[12:51:16] [PASSED] Both, PAL Default
[12:51:16] [PASSED] Both, NTSC Default, with PAL on command-line
[12:51:16] [PASSED] Both, PAL Default, with NTSC on command-line
[12:51:16] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[12:51:16] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[12:51:16] ================== drm_rect (9 subtests) ===================
[12:51:16] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[12:51:16] [PASSED] drm_test_rect_clip_scaled_not_clipped
[12:51:16] [PASSED] drm_test_rect_clip_scaled_clipped
[12:51:16] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[12:51:16] ================= drm_test_rect_intersect =================
[12:51:16] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[12:51:16] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[12:51:16] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[12:51:16] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[12:51:16] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[12:51:16] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[12:51:16] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[12:51:16] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[12:51:16] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[12:51:16] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[12:51:16] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[12:51:16] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[12:51:16] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[12:51:16] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[12:51:16] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[12:51:16] ============= [PASSED] drm_test_rect_intersect =============
[12:51:16] ================ drm_test_rect_calc_hscale ================
[12:51:16] [PASSED] normal use
[12:51:16] [PASSED] out of max range
[12:51:16] [PASSED] out of min range
[12:51:16] [PASSED] zero dst
[12:51:16] [PASSED] negative src
[12:51:16] [PASSED] negative dst
[12:51:16] ============ [PASSED] drm_test_rect_calc_hscale ============
[12:51:16] ================ drm_test_rect_calc_vscale ================
[12:51:16] [PASSED] normal use
[12:51:16] [PASSED] out of max range
[12:51:16] [PASSED] out of min range
[12:51:16] [PASSED] zero dst
[12:51:16] [PASSED] negative src
[12:51:16] [PASSED] negative dst
stty: 'standard input': Inappropriate ioctl for device
[12:51:16] ============ [PASSED] drm_test_rect_calc_vscale ============
[12:51:16] ================== drm_test_rect_rotate ===================
[12:51:16] [PASSED] reflect-x
[12:51:16] [PASSED] reflect-y
[12:51:16] [PASSED] rotate-0
[12:51:16] [PASSED] rotate-90
[12:51:16] [PASSED] rotate-180
[12:51:16] [PASSED] rotate-270
[12:51:16] ============== [PASSED] drm_test_rect_rotate ===============
[12:51:16] ================ drm_test_rect_rotate_inv =================
[12:51:16] [PASSED] reflect-x
[12:51:16] [PASSED] reflect-y
[12:51:16] [PASSED] rotate-0
[12:51:16] [PASSED] rotate-90
[12:51:16] [PASSED] rotate-180
[12:51:16] [PASSED] rotate-270
[12:51:16] ============ [PASSED] drm_test_rect_rotate_inv =============
[12:51:16] ==================== [PASSED] drm_rect =====================
[12:51:16] ============================================================
[12:51:16] Testing complete. Ran 602 tests: passed: 602
[12:51:16] Elapsed time: 22.519s total, 1.621s configuring, 20.679s building, 0.186s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[12:51:16] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[12:51:17] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json ARCH=um O=.kunit --jobs=48
[12:51:25] Starting KUnit Kernel (1/1)...
[12:51:25] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[12:51:25] ================= ttm_device (5 subtests) ==================
[12:51:25] [PASSED] ttm_device_init_basic
[12:51:25] [PASSED] ttm_device_init_multiple
[12:51:25] [PASSED] ttm_device_fini_basic
[12:51:25] [PASSED] ttm_device_init_no_vma_man
[12:51:25] ================== ttm_device_init_pools ==================
[12:51:25] [PASSED] No DMA allocations, no DMA32 required
[12:51:25] [PASSED] DMA allocations, DMA32 required
[12:51:25] [PASSED] No DMA allocations, DMA32 required
[12:51:25] [PASSED] DMA allocations, no DMA32 required
[12:51:25] ============== [PASSED] ttm_device_init_pools ==============
[12:51:25] =================== [PASSED] ttm_device ====================
[12:51:25] ================== ttm_pool (8 subtests) ===================
[12:51:25] ================== ttm_pool_alloc_basic ===================
[12:51:25] [PASSED] One page
[12:51:25] [PASSED] More than one page
[12:51:25] [PASSED] Above the allocation limit
[12:51:25] [PASSED] One page, with coherent DMA mappings enabled
[12:51:25] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[12:51:25] ============== [PASSED] ttm_pool_alloc_basic ===============
[12:51:25] ============== ttm_pool_alloc_basic_dma_addr ==============
[12:51:25] [PASSED] One page
[12:51:25] [PASSED] More than one page
[12:51:25] [PASSED] Above the allocation limit
[12:51:25] [PASSED] One page, with coherent DMA mappings enabled
[12:51:25] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[12:51:25] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[12:51:25] [PASSED] ttm_pool_alloc_order_caching_match
[12:51:25] [PASSED] ttm_pool_alloc_caching_mismatch
[12:51:25] [PASSED] ttm_pool_alloc_order_mismatch
[12:51:25] [PASSED] ttm_pool_free_dma_alloc
[12:51:25] [PASSED] ttm_pool_free_no_dma_alloc
[12:51:25] [PASSED] ttm_pool_fini_basic
[12:51:25] ==================== [PASSED] ttm_pool =====================
[12:51:25] ================ ttm_resource (8 subtests) =================
[12:51:25] ================= ttm_resource_init_basic =================
[12:51:25] [PASSED] Init resource in TTM_PL_SYSTEM
[12:51:25] [PASSED] Init resource in TTM_PL_VRAM
[12:51:25] [PASSED] Init resource in a private placement
[12:51:25] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[12:51:25] ============= [PASSED] ttm_resource_init_basic =============
[12:51:25] [PASSED] ttm_resource_init_pinned
[12:51:25] [PASSED] ttm_resource_fini_basic
[12:51:25] [PASSED] ttm_resource_manager_init_basic
[12:51:25] [PASSED] ttm_resource_manager_usage_basic
[12:51:25] [PASSED] ttm_resource_manager_set_used_basic
[12:51:25] [PASSED] ttm_sys_man_alloc_basic
[12:51:25] [PASSED] ttm_sys_man_free_basic
[12:51:25] ================== [PASSED] ttm_resource ===================
[12:51:25] =================== ttm_tt (15 subtests) ===================
[12:51:25] ==================== ttm_tt_init_basic ====================
[12:51:25] [PASSED] Page-aligned size
[12:51:25] [PASSED] Extra pages requested
[12:51:25] ================ [PASSED] ttm_tt_init_basic ================
[12:51:25] [PASSED] ttm_tt_init_misaligned
[12:51:25] [PASSED] ttm_tt_fini_basic
[12:51:25] [PASSED] ttm_tt_fini_sg
[12:51:25] [PASSED] ttm_tt_fini_shmem
[12:51:25] [PASSED] ttm_tt_create_basic
[12:51:25] [PASSED] ttm_tt_create_invalid_bo_type
[12:51:25] [PASSED] ttm_tt_create_ttm_exists
[12:51:25] [PASSED] ttm_tt_create_failed
[12:51:25] [PASSED] ttm_tt_destroy_basic
[12:51:25] [PASSED] ttm_tt_populate_null_ttm
[12:51:25] [PASSED] ttm_tt_populate_populated_ttm
[12:51:25] [PASSED] ttm_tt_unpopulate_basic
[12:51:25] [PASSED] ttm_tt_unpopulate_empty_ttm
[12:51:25] [PASSED] ttm_tt_swapin_basic
[12:51:25] ===================== [PASSED] ttm_tt ======================
[12:51:25] =================== ttm_bo (14 subtests) ===================
[12:51:25] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[12:51:25] [PASSED] Cannot be interrupted and sleeps
[12:51:25] [PASSED] Cannot be interrupted, locks straight away
[12:51:25] [PASSED] Can be interrupted, sleeps
[12:51:25] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[12:51:25] [PASSED] ttm_bo_reserve_locked_no_sleep
[12:51:25] [PASSED] ttm_bo_reserve_no_wait_ticket
[12:51:25] [PASSED] ttm_bo_reserve_double_resv
[12:51:25] [PASSED] ttm_bo_reserve_interrupted
[12:51:25] [PASSED] ttm_bo_reserve_deadlock
[12:51:25] [PASSED] ttm_bo_unreserve_basic
[12:51:25] [PASSED] ttm_bo_unreserve_pinned
[12:51:25] [PASSED] ttm_bo_unreserve_bulk
[12:51:25] [PASSED] ttm_bo_put_basic
[12:51:25] [PASSED] ttm_bo_put_shared_resv
[12:51:25] [PASSED] ttm_bo_pin_basic
[12:51:25] [PASSED] ttm_bo_pin_unpin_resource
[12:51:25] [PASSED] ttm_bo_multiple_pin_one_unpin
[12:51:25] ===================== [PASSED] ttm_bo ======================
[12:51:25] ============== ttm_bo_validate (22 subtests) ===============
[12:51:25] ============== ttm_bo_init_reserved_sys_man ===============
[12:51:25] [PASSED] Buffer object for userspace
[12:51:25] [PASSED] Kernel buffer object
[12:51:25] [PASSED] Shared buffer object
[12:51:25] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[12:51:25] ============== ttm_bo_init_reserved_mock_man ==============
[12:51:25] [PASSED] Buffer object for userspace
[12:51:25] [PASSED] Kernel buffer object
[12:51:25] [PASSED] Shared buffer object
[12:51:25] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[12:51:25] [PASSED] ttm_bo_init_reserved_resv
[12:51:25] ================== ttm_bo_validate_basic ==================
[12:51:25] [PASSED] Buffer object for userspace
[12:51:25] [PASSED] Kernel buffer object
[12:51:25] [PASSED] Shared buffer object
[12:51:25] ============== [PASSED] ttm_bo_validate_basic ==============
[12:51:25] [PASSED] ttm_bo_validate_invalid_placement
[12:51:25] ============= ttm_bo_validate_same_placement ==============
[12:51:25] [PASSED] System manager
[12:51:25] [PASSED] VRAM manager
[12:51:25] ========= [PASSED] ttm_bo_validate_same_placement ==========
[12:51:25] [PASSED] ttm_bo_validate_failed_alloc
[12:51:25] [PASSED] ttm_bo_validate_pinned
[12:51:25] [PASSED] ttm_bo_validate_busy_placement
[12:51:25] ================ ttm_bo_validate_multihop =================
[12:51:25] [PASSED] Buffer object for userspace
[12:51:25] [PASSED] Kernel buffer object
[12:51:25] [PASSED] Shared buffer object
[12:51:25] ============ [PASSED] ttm_bo_validate_multihop =============
[12:51:25] ========== ttm_bo_validate_no_placement_signaled ==========
[12:51:25] [PASSED] Buffer object in system domain, no page vector
[12:51:25] [PASSED] Buffer object in system domain with an existing page vector
[12:51:25] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[12:51:25] ======== ttm_bo_validate_no_placement_not_signaled ========
[12:51:25] [PASSED] Buffer object for userspace
[12:51:25] [PASSED] Kernel buffer object
[12:51:25] [PASSED] Shared buffer object
[12:51:25] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[12:51:25] [PASSED] ttm_bo_validate_move_fence_signaled
[12:51:25] ========= ttm_bo_validate_move_fence_not_signaled =========
[12:51:25] [PASSED] Waits for GPU
[12:51:25] [PASSED] Tries to lock straight away
[12:51:26] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[12:51:26] [PASSED] ttm_bo_validate_swapout
[12:51:26] [PASSED] ttm_bo_validate_happy_evict
[12:51:26] [PASSED] ttm_bo_validate_all_pinned_evict
[12:51:26] [PASSED] ttm_bo_validate_allowed_only_evict
[12:51:26] [PASSED] ttm_bo_validate_deleted_evict
[12:51:26] [PASSED] ttm_bo_validate_busy_domain_evict
[12:51:26] [PASSED] ttm_bo_validate_evict_gutting
[12:51:26] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[12:51:26] ================= [PASSED] ttm_bo_validate =================
[12:51:26] ============================================================
[12:51:26] Testing complete. Ran 102 tests: passed: 102
[12:51:26] Elapsed time: 9.970s total, 1.679s configuring, 7.674s building, 0.528s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ CI.Build: success for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
` (2 preceding siblings ...)
2025-03-05 12:51 ` ✓ CI.KUnit: success " Patchwork
@ 2025-03-05 13:08 ` Patchwork
2025-03-05 13:11 ` ✓ CI.Hooks: " Patchwork
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-03-05 13:08 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
State : success
== Summary ==
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/events/amd/
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/events/amd/amd-uncore.ko
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/events/rapl.ko
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/kvm/
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.14.0-rc5-xe+/kernel/arch/x86/kvm/kvm-amd.ko
lib/modules/6.14.0-rc5-xe+/kernel/kernel/
lib/modules/6.14.0-rc5-xe+/kernel/kernel/kheaders.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/
lib/modules/6.14.0-rc5-xe+/kernel/crypto/ecrdsa_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/xcbc.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/serpent_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/aria_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/crypto_simd.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/adiantum.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/tcrypt.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/crypto_engine.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/zstd.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/asymmetric_keys/
lib/modules/6.14.0-rc5-xe+/kernel/crypto/asymmetric_keys/pkcs7_test_key.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/asymmetric_keys/pkcs8_key_parser.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/des_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/xctr.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/authenc.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/sm4_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/camellia_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/sm3.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/pcrypt.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/aegis128.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/af_alg.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/algif_aead.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/cmac.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/sm3_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/aes_ti.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/chacha_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/poly1305_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/nhpoly1305.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/crc32_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/essiv.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/ccm.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/wp512.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/streebog_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/authencesn.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/echainiv.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/lrw.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/cryptd.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/crypto_user.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/algif_hash.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/polyval-generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/hctr2.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/842.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/pcbc.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/ansi_cprng.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/cast6_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/twofish_common.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/twofish_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/lz4hc.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/blowfish_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/md4.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/chacha20poly1305.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/curve25519-generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/lz4.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/rmd160.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/algif_skcipher.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/cast5_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/fcrypt.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/ecdsa_generic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/sm4.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/cast_common.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/blowfish_common.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/michael_mic.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/async_tx/
lib/modules/6.14.0-rc5-xe+/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.14.0-rc5-xe+/kernel/crypto/algif_rng.ko
lib/modules/6.14.0-rc5-xe+/kernel/block/
lib/modules/6.14.0-rc5-xe+/kernel/block/bfq.ko
lib/modules/6.14.0-rc5-xe+/kernel/block/kyber-iosched.ko
lib/modules/6.14.0-rc5-xe+/build
lib/modules/6.14.0-rc5-xe+/modules.alias.bin
lib/modules/6.14.0-rc5-xe+/modules.builtin
lib/modules/6.14.0-rc5-xe+/modules.softdep
lib/modules/6.14.0-rc5-xe+/modules.alias
lib/modules/6.14.0-rc5-xe+/modules.order
lib/modules/6.14.0-rc5-xe+/modules.symbols
lib/modules/6.14.0-rc5-xe+/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
^[[0Ksection_end:1741180102:package_x86_64_nodebug
^[[0K
+ echo -e '\e[0Ksection_end:1741180102:package_x86_64_nodebug\r\e[0K'
+ sync
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ CI.Hooks: success for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
` (3 preceding siblings ...)
2025-03-05 13:08 ` ✓ CI.Build: " Patchwork
@ 2025-03-05 13:11 ` Patchwork
2025-03-05 13:14 ` ✓ CI.checksparse: " Patchwork
2025-03-05 13:36 ` ✗ Xe.CI.BAT: failure " Patchwork
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-03-05 13:11 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
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
DESCEND objtool
CALL ../scripts/checksyscalls.sh
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/parse-options.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.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/arch/x86/special.o
CC /workspace/kernel/build64-default/tools/objtool/builtin-check.o
CC /workspace/kernel/build64-default/tools/objtool/special.o
CC /workspace/kernel/build64-default/tools/objtool/elf.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.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
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 W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
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/fragments/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/fragments/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/fragments/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# 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_VMSPLIT_3G not in final .config
Requested value: CONFIG_VMSPLIT_3G=y
Actual value:
Value requested for CONFIG_VMSPLIT_3G_OPT not in final .config
Requested value: # CONFIG_VMSPLIT_3G_OPT is not set
Actual value:
Value requested for CONFIG_VMSPLIT_2G not in final .config
Requested value: # CONFIG_VMSPLIT_2G is not set
Actual value:
Value requested for CONFIG_VMSPLIT_2G_OPT not in final .config
Requested value: # CONFIG_VMSPLIT_2G_OPT is not set
Actual value:
Value requested for CONFIG_VMSPLIT_1G not in final .config
Requested value: # CONFIG_VMSPLIT_1G 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_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_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_FREGS not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_FREGS=y
Actual value:
Value requested for CONFIG_HAVE_FTRACE_GRAPH_FUNC not in final .config
Requested value: CONFIG_HAVE_FTRACE_GRAPH_FUNC=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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
#
# 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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
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 [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m] && HAS_IOPORT [=y]
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
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
WRAP arch/x86/include/generated/uapi/asm/resource.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
WRAP arch/x86/include/generated/uapi/asm/socket.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.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
UPD include/generated/compile.h
WRAP arch/x86/include/generated/asm/early_ioremap.h
HOSTCC arch/x86/tools/relocs_32.o
WRAP arch/x86/include/generated/asm/fprobe.h
HOSTCC arch/x86/tools/relocs_64.o
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
WRAP arch/x86/include/generated/asm/mmzone.h
HOSTCC arch/x86/tools/relocs_common.o
WRAP arch/x86/include/generated/asm/irq_regs.h
WRAP arch/x86/include/generated/asm/kmap_size.h
WRAP arch/x86/include/generated/asm/local64.h
WRAP arch/x86/include/generated/asm/mmiowb.h
WRAP arch/x86/include/generated/asm/module.lds.h
WRAP arch/x86/include/generated/asm/rwonce.h
HOSTCC scripts/kallsyms
HOSTCC scripts/sorttable
HOSTCC scripts/asn1_compiler
HOSTCC scripts/selinux/mdp/mdp
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/file2alias.o
HOSTCC scripts/mod/modpost.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
HOSTCC usr/gen_init_cpio
CC init/main.o
CC init/do_mounts.o
CC certs/system_keyring.o
CC init/do_mounts_initrd.o
UPD init/utsversion-tmp.h
CC mm/filemap.o
CC ipc/util.o
CC init/initramfs.o
CC mm/mempool.o
CC ipc/msgutil.o
CC init/calibrate.o
CC security/commoncap.o
CC ipc/msg.o
CC mm/oom_kill.o
CC security/lsm_syscalls.o
AS arch/x86/lib/atomic64_cx8_32.o
CC init/init_task.o
CC block/bdev.o
CC io_uring/io_uring.o
CC security/min_addr.o
CC arch/x86/realmode/init.o
CC ipc/sem.o
CC arch/x86/power/cpu.o
CC arch/x86/pci/i386.o
AR arch/x86/crypto/built-in.a
CC arch/x86/video/video-common.o
CC security/keys/gc.o
CC security/integrity/iint.o
AR arch/x86/net/built-in.a
HOSTCC security/selinux/genheaders
CC arch/x86/events/zhaoxin/core.o
CC block/partitions/core.o
AR virt/lib/built-in.a
CC arch/x86/events/intel/core.o
AR arch/x86/entry/vsyscall/built-in.a
AR drivers/cache/built-in.a
AR arch/x86/platform/atom/built-in.a
CC arch/x86/events/amd/core.o
CC arch/x86/mm/pat/set_memory.o
CC lib/math/div64.o
CC net/core/sock.o
CC arch/x86/virt/svm/cmdline.o
AR virt/built-in.a
CC fs/notify/dnotify/dnotify.o
CC arch/x86/kernel/fpu/init.o
AR arch/x86/virt/vmx/built-in.a
AS arch/x86/lib/checksum_32.o
CC sound/core/seq/seq.o
CC fs/nfs_common/nfsacl.o
AR drivers/irqchip/built-in.a
AR arch/x86/platform/ce4100/built-in.a
CC io_uring/opdef.o
CC arch/x86/entry/vdso/vma.o
CC kernel/locking/mutex.o
CC arch/x86/platform/efi/memmap.o
AR drivers/bus/mhi/built-in.a
CC kernel/sched/core.o
CC lib/crypto/mpi/generic_mpih-lshift.o
AR drivers/bus/built-in.a
CC arch/x86/lib/cmdline.o
CC crypto/asymmetric_keys/asymmetric_type.o
AR drivers/pwm/built-in.a
AR drivers/leds/trigger/built-in.a
AR drivers/leds/blink/built-in.a
AR drivers/leds/simple/built-in.a
AR arch/x86/virt/svm/built-in.a
CC drivers/leds/led-core.o
AR arch/x86/virt/built-in.a
CC arch/x86/mm/pat/memtype.o
AS arch/x86/lib/cmpxchg8b_emu.o
CC lib/math/gcd.o
GEN security/selinux/flask.h security/selinux/av_permissions.h
CC security/selinux/avc.o
CC arch/x86/lib/cpu.o
CC lib/math/lcm.o
CC kernel/sched/fair.o
CC lib/math/int_log.o
GEN usr/initramfs_data.cpio
COPY usr/initramfs_inc_data
AS usr/initramfs_data.o
HOSTCC certs/extract-cert
CC arch/x86/kernel/fpu/bugs.o
AR usr/built-in.a
CC crypto/asymmetric_keys/restrict.o
CC lib/math/int_pow.o
CC arch/x86/kernel/fpu/core.o
CC lib/math/int_sqrt.o
CC arch/x86/lib/delay.o
CC sound/core/seq/seq_lock.o
AS arch/x86/realmode/rm/header.o
CC lib/crypto/mpi/generic_mpih-mul1.o
CC lib/math/reciprocal_div.o
AS arch/x86/realmode/rm/trampoline_32.o
AR arch/x86/video/built-in.a
AS arch/x86/realmode/rm/stack.o
AR arch/x86/platform/geode/built-in.a
CERT certs/x509_certificate_list
CERT certs/signing_key.x509
AS certs/system_certificates.o
CC arch/x86/mm/pat/memtype_interval.o
AS arch/x86/realmode/rm/reboot.o
CC drivers/pci/msi/pcidev_msi.o
AR certs/built-in.a
AS arch/x86/realmode/rm/wakeup_asm.o
AS arch/x86/entry/entry.o
CC sound/core/sound.o
CC security/integrity/integrity_audit.o
CC lib/math/rational.o
CC arch/x86/platform/efi/quirks.o
CC net/core/request_sock.o
CC drivers/leds/led-class.o
CC fs/nfs_common/grace.o
CC arch/x86/realmode/rm/wakemain.o
CC drivers/leds/led-triggers.o
CC kernel/locking/semaphore.o
CC security/keys/key.o
CC arch/x86/pci/init.o
CC fs/notify/inotify/inotify_fsnotify.o
AR fs/notify/dnotify/built-in.a
CC lib/zlib_inflate/inffast.o
CC arch/x86/events/amd/lbr.o
CC arch/x86/entry/vdso/extable.o
CC arch/x86/realmode/rm/video-mode.o
CC lib/zlib_deflate/deflate.o
AS arch/x86/realmode/rm/copy.o
CC arch/x86/power/hibernate_32.o
AS arch/x86/lib/getuser.o
CC crypto/asymmetric_keys/signature.o
CC block/partitions/msdos.o
CC arch/x86/platform/efi/efi.o
GEN arch/x86/lib/inat-tables.c
AR arch/x86/events/zhaoxin/built-in.a
CC arch/x86/platform/efi/efi_32.o
CC arch/x86/lib/insn-eval.o
AS arch/x86/realmode/rm/bioscall.o
CC arch/x86/realmode/rm/regs.o
CC lib/zlib_inflate/inflate.o
CC sound/core/seq/seq_clientmgr.o
CC arch/x86/realmode/rm/video-vga.o
CC block/partitions/efi.o
CC lib/zlib_deflate/deftree.o
AS arch/x86/platform/efi/efi_stub_32.o
AR lib/math/built-in.a
CC arch/x86/realmode/rm/video-vesa.o
CC lib/crypto/memneq.o
CC fs/iomap/trace.o
CC net/ethernet/eth.o
CC arch/x86/realmode/rm/video-bios.o
CC kernel/power/qos.o
CC lib/crypto/mpi/generic_mpih-mul2.o
CC fs/iomap/iter.o
PASYMS arch/x86/realmode/rm/pasyms.h
CC kernel/printk/printk.o
CC crypto/api.o
CC fs/iomap/buffered-io.o
LDS arch/x86/realmode/rm/realmode.lds
CC fs/notify/inotify/inotify_user.o
LD arch/x86/realmode/rm/realmode.elf
RELOCS arch/x86/realmode/rm/realmode.relocs
OBJCOPY arch/x86/realmode/rm/realmode.bin
CC fs/nfs_common/common.o
CC drivers/pci/msi/api.o
AS arch/x86/realmode/rmpiggy.o
CC fs/iomap/direct-io.o
AR arch/x86/realmode/built-in.a
CC lib/zlib_inflate/infutil.o
AR arch/x86/mm/pat/built-in.a
CC fs/quota/dquot.o
CC crypto/asymmetric_keys/public_key.o
CC arch/x86/mm/init.o
CC arch/x86/pci/pcbios.o
AR security/integrity/built-in.a
CC arch/x86/pci/mmconfig_32.o
CC kernel/locking/rwsem.o
AR drivers/leds/built-in.a
AS arch/x86/entry/entry_32.o
CC init/version.o
CC arch/x86/entry/syscall_32.o
AR arch/x86/platform/iris/built-in.a
CC arch/x86/entry/common.o
LDS arch/x86/entry/vdso/vdso32/vdso32.lds
CC security/security.o
AS arch/x86/power/hibernate_asm_32.o
AS arch/x86/entry/vdso/vdso32/note.o
CC arch/x86/power/hibernate.o
AS arch/x86/entry/vdso/vdso32/system_call.o
ASN.1 crypto/asymmetric_keys/x509.asn1.[ch]
CC security/lsm_audit.o
AS arch/x86/entry/vdso/vdso32/sigreturn.o
CC kernel/sched/build_policy.o
CC ipc/shm.o
CC drivers/video/console/dummycon.o
CC arch/x86/entry/vdso/vdso32/vclock_gettime.o
AR init/built-in.a
CC arch/x86/events/amd/ibs.o
CC arch/x86/lib/insn.o
CC lib/zlib_deflate/deflate_syms.o
CC kernel/printk/printk_safe.o
CC kernel/irq/irqdesc.o
CC arch/x86/mm/init_32.o
CC lib/zlib_inflate/inftrees.o
CC fs/iomap/fiemap.o
CC arch/x86/kernel/fpu/regset.o
ASN.1 crypto/asymmetric_keys/x509_akid.asn1.[ch]
CC block/fops.o
CC lib/crypto/mpi/generic_mpih-mul3.o
CC security/keys/keyring.o
CC arch/x86/platform/efi/runtime-map.o
CC security/selinux/hooks.o
CC lib/zlib_inflate/inflate_syms.o
AR block/partitions/built-in.a
CC arch/x86/entry/vdso/vdso32/vgetcpu.o
CC kernel/sched/build_utility.o
CC arch/x86/lib/kaslr.o
CC crypto/asymmetric_keys/x509_loader.o
AR lib/zlib_deflate/built-in.a
CC crypto/asymmetric_keys/x509_public_key.o
CC arch/x86/kernel/cpu/mce/core.o
CC drivers/pci/msi/msi.o
AR fs/nfs_common/built-in.a
CC arch/x86/kernel/acpi/boot.o
CC arch/x86/events/intel/bts.o
CC drivers/pci/pcie/portdrv.o
CC arch/x86/pci/direct.o
CC arch/x86/lib/memcpy_32.o
CC kernel/power/main.o
CC drivers/video/console/vgacon.o
AR drivers/pci/pwrctrl/built-in.a
AR lib/zlib_inflate/built-in.a
CC arch/x86/kernel/cpu/mce/severity.o
CC net/core/skbuff.o
AR fs/notify/inotify/built-in.a
CC net/core/datagram.o
AS arch/x86/lib/memmove_32.o
AR fs/notify/fanotify/built-in.a
CC fs/quota/quota_v2.o
CC fs/notify/fsnotify.o
AR arch/x86/power/built-in.a
CC arch/x86/lib/misc.o
CC net/core/stream.o
HOSTCC arch/x86/entry/vdso/vdso2c
CC io_uring/kbuf.o
CC kernel/locking/percpu-rwsem.o
CC arch/x86/lib/pc-conf-reg.o
CC sound/core/seq/seq_memory.o
CC lib/crypto/mpi/generic_mpih-rshift.o
CC drivers/pci/msi/irqdomain.o
CC arch/x86/entry/vdso/vdso32-setup.o
CC kernel/irq/handle.o
CC arch/x86/kernel/apic/apic.o
AR net/ethernet/built-in.a
CC sound/core/init.o
CC arch/x86/kernel/fpu/signal.o
AS arch/x86/lib/putuser.o
AS arch/x86/lib/retpoline.o
CC kernel/irq/manage.o
CC arch/x86/lib/string_32.o
AR arch/x86/platform/efi/built-in.a
ASN.1 crypto/asymmetric_keys/pkcs7.asn1.[ch]
CC crypto/asymmetric_keys/pkcs7_trust.o
CC arch/x86/platform/intel/iosf_mbi.o
CC arch/x86/lib/strstr_32.o
CC fs/notify/notification.o
CC arch/x86/lib/usercopy.o
CC arch/x86/mm/fault.o
VDSO arch/x86/entry/vdso/vdso32.so.dbg
OBJCOPY arch/x86/entry/vdso/vdso32.so
VDSO2C arch/x86/entry/vdso/vdso-image-32.c
CC arch/x86/entry/vdso/vdso-image-32.o
CC block/bio.o
CC arch/x86/pci/mmconfig-shared.o
CC arch/x86/pci/fixup.o
CC drivers/pci/pcie/rcec.o
CC arch/x86/events/amd/uncore.o
CC ipc/syscall.o
CC kernel/locking/spinlock.o
CC lib/crypto/mpi/generic_mpih-sub1.o
CC fs/notify/group.o
CC arch/x86/events/core.o
CC arch/x86/lib/usercopy_32.o
CC crypto/asymmetric_keys/pkcs7_verify.o
CC security/keys/keyctl.o
CC mm/fadvise.o
CC drivers/pci/pcie/bwctrl.o
CC arch/x86/events/probe.o
CC kernel/locking/osq_lock.o
AR arch/x86/entry/vdso/built-in.a
CC mm/maccess.o
AS arch/x86/entry/thunk.o
AR arch/x86/entry/built-in.a
CC drivers/pci/hotplug/pci_hotplug_core.o
AR drivers/pci/msi/built-in.a
CC sound/core/seq/seq_queue.o
CC mm/page-writeback.o
CC kernel/power/console.o
CC arch/x86/kernel/acpi/sleep.o
AR drivers/video/console/built-in.a
CC fs/iomap/seek.o
CC drivers/video/backlight/backlight.o
CC fs/iomap/swapfile.o
CC arch/x86/events/utils.o
CC kernel/locking/qspinlock.o
CC arch/x86/events/intel/ds.o
CC arch/x86/lib/msr-smp.o
CC security/selinux/selinuxfs.o
CC fs/quota/quota_tree.o
AR arch/x86/platform/intel/built-in.a
AR net/802/built-in.a
CC lib/lzo/lzo1x_compress.o
AR arch/x86/platform/intel-mid/built-in.a
CC arch/x86/kernel/fpu/xstate.o
CC arch/x86/kernel/kprobes/core.o
CC lib/lz4/lz4_decompress.o
AR arch/x86/platform/intel-quark/built-in.a
CC crypto/asymmetric_keys/x509.asn1.o
AR arch/x86/platform/olpc/built-in.a
AR arch/x86/platform/scx200/built-in.a
CC crypto/asymmetric_keys/x509_akid.asn1.o
AR arch/x86/platform/ts5500/built-in.a
AR arch/x86/platform/uv/built-in.a
AR arch/x86/platform/built-in.a
CC crypto/asymmetric_keys/x509_cert_parser.o
CC lib/crypto/mpi/generic_mpih-add1.o
CC arch/x86/kernel/apic/apic_common.o
CC lib/crypto/mpi/mpicoder.o
CC kernel/printk/nbcon.o
CC security/keys/permission.o
CC arch/x86/lib/cache-smp.o
CC fs/notify/mark.o
CC ipc/ipc_sysctl.o
CC io_uring/rsrc.o
CC drivers/pci/pcie/aspm.o
CC arch/x86/lib/crc32-glue.o
CC kernel/locking/rtmutex_api.o
CC fs/proc/task_mmu.o
CC arch/x86/pci/acpi.o
CC fs/kernfs/mount.o
CC fs/sysfs/file.o
CC kernel/power/process.o
CC arch/x86/kernel/cpu/mce/genpool.o
AS arch/x86/kernel/acpi/wakeup_32.o
CC lib/lzo/lzo1x_decompress_safe.o
CC kernel/locking/qrwlock.o
CC sound/core/seq/seq_fifo.o
CC arch/x86/kernel/acpi/cstate.o
CC lib/zstd/zstd_decompress_module.o
CC lib/xz/xz_dec_syms.o
CC drivers/pci/hotplug/acpi_pcihp.o
CC kernel/irq/spurious.o
AR fs/iomap/built-in.a
CC lib/dim/dim.o
CC arch/x86/mm/ioremap.o
AR arch/x86/events/amd/built-in.a
CC crypto/asymmetric_keys/pkcs7.asn1.o
CC lib/argv_split.o
CC lib/fonts/fonts.o
CC lib/xz/xz_dec_stream.o
CC crypto/asymmetric_keys/pkcs7_parser.o
CC arch/x86/kernel/apic/apic_noop.o
CC ipc/mqueue.o
AR drivers/video/backlight/built-in.a
AS arch/x86/lib/crc32-pclmul.o
AR drivers/video/fbdev/core/built-in.a
CC arch/x86/lib/msr.o
AR drivers/video/fbdev/omap/built-in.a
CC lib/zstd/decompress/huf_decompress.o
AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a
CC lib/crypto/mpi/mpi-add.o
AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a
AR drivers/video/fbdev/omap2/omapfb/built-in.a
AR drivers/video/fbdev/omap2/built-in.a
AR drivers/video/fbdev/built-in.a
CC security/keys/process_keys.o
CC drivers/video/aperture.o
CC arch/x86/kernel/apic/ipi.o
CC fs/quota/quota.o
CC arch/x86/events/intel/knc.o
AR sound/i2c/other/built-in.a
CC kernel/printk/printk_ringbuffer.o
AR sound/i2c/built-in.a
CC net/core/scm.o
CC sound/core/memory.o
CC arch/x86/kernel/kprobes/opt.o
AR lib/lzo/built-in.a
CC arch/x86/mm/extable.o
CC drivers/video/cmdline.o
CC lib/dim/net_dim.o
CC lib/fonts/font_8x16.o
CC block/elevator.o
CC kernel/irq/resend.o
AR arch/x86/kernel/acpi/built-in.a
CC sound/core/seq/seq_prioq.o
CC fs/notify/fdinfo.o
CC arch/x86/kernel/cpu/mce/intel.o
CC arch/x86/pci/legacy.o
AR arch/x86/kernel/fpu/built-in.a
CC lib/xz/xz_dec_lzma2.o
CC ipc/namespace.o
CC kernel/rcu/update.o
CC fs/kernfs/inode.o
CC lib/xz/xz_dec_bcj.o
CC fs/sysfs/dir.o
AR drivers/pci/hotplug/built-in.a
AR crypto/asymmetric_keys/built-in.a
CC mm/folio-compat.o
CC crypto/cipher.o
AR lib/lz4/built-in.a
CC kernel/power/suspend.o
AR kernel/locking/built-in.a
AR lib/fonts/built-in.a
CC lib/dim/rdma_dim.o
CC fs/devpts/inode.o
CC fs/netfs/buffered_read.o
AS arch/x86/lib/msr-reg.o
CC lib/crypto/mpi/mpi-bit.o
CC sound/core/seq/seq_timer.o
LDS arch/x86/kernel/vmlinux.lds
CC arch/x86/kernel/apic/vector.o
CC fs/kernfs/dir.o
CC arch/x86/kernel/cpu/mtrr/mtrr.o
CC kernel/irq/chip.o
CC lib/zstd/decompress/zstd_ddict.o
CC net/sched/sch_generic.o
CC drivers/pci/pcie/pme.o
CC net/netlink/af_netlink.o
CC arch/x86/lib/msr-reg-export.o
CC block/blk-core.o
CC kernel/printk/sysctl.o
CC net/sched/sch_mq.o
AS arch/x86/kernel/head_32.o
CC fs/sysfs/symlink.o
AR drivers/pci/controller/dwc/built-in.a
CC io_uring/notif.o
AR drivers/pci/controller/mobiveil/built-in.a
AR drivers/pci/controller/plda/built-in.a
AR drivers/pci/controller/built-in.a
AR drivers/idle/built-in.a
AR drivers/char/ipmi/built-in.a
CC arch/x86/kernel/cpu/mce/amd.o
AR fs/notify/built-in.a
CC fs/proc/inode.o
CC arch/x86/kernel/head32.o
AR net/bpf/built-in.a
CC drivers/video/nomodeset.o
CC arch/x86/events/intel/lbr.o
CC kernel/irq/dummychip.o
CC security/keys/request_key.o
CC arch/x86/pci/irq.o
CC mm/readahead.o
AR sound/drivers/opl3/built-in.a
CC ipc/mq_sysctl.o
AR sound/drivers/opl4/built-in.a
AR sound/drivers/mpu401/built-in.a
AR arch/x86/kernel/kprobes/built-in.a
AR sound/drivers/vx/built-in.a
AR sound/drivers/pcsp/built-in.a
AS arch/x86/lib/hweight.o
CC kernel/power/hibernate.o
AR sound/drivers/built-in.a
CC net/netlink/genetlink.o
CC arch/x86/lib/iomem.o
CC arch/x86/mm/mmap.o
CC sound/core/seq/seq_system.o
AR lib/xz/built-in.a
CC arch/x86/events/rapl.o
CC crypto/compress.o
AR lib/dim/built-in.a
CC fs/netfs/buffered_write.o
CC security/selinux/netlink.o
CC crypto/algapi.o
CC fs/ext4/balloc.o
AR kernel/printk/built-in.a
CC drivers/video/hdmi.o
CC lib/crypto/mpi/mpi-cmp.o
CC lib/zstd/decompress/zstd_decompress.o
CC fs/quota/kqid.o
CC lib/zstd/decompress/zstd_decompress_block.o
CC lib/crypto/utils.o
AR fs/devpts/built-in.a
CC kernel/rcu/sync.o
CC kernel/rcu/srcutree.o
AR drivers/pci/switch/built-in.a
CC security/device_cgroup.o
CC arch/x86/kernel/cpu/microcode/core.o
CC arch/x86/events/intel/p4.o
CC arch/x86/events/msr.o
CC arch/x86/lib/atomic64_32.o
AR ipc/built-in.a
CC arch/x86/lib/inat.o
CC fs/jbd2/transaction.o
CC arch/x86/kernel/cpu/mtrr/if.o
AR drivers/pci/pcie/built-in.a
CC drivers/pci/access.o
CC kernel/rcu/tree.o
CC kernel/irq/devres.o
CC fs/sysfs/mount.o
CC block/blk-sysfs.o
AR arch/x86/lib/built-in.a
AR arch/x86/lib/lib.a
CC drivers/acpi/acpica/dsargs.o
CC sound/core/seq/seq_ports.o
CC arch/x86/mm/pgtable.o
AR drivers/acpi/pmic/built-in.a
CC drivers/pnp/pnpacpi/core.o
AR drivers/amba/built-in.a
CC arch/x86/mm/physaddr.o
CC net/netlink/policy.o
CC drivers/pnp/core.o
CC fs/proc/root.o
AR kernel/sched/built-in.a
CC net/sched/sch_frag.o
CC drivers/acpi/dptf/int340x_thermal.o
CC fs/quota/netlink.o
CC lib/crypto/mpi/mpi-sub-ui.o
CC security/keys/request_key_auth.o
CC fs/kernfs/file.o
CC kernel/rcu/rcu_segcblist.o
CC mm/swap.o
CC security/selinux/nlmsgtab.o
AR drivers/video/built-in.a
CC io_uring/tctx.o
CC net/core/gen_stats.o
CC kernel/irq/kexec.o
CC drivers/acpi/acpica/dscontrol.o
CC arch/x86/kernel/cpu/microcode/intel.o
CC arch/x86/kernel/cpu/mtrr/generic.o
CC arch/x86/pci/common.o
CC arch/x86/pci/early.o
CC arch/x86/kernel/apic/init.o
CC mm/truncate.o
CC security/selinux/netif.o
AR drivers/acpi/dptf/built-in.a
CC net/sched/sch_api.o
CC fs/netfs/direct_read.o
CC block/blk-flush.o
CC lib/bug.o
CC kernel/power/snapshot.o
CC drivers/pnp/pnpacpi/rsparser.o
CC arch/x86/kernel/cpu/mce/threshold.o
AR kernel/livepatch/built-in.a
CC crypto/scatterwalk.o
AR sound/isa/ad1816a/built-in.a
CC arch/x86/events/intel/p6.o
CC lib/crypto/mpi/mpi-div.o
AR sound/isa/ad1848/built-in.a
CC fs/sysfs/group.o
CC sound/core/seq/seq_info.o
CC drivers/acpi/acpica/dsdebug.o
CC drivers/pci/bus.o
AR sound/isa/cs423x/built-in.a
CC arch/x86/events/intel/pt.o
CC arch/x86/mm/tlb.o
AR sound/isa/es1688/built-in.a
CC arch/x86/mm/cpu_entry_area.o
AR sound/isa/galaxy/built-in.a
CC kernel/irq/autoprobe.o
AR sound/isa/gus/built-in.a
CC fs/proc/base.o
AR sound/isa/msnd/built-in.a
CC security/keys/user_defined.o
CC arch/x86/events/intel/uncore.o
AR sound/isa/opti9xx/built-in.a
AR sound/isa/sb/built-in.a
CC arch/x86/events/intel/uncore_nhmex.o
AR sound/isa/wavefront/built-in.a
AR sound/isa/wss/built-in.a
AR sound/isa/built-in.a
CC security/keys/proc.o
AR fs/quota/built-in.a
CC arch/x86/kernel/apic/hw_nmi.o
CC security/keys/sysctl.o
CC drivers/acpi/x86/apple.o
CC lib/crypto/mpi/mpi-mod.o
CC sound/core/seq/seq_dummy.o
CC lib/buildid.o
CC drivers/acpi/acpica/dsfield.o
CC fs/kernfs/symlink.o
CC fs/ext4/bitmap.o
CC kernel/power/swap.o
CC crypto/proc.o
CC arch/x86/kernel/cpu/microcode/amd.o
CC io_uring/filetable.o
CC security/selinux/netnode.o
CC lib/crypto/mpi/mpi-mul.o
AR drivers/clk/actions/built-in.a
CC fs/jbd2/commit.o
AR drivers/clk/analogbits/built-in.a
AR drivers/clk/bcm/built-in.a
CC kernel/irq/irqdomain.o
AR drivers/clk/imgtec/built-in.a
CC net/ethtool/ioctl.o
AR drivers/clk/imx/built-in.a
AR drivers/clk/ingenic/built-in.a
CC fs/proc/generic.o
CC arch/x86/pci/bus_numa.o
AR drivers/clk/mediatek/built-in.a
AR drivers/clk/microchip/built-in.a
CC arch/x86/pci/amd_bus.o
AR drivers/clk/mstar/built-in.a
CC net/core/gen_estimator.o
AR drivers/clk/mvebu/built-in.a
AR drivers/clk/ralink/built-in.a
CC io_uring/rw.o
CC block/blk-settings.o
AR drivers/clk/renesas/built-in.a
CC arch/x86/kernel/cpu/cacheinfo.o
AR drivers/clk/socfpga/built-in.a
CC fs/netfs/direct_write.o
AR fs/sysfs/built-in.a
CC io_uring/net.o
AR drivers/clk/sophgo/built-in.a
CC arch/x86/kernel/cpu/scattered.o
AR drivers/clk/sprd/built-in.a
AR drivers/clk/starfive/built-in.a
AR drivers/clk/sunxi-ng/built-in.a
AR drivers/clk/ti/built-in.a
CC fs/ext4/block_validity.o
AR drivers/clk/versatile/built-in.a
CC drivers/acpi/x86/cmos_rtc.o
AR net/netlink/built-in.a
AR drivers/clk/xilinx/built-in.a
CC drivers/acpi/x86/lpss.o
AR drivers/clk/built-in.a
CC drivers/pci/probe.o
CC kernel/dma/mapping.o
CC arch/x86/kernel/apic/io_apic.o
CC arch/x86/kernel/cpu/mtrr/cleanup.o
CC security/keys/keyctl_pkey.o
CC drivers/acpi/acpica/dsinit.o
CC drivers/acpi/tables.o
AR drivers/pnp/pnpacpi/built-in.a
CC arch/x86/kernel/ebda.o
CC drivers/pnp/card.o
CC crypto/aead.o
CC mm/vmscan.o
AR sound/core/seq/built-in.a
AR sound/pci/ac97/built-in.a
AR arch/x86/kernel/cpu/mce/built-in.a
CC sound/core/control.o
AR sound/pci/ali5451/built-in.a
CC fs/ramfs/inode.o
AR sound/pci/asihpi/built-in.a
AR sound/pci/au88x0/built-in.a
AR sound/pci/aw2/built-in.a
AR sound/pci/ctxfi/built-in.a
AR sound/pci/ca0106/built-in.a
AR sound/pci/cs46xx/built-in.a
AR sound/pci/cs5535audio/built-in.a
CC net/ethtool/common.o
AR sound/pci/lola/built-in.a
CC fs/ramfs/file-mmu.o
AR sound/pci/lx6464es/built-in.a
CC lib/crypto/mpi/mpih-cmp.o
CC arch/x86/mm/maccess.o
AR sound/pci/echoaudio/built-in.a
CC net/core/net_namespace.o
AR sound/pci/emu10k1/built-in.a
CC sound/pci/hda/hda_bind.o
AR fs/kernfs/built-in.a
CC drivers/pnp/driver.o
CC drivers/pci/host-bridge.o
CC drivers/acpi/acpica/dsmethod.o
CC fs/jbd2/recovery.o
CC fs/proc/array.o
CC lib/zstd/zstd_common_module.o
CC arch/x86/kernel/cpu/topology_common.o
CC kernel/irq/proc.o
CC arch/x86/mm/pgprot.o
CC net/sched/sch_blackhole.o
CC kernel/entry/common.o
AR arch/x86/pci/built-in.a
CC fs/proc/fd.o
AR security/keys/built-in.a
CC mm/shrinker.o
CC sound/pci/hda/hda_codec.o
AR arch/x86/kernel/cpu/microcode/built-in.a
AR sound/ppc/built-in.a
CC arch/x86/kernel/platform-quirks.o
CC drivers/acpi/x86/s2idle.o
CC fs/netfs/iterator.o
CC arch/x86/mm/pgtable_32.o
CC arch/x86/kernel/cpu/mtrr/amd.o
CC drivers/acpi/acpica/dsmthdat.o
CC block/blk-ioc.o
CC fs/ext4/dir.o
CC mm/shmem.o
CC security/selinux/netport.o
CC drivers/acpi/osi.o
CC lib/zstd/common/debug.o
CC lib/crypto/mpi/mpih-div.o
CC arch/x86/events/intel/uncore_snb.o
CC lib/zstd/common/entropy_common.o
CC arch/x86/kernel/apic/msi.o
CC kernel/power/user.o
CC arch/x86/mm/iomap_32.o
CC arch/x86/kernel/cpu/mtrr/cyrix.o
CC net/core/secure_seq.o
CC drivers/pnp/resource.o
AR fs/ramfs/built-in.a
CC net/ethtool/netlink.o
CC net/ethtool/bitset.o
CC net/ethtool/strset.o
CC lib/crypto/mpi/mpih-mul.o
CC crypto/geniv.o
CC mm/util.o
CC block/blk-map.o
CC lib/zstd/common/error_private.o
CC lib/zstd/common/fse_decompress.o
CC lib/zstd/common/zstd_common.o
CC drivers/acpi/acpica/dsobject.o
CC arch/x86/kernel/cpu/mtrr/centaur.o
CC drivers/acpi/x86/utils.o
AR sound/pci/ice1712/built-in.a
CC kernel/module/main.o
CC kernel/irq/migration.o
CC fs/netfs/locking.o
CC lib/crypto/mpi/mpi-pow.o
CC drivers/acpi/osl.o
CC drivers/acpi/acpica/dsopcode.o
CC fs/jbd2/checkpoint.o
CC arch/x86/mm/hugetlbpage.o
CC net/sched/cls_api.o
CC sound/pci/hda/hda_jack.o
CC drivers/acpi/x86/blacklist.o
CC kernel/dma/direct.o
CC sound/core/misc.o
CC fs/proc/proc_tty.o
CC net/sched/act_api.o
CC net/sched/sch_fifo.o
AR sound/pci/korg1212/built-in.a
CC arch/x86/kernel/cpu/topology_ext.o
CC arch/x86/events/intel/uncore_snbep.o
CC net/sched/cls_cgroup.o
CC arch/x86/events/intel/uncore_discovery.o
AR lib/zstd/built-in.a
CC kernel/entry/syscall_user_dispatch.o
CC fs/ext4/ext4_jbd2.o
CC kernel/power/poweroff.o
CC drivers/pci/remove.o
CC kernel/irq/cpuhotplug.o
CC arch/x86/kernel/apic/probe_32.o
CC arch/x86/kernel/cpu/mtrr/legacy.o
CC arch/x86/kernel/process_32.o
CC drivers/acpi/utils.o
CC lib/crypto/chacha.o
CC io_uring/poll.o
CC arch/x86/kernel/signal.o
CC drivers/acpi/acpica/dspkginit.o
CC kernel/time/time.o
CC arch/x86/mm/dump_pagetables.o
CC lib/crypto/aes.o
AR kernel/power/built-in.a
CC crypto/lskcipher.o
CC arch/x86/kernel/signal_32.o
AR drivers/acpi/x86/built-in.a
CC fs/ext4/extents.o
CC drivers/pnp/manager.o
CC security/selinux/status.o
CC block/blk-merge.o
AR kernel/rcu/built-in.a
CC drivers/dma/dw/core.o
CC fs/ext4/extents_status.o
CC lib/crypto/mpi/mpiutil.o
CC fs/netfs/main.o
CC io_uring/eventfd.o
AR arch/x86/kernel/cpu/mtrr/built-in.a
CC arch/x86/kernel/cpu/topology_amd.o
AR arch/x86/kernel/apic/built-in.a
CC net/ethtool/linkinfo.o
CC kernel/irq/pm.o
CC lib/clz_tab.o
CC kernel/futex/core.o
CC fs/netfs/misc.o
CC net/core/flow_dissector.o
CC kernel/module/strict_rwx.o
CC fs/proc/cmdline.o
CC sound/core/device.o
AR kernel/entry/built-in.a
CC arch/x86/mm/highmem_32.o
AR sound/arm/built-in.a
CC fs/hugetlbfs/inode.o
CC drivers/acpi/acpica/dsutils.o
CC fs/jbd2/revoke.o
CC drivers/pci/pci.o
CC security/selinux/ss/ebitmap.o
CC lib/cmdline.o
CC kernel/dma/ops_helpers.o
CC mm/mmzone.o
AR sound/pci/mixart/built-in.a
CC lib/crypto/arc4.o
CC io_uring/uring_cmd.o
CC security/selinux/ss/hashtab.o
CC arch/x86/kernel/cpu/common.o
CC kernel/futex/syscalls.o
CC kernel/module/kmod.o
CC drivers/pci/pci-driver.o
CC drivers/pnp/support.o
CC lib/crypto/gf128mul.o
CC sound/core/info.o
CC lib/cpumask.o
AR lib/crypto/mpi/built-in.a
CC mm/vmstat.o
CC fs/proc/consoles.o
CC fs/netfs/objects.o
AR drivers/soc/apple/built-in.a
AR drivers/soc/aspeed/built-in.a
AR drivers/soc/bcm/built-in.a
CC drivers/acpi/acpica/dswexec.o
CC net/sched/ematch.o
AR drivers/soc/fsl/built-in.a
CC drivers/dma/hsu/hsu.o
AR drivers/soc/fujitsu/built-in.a
AR drivers/dma/idxd/built-in.a
AR drivers/soc/hisilicon/built-in.a
AR drivers/soc/imx/built-in.a
AR sound/pci/nm256/built-in.a
CC drivers/pnp/interface.o
AR drivers/soc/ixp4xx/built-in.a
AR drivers/soc/loongson/built-in.a
CC sound/pci/hda/hda_auto_parser.o
CC kernel/time/timer.o
AR drivers/soc/mediatek/built-in.a
AR drivers/soc/microchip/built-in.a
CC kernel/irq/msi.o
AR drivers/soc/nuvoton/built-in.a
CC crypto/skcipher.o
AR drivers/soc/pxa/built-in.a
AR arch/x86/mm/built-in.a
AR drivers/soc/amlogic/built-in.a
AR drivers/soc/qcom/built-in.a
AR drivers/dma/amd/built-in.a
AR drivers/dma/mediatek/built-in.a
CC sound/pci/hda/hda_sysfs.o
AR drivers/soc/renesas/built-in.a
CC net/netfilter/core.o
AR drivers/soc/rockchip/built-in.a
AR drivers/soc/sunxi/built-in.a
CC sound/pci/hda/hda_controller.o
AR drivers/soc/ti/built-in.a
AR drivers/soc/versatile/built-in.a
CC sound/pci/hda/hda_proc.o
AR drivers/soc/xilinx/built-in.a
CC arch/x86/kernel/cpu/rdrand.o
AR drivers/soc/built-in.a
CC net/ethtool/linkmodes.o
CC kernel/dma/remap.o
CC lib/crypto/blake2s.o
CC drivers/pnp/quirks.o
AR sound/pci/oxygen/built-in.a
CC sound/pci/hda/hda_hwdep.o
CC net/netfilter/nf_log.o
AR sound/sh/built-in.a
CC kernel/futex/pi.o
CC kernel/cgroup/cgroup.o
CC drivers/dma/dw/dw.o
CC kernel/time/hrtimer.o
CC drivers/acpi/acpica/dswload.o
CC kernel/trace/trace_clock.o
CC fs/jbd2/journal.o
CC fs/proc/cpuinfo.o
AR drivers/dma/qcom/built-in.a
CC net/netfilter/nf_queue.o
CC net/core/sysctl_net_core.o
CC net/ipv4/netfilter/nf_defrag_ipv4.o
CC drivers/pnp/system.o
CC block/blk-timeout.o
CC kernel/module/tree_lookup.o
CC lib/crypto/blake2s-generic.o
CC lib/ctype.o
CC drivers/acpi/reboot.o
CC sound/pci/hda/hda_intel.o
CC fs/ext4/file.o
CC sound/core/isadma.o
CC kernel/trace/ring_buffer.o
AR drivers/dma/hsu/built-in.a
CC drivers/acpi/acpica/dswload2.o
CC net/ipv4/netfilter/nf_reject_ipv4.o
CC security/selinux/ss/symtab.o
CC fs/proc/devices.o
AR kernel/dma/built-in.a
CC drivers/pci/search.o
CC net/ethtool/rss.o
CC io_uring/openclose.o
CC fs/netfs/read_collect.o
CC arch/x86/events/intel/cstate.o
AR fs/hugetlbfs/built-in.a
CC kernel/futex/requeue.o
CC lib/dec_and_lock.o
CC drivers/dma/dw/idma32.o
CC lib/crypto/sha1.o
CC security/selinux/ss/sidtab.o
CC lib/crypto/sha256.o
CC net/ipv4/route.o
CC block/blk-lib.o
AR drivers/pnp/built-in.a
CC kernel/bpf/core.o
CC drivers/acpi/nvs.o
CC fs/ext4/fsmap.o
CC crypto/seqiv.o
CC drivers/virtio/virtio.o
CC sound/core/vmaster.o
CC kernel/irq/affinity.o
CC drivers/tty/vt/vt_ioctl.o
CC arch/x86/kernel/cpu/match.o
CC kernel/module/kallsyms.o
CC drivers/acpi/acpica/dswscope.o
CC drivers/char/hw_random/core.o
AR net/sched/built-in.a
AR drivers/iommu/amd/built-in.a
AR drivers/iommu/intel/built-in.a
AR drivers/gpu/host1x/built-in.a
CC drivers/connector/cn_queue.o
AR drivers/iommu/arm/arm-smmu/built-in.a
AR drivers/iommu/arm/arm-smmu-v3/built-in.a
CC drivers/base/power/sysfs.o
CC mm/backing-dev.o
AR drivers/iommu/arm/built-in.a
CC drivers/block/loop.o
AR drivers/iommu/iommufd/built-in.a
AR drivers/iommu/riscv/built-in.a
CC drivers/iommu/iommu.o
CC drivers/misc/eeprom/eeprom_93cx6.o
CC fs/proc/interrupts.o
CC drivers/char/agp/backend.o
AR drivers/gpu/drm/tests/built-in.a
AR drivers/gpu/drm/arm/built-in.a
AR drivers/gpu/drm/clients/built-in.a
CC drivers/gpu/drm/display/drm_display_helper_mod.o
CC drivers/gpu/drm/ttm/ttm_tt.o
CC drivers/block/virtio_blk.o
CC drivers/gpu/drm/i915/i915_config.o
CC drivers/gpu/drm/i915/i915_driver.o
CC drivers/acpi/acpica/dswstate.o
CC arch/x86/kernel/cpu/bugs.o
AR lib/crypto/built-in.a
CC lib/decompress.o
CC kernel/irq/matrix.o
CC kernel/futex/waitwake.o
CC drivers/dma/dw/acpi.o
CC lib/decompress_bunzip2.o
CC net/netfilter/nf_sockopt.o
CC net/netfilter/utils.o
CC io_uring/sqpoll.o
CC crypto/echainiv.o
CC sound/core/ctljack.o
CC drivers/char/mem.o
AR drivers/dma/stm32/built-in.a
AR arch/x86/events/intel/built-in.a
AR arch/x86/events/built-in.a
AR drivers/gpu/drm/renesas/rcar-du/built-in.a
CC net/core/dev.o
CC fs/proc/loadavg.o
AR drivers/gpu/drm/renesas/rz-du/built-in.a
CC drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
AR drivers/gpu/drm/renesas/built-in.a
CC crypto/ahash.o
AR drivers/misc/eeprom/built-in.a
CC drivers/gpu/drm/ttm/ttm_bo.o
CC kernel/time/sleep_timeout.o
CC arch/x86/kernel/cpu/aperfmperf.o
CC block/blk-mq.o
AR drivers/misc/cb710/built-in.a
AR drivers/misc/lis3lv02d/built-in.a
AR drivers/misc/cardreader/built-in.a
CC net/ethtool/linkstate.o
CC drivers/base/power/generic_ops.o
AR drivers/misc/keba/built-in.a
AR drivers/misc/built-in.a
CC arch/x86/kernel/cpu/cpuid-deps.o
CC drivers/tty/hvc/hvc_console.o
CC kernel/module/procfs.o
CC drivers/virtio/virtio_ring.o
CC drivers/char/hw_random/intel-rng.o
CC drivers/acpi/acpica/evevent.o
CC fs/netfs/read_pgpriv2.o
CC net/ipv4/netfilter/ip_tables.o
CC drivers/char/agp/generic.o
CC sound/core/jack.o
CC drivers/tty/vt/vc_screen.o
CC security/selinux/ss/avtab.o
CC drivers/connector/connector.o
AR sound/pci/hda/built-in.a
AR sound/pci/pcxhr/built-in.a
AR sound/pci/riptide/built-in.a
CC drivers/pci/rom.o
AR sound/pci/rme9652/built-in.a
AR drivers/dma/dw/built-in.a
AR sound/pci/trident/built-in.a
AR drivers/dma/ti/built-in.a
CC drivers/tty/serial/8250/8250_core.o
CC kernel/time/timekeeping.o
AR sound/pci/ymfpci/built-in.a
CC drivers/base/power/common.o
AR drivers/dma/xilinx/built-in.a
CC drivers/dma/dmaengine.o
AR sound/pci/vx222/built-in.a
CC fs/proc/meminfo.o
AR sound/pci/built-in.a
CC drivers/tty/serial/serial_core.o
CC drivers/iommu/iommu-traces.o
AR kernel/futex/built-in.a
CC drivers/pci/setup-res.o
AR sound/synth/emux/built-in.a
CC lib/decompress_inflate.o
CC drivers/acpi/acpica/evgpe.o
AR sound/synth/built-in.a
CC mm/mm_init.o
CC mm/percpu.o
CC sound/core/hwdep.o
CC kernel/module/sysfs.o
CC drivers/gpu/drm/display/drm_dp_helper.o
CC drivers/connector/cn_proc.o
CC drivers/tty/vt/selection.o
CC io_uring/xattr.o
CC drivers/char/hw_random/amd-rng.o
CC drivers/base/power/qos.o
AR drivers/tty/hvc/built-in.a
AR sound/usb/misc/built-in.a
AR sound/usb/usx2y/built-in.a
CC drivers/gpu/drm/ttm/ttm_bo_util.o
AR sound/usb/caiaq/built-in.a
AR sound/usb/6fire/built-in.a
AR drivers/block/built-in.a
AR sound/usb/hiface/built-in.a
AR fs/jbd2/built-in.a
CC net/ipv4/netfilter/iptable_filter.o
CC net/core/dev_addr_lists.o
CC crypto/shash.o
AR sound/usb/bcd2000/built-in.a
AR kernel/irq/built-in.a
AR sound/usb/built-in.a
CC drivers/char/hw_random/geode-rng.o
CC fs/proc/stat.o
CC drivers/iommu/iommu-sysfs.o
CC io_uring/nop.o
CC net/ethtool/debug.o
CC drivers/acpi/acpica/evgpeblk.o
CC fs/ext4/fsync.o
AR sound/firewire/built-in.a
CC lib/decompress_unlz4.o
CC net/netfilter/nfnetlink.o
CC net/core/dst.o
CC fs/netfs/read_retry.o
CC kernel/time/ntp.o
CC drivers/base/power/runtime.o
CC drivers/gpu/drm/i915/i915_drm_client.o
CC drivers/pci/irq.o
CC drivers/char/agp/isoch.o
CC drivers/gpu/drm/i915/i915_getparam.o
CC sound/core/timer.o
AR sound/sparc/built-in.a
CC net/netfilter/nfnetlink_log.o
AR kernel/module/built-in.a
AR sound/spi/built-in.a
AR sound/parisc/built-in.a
CC drivers/acpi/acpica/evgpeinit.o
CC drivers/tty/serial/8250/8250_platform.o
CC arch/x86/kernel/cpu/umwait.o
CC net/xfrm/xfrm_policy.o
CC block/blk-mq-tag.o
CC net/ipv4/netfilter/iptable_mangle.o
CC mm/slab_common.o
CC security/selinux/ss/policydb.o
CC drivers/tty/vt/keyboard.o
CC lib/decompress_unlzma.o
CC fs/proc/uptime.o
CC drivers/char/hw_random/via-rng.o
AR drivers/mfd/built-in.a
CC fs/ext4/hash.o
CC drivers/iommu/dma-iommu.o
CC kernel/trace/trace.o
CC drivers/dma/virt-dma.o
CC io_uring/fs.o
CC drivers/char/agp/amd64-agp.o
CC drivers/acpi/acpica/evgpeutil.o
CC drivers/virtio/virtio_anchor.o
CC drivers/virtio/virtio_pci_modern_dev.o
AR kernel/bpf/built-in.a
AR drivers/connector/built-in.a
AR drivers/gpu/drm/omapdrm/built-in.a
CC kernel/trace/trace_output.o
CC crypto/akcipher.o
CC drivers/base/firmware_loader/builtin/main.o
CC drivers/gpu/drm/ttm/ttm_bo_vm.o
CC drivers/base/regmap/regmap.o
CC drivers/base/firmware_loader/main.o
CC drivers/pci/vpd.o
CC net/ethtool/wol.o
CC drivers/gpu/drm/display/drm_dp_mst_topology.o
CC drivers/tty/serial/serial_base_bus.o
AR drivers/char/hw_random/built-in.a
CC drivers/gpu/drm/i915/i915_ioctl.o
CC kernel/time/clocksource.o
CC net/netfilter/nf_conntrack_core.o
CC fs/netfs/read_single.o
CC kernel/trace/trace_seq.o
MKCAP arch/x86/kernel/cpu/capflags.c
CC fs/proc/util.o
CC drivers/tty/serial/8250/8250_pnp.o
CC drivers/acpi/acpica/evglock.o
CC drivers/gpu/drm/ttm/ttm_module.o
AR drivers/base/firmware_loader/builtin/built-in.a
CC mm/compaction.o
CC drivers/base/power/wakeirq.o
CC arch/x86/kernel/traps.o
CC drivers/pci/setup-bus.o
CC drivers/dma/acpi-dma.o
CC lib/decompress_unlzo.o
AR sound/pcmcia/vx/built-in.a
CC net/xfrm/xfrm_state.o
AR sound/pcmcia/pdaudiocf/built-in.a
CC block/blk-stat.o
AR sound/pcmcia/built-in.a
CC fs/ext4/ialloc.o
CC drivers/char/agp/intel-agp.o
CC drivers/acpi/wakeup.o
CC net/ipv4/netfilter/ipt_REJECT.o
CC kernel/cgroup/rstat.o
CC io_uring/splice.o
CC drivers/acpi/acpica/evhandler.o
CC drivers/acpi/acpica/evmisc.o
CC drivers/gpu/drm/ttm/ttm_execbuf_util.o
CC drivers/virtio/virtio_pci_legacy_dev.o
CC drivers/gpu/drm/display/drm_dsc_helper.o
CC mm/show_mem.o
AR sound/mips/built-in.a
CC arch/x86/kernel/idt.o
CC fs/proc/version.o
AR drivers/gpu/vga/built-in.a
CC drivers/tty/serial/serial_ctrl.o
CC crypto/sig.o
CC drivers/base/power/main.o
AR sound/soc/built-in.a
CC drivers/tty/vt/vt.o
CC sound/core/hrtimer.o
CC drivers/gpu/drm/display/drm_hdcp_helper.o
CC mm/interval_tree.o
CC drivers/gpu/drm/display/drm_hdmi_helper.o
CC drivers/base/power/wakeup.o
CC drivers/tty/serial/8250/8250_rsa.o
CC fs/netfs/rolling_buffer.o
CC drivers/gpu/drm/i915/i915_irq.o
CC kernel/time/jiffies.o
CC net/ethtool/features.o
AR drivers/base/firmware_loader/built-in.a
CC net/ethtool/privflags.o
CC drivers/tty/serial/8250/8250_port.o
CC lib/decompress_unxz.o
CC net/ethtool/rings.o
CC drivers/acpi/acpica/evregion.o
CC drivers/iommu/iova.o
AR drivers/dma/built-in.a
CC net/ethtool/channels.o
CC kernel/cgroup/namespace.o
CC drivers/virtio/virtio_pci_modern.o
CC drivers/char/agp/intel-gtt.o
CC sound/core/pcm.o
CC drivers/gpu/drm/ttm/ttm_range_manager.o
CC drivers/base/power/wakeup_stats.o
CC fs/proc/softirqs.o
CC kernel/time/timer_list.o
CC net/ipv4/inetpeer.o
CC block/blk-mq-sysfs.o
AR drivers/gpu/drm/tilcdc/built-in.a
AR drivers/tty/ipwireless/built-in.a
CC drivers/char/random.o
CC io_uring/sync.o
CC drivers/acpi/acpica/evrgnini.o
CC drivers/acpi/acpica/evsci.o
CC drivers/base/regmap/regcache.o
CC lib/decompress_unzstd.o
CC crypto/kpp.o
CC net/ethtool/coalesce.o
CC [M] net/ipv4/netfilter/iptable_nat.o
CC io_uring/msg_ring.o
CC lib/dump_stack.o
CC fs/ext4/indirect.o
CC drivers/gpu/drm/i915/i915_mitigations.o
AR drivers/nfc/built-in.a
CC drivers/base/power/trace.o
CC security/selinux/ss/services.o
CC net/unix/af_unix.o
CC fs/netfs/write_collect.o
CC fs/proc/namespaces.o
CC drivers/acpi/acpica/evxface.o
CC drivers/gpu/drm/virtio/virtgpu_drv.o
CC drivers/pci/vc.o
AR drivers/iommu/built-in.a
CC drivers/gpu/drm/ttm/ttm_resource.o
CC net/ipv4/protocol.o
CC io_uring/advise.o
CC kernel/cgroup/cgroup-v1.o
CC kernel/cgroup/freezer.o
CC kernel/time/timeconv.o
CC drivers/gpu/drm/virtio/virtgpu_kms.o
CC kernel/time/timecounter.o
CC drivers/base/regmap/regcache-rbtree.o
AR sound/atmel/built-in.a
CC net/ipv4/ip_input.o
CC block/blk-mq-cpumap.o
CC drivers/gpu/drm/display/drm_scdc_helper.o
CC kernel/trace/trace_stat.o
CC net/xfrm/xfrm_hash.o
CC lib/earlycpio.o
CC drivers/virtio/virtio_pci_common.o
CC sound/core/pcm_native.o
CC net/netfilter/nf_conntrack_standalone.o
CC sound/core/pcm_lib.o
AR drivers/char/agp/built-in.a
CC net/xfrm/xfrm_input.o
CC lib/extable.o
CC drivers/pci/mmap.o
ASN.1 crypto/rsapubkey.asn1.[ch]
ASN.1 crypto/rsaprivkey.asn1.[ch]
CC crypto/rsa.o
CC drivers/acpi/acpica/evxfevnt.o
CC drivers/acpi/acpica/evxfgpe.o
CC kernel/time/alarmtimer.o
CC arch/x86/kernel/cpu/powerflags.o
CC mm/list_lru.o
COPY drivers/tty/vt/defkeymap.c
AR drivers/base/power/built-in.a
CC net/unix/garbage.o
CC drivers/virtio/virtio_pci_legacy.o
CC drivers/base/regmap/regcache-flat.o
AR drivers/dax/hmem/built-in.a
AR drivers/dax/built-in.a
CC sound/core/pcm_misc.o
CC drivers/gpu/drm/i915/i915_module.o
CC drivers/dma-buf/dma-buf.o
AR net/ipv4/netfilter/built-in.a
CC drivers/tty/serial/8250/8250_dma.o
CC fs/proc/self.o
AR drivers/base/test/built-in.a
CC mm/workingset.o
CC drivers/char/misc.o
CC sound/core/pcm_memory.o
CC io_uring/epoll.o
CC lib/flex_proportions.o
CC net/ethtool/pause.o
CC io_uring/statx.o
CC drivers/gpu/drm/virtio/virtgpu_gem.o
CC block/blk-mq-sched.o
CC net/netfilter/nf_conntrack_expect.o
CC fs/fat/cache.o
CC fs/ext4/inline.o
CC drivers/dma-buf/dma-fence.o
CC drivers/acpi/acpica/evxfregn.o
CC security/selinux/ss/conditional.o
CC fs/netfs/write_issue.o
CC drivers/gpu/drm/ttm/ttm_pool.o
CC drivers/gpu/drm/i915/i915_params.o
CC drivers/tty/tty_io.o
CC drivers/pci/devres.o
AR drivers/cxl/core/built-in.a
AR drivers/gpu/drm/display/built-in.a
AR drivers/cxl/built-in.a
CC crypto/rsa_helper.o
CC drivers/macintosh/mac_hid.o
CC kernel/events/core.o
CC drivers/base/regmap/regcache-maple.o
CC sound/core/memalloc.o
CC lib/idr.o
CC drivers/virtio/virtio_pci_admin_legacy_io.o
CC drivers/tty/vt/consolemap.o
CC net/unix/sysctl_net_unix.o
CC fs/ext4/inode.o
CC fs/proc/thread_self.o
CC drivers/acpi/acpica/exconcat.o
CC kernel/cgroup/legacy_freezer.o
CC drivers/char/virtio_console.o
CC fs/ext4/ioctl.o
CC security/selinux/ss/mls.o
CC crypto/rsa-pkcs1pad.o
CC kernel/trace/trace_printk.o
CC fs/netfs/write_retry.o
CC mm/debug.o
CC drivers/tty/serial/8250/8250_dwlib.o
CC net/ipv4/ip_fragment.o
CC mm/gup.o
CC drivers/tty/serial/serial_port.o
CC kernel/time/posix-timers.o
CC io_uring/timeout.o
AR drivers/macintosh/built-in.a
CC drivers/gpu/drm/virtio/virtgpu_vram.o
CC arch/x86/kernel/irq.o
CC block/ioctl.o
CC drivers/pci/proc.o
CC drivers/acpi/acpica/exconfig.o
CC lib/iomem_copy.o
CC fs/fat/dir.o
CC drivers/gpu/drm/virtio/virtgpu_display.o
CC net/ethtool/eee.o
CC drivers/gpu/drm/virtio/virtgpu_vq.o
CC drivers/base/regmap/regmap-debugfs.o
CC drivers/gpu/drm/virtio/virtgpu_fence.o
CC net/xfrm/xfrm_output.o
CC fs/proc/proc_sysctl.o
CC drivers/virtio/virtio_input.o
CC lib/irq_regs.o
CC net/ethtool/tsinfo.o
CC drivers/gpu/drm/i915/i915_pci.o
CC kernel/cgroup/pids.o
CC lib/is_single_threaded.o
CC drivers/gpu/drm/virtio/virtgpu_object.o
HOSTCC drivers/tty/vt/conmakehash
CC drivers/dma-buf/dma-fence-array.o
CC fs/proc/proc_net.o
CC crypto/rsassa-pkcs1.o
CC fs/fat/fatent.o
CC drivers/acpi/acpica/exconvrt.o
CC block/genhd.o
CC drivers/gpu/drm/ttm/ttm_device.o
CC net/netfilter/nf_conntrack_helper.o
CC arch/x86/kernel/irq_32.o
AR net/unix/built-in.a
CC drivers/acpi/sleep.o
CC arch/x86/kernel/dumpstack_32.o
CC drivers/tty/serial/8250/8250_pcilib.o
CC drivers/tty/vt/defkeymap.o
CC kernel/trace/pid_list.o
CC drivers/acpi/device_sysfs.o
CC drivers/gpu/drm/i915/i915_scatterlist.o
AR fs/netfs/built-in.a
CC drivers/tty/serial/8250/8250_early.o
CC drivers/tty/serial/8250/8250_exar.o
CC lib/klist.o
CC drivers/pci/pci-sysfs.o
CONMK drivers/tty/vt/consolemap_deftbl.c
CC drivers/tty/vt/consolemap_deftbl.o
AR drivers/tty/vt/built-in.a
CC fs/proc/kcore.o
AR drivers/gpu/drm/imx/built-in.a
CC drivers/acpi/acpica/excreate.o
CC crypto/acompress.o
AR drivers/base/regmap/built-in.a
CC drivers/base/component.o
CC sound/core/pcm_timer.o
CC net/netfilter/nf_conntrack_proto.o
CC kernel/cgroup/rdma.o
CC net/core/netevent.o
CC io_uring/fdinfo.o
CC security/selinux/ss/context.o
CC drivers/base/core.o
CC drivers/virtio/virtio_dma_buf.o
CC drivers/dma-buf/dma-fence-chain.o
CC drivers/base/bus.o
CC lib/kobject.o
CC kernel/time/posix-cpu-timers.o
AR drivers/scsi/pcmcia/built-in.a
CC sound/core/seq_device.o
CC net/ipv4/ip_forward.o
CC drivers/scsi/scsi.o
CC drivers/gpu/drm/ttm/ttm_sys_manager.o
CC drivers/char/hpet.o
CC kernel/time/posix-clock.o
CC kernel/events/ring_buffer.o
CC net/core/neighbour.o
CC net/core/rtnetlink.o
CC kernel/cgroup/cpuset.o
CC drivers/acpi/acpica/exdebug.o
CC drivers/base/dd.o
CC drivers/base/syscore.o
AR drivers/gpu/drm/panel/built-in.a
CC block/ioprio.o
CC drivers/gpu/drm/virtio/virtgpu_debugfs.o
CC drivers/gpu/drm/i915/i915_switcheroo.o
CC net/ethtool/cabletest.o
CC kernel/trace/trace_sched_switch.o
CC drivers/tty/n_tty.o
AR drivers/virtio/built-in.a
CC drivers/base/driver.o
CC lib/kobject_uevent.o
CC fs/fat/file.o
CC kernel/fork.o
CC drivers/pci/slot.o
CC drivers/gpu/drm/ttm/ttm_backup.o
CC drivers/dma-buf/dma-fence-unwrap.o
CC net/xfrm/xfrm_sysctl.o
CC mm/mmap_lock.o
CC drivers/acpi/acpica/exdump.o
CC net/ipv6/netfilter/ip6_tables.o
CC sound/hda/hda_bus_type.o
CC net/ethtool/tunnels.o
CC lib/logic_pio.o
CC crypto/scompress.o
AR sound/core/built-in.a
CC fs/proc/vmcore.o
CC drivers/scsi/hosts.o
CC net/ethtool/fec.o
CC net/ethtool/eeprom.o
CC drivers/tty/serial/8250/8250_lpss.o
CC kernel/time/itimer.o
CC sound/hda/hdac_bus.o
CC io_uring/cancel.o
CC kernel/events/callchain.o
CC security/selinux/netlabel.o
CC net/ipv6/netfilter/ip6table_filter.o
CC drivers/acpi/acpica/exfield.o
CC drivers/acpi/device_pm.o
CC drivers/gpu/drm/virtio/virtgpu_plane.o
CC net/ipv6/netfilter/ip6table_mangle.o
CC drivers/char/nvram.o
CC drivers/dma-buf/dma-resv.o
CC block/badblocks.o
AR drivers/gpu/drm/bridge/analogix/built-in.a
AR drivers/gpu/drm/bridge/cadence/built-in.a
CC kernel/time/clockevents.o
AR drivers/gpu/drm/bridge/imx/built-in.a
AR drivers/gpu/drm/bridge/synopsys/built-in.a
AR drivers/gpu/drm/bridge/built-in.a
CC kernel/time/tick-common.o
CC net/xfrm/xfrm_replay.o
CC net/netfilter/nf_conntrack_proto_generic.o
CC net/packet/af_packet.o
CC drivers/pci/pci-acpi.o
AR net/dsa/built-in.a
CC net/ethtool/stats.o
CC net/ethtool/phc_vclocks.o
CC drivers/acpi/acpica/exfldio.o
CC drivers/gpu/drm/i915/i915_sysfs.o
CC drivers/gpu/drm/ttm/ttm_agp_backend.o
CC net/ipv4/ip_options.o
CC arch/x86/kernel/cpu/topology.o
CC drivers/acpi/proc.o
CC mm/highmem.o
CC arch/x86/kernel/time.o
CC drivers/tty/serial/8250/8250_mid.o
CC sound/hda/hdac_device.o
CC fs/fat/inode.o
CC crypto/algboss.o
CC drivers/scsi/scsi_ioctl.o
CC drivers/tty/serial/8250/8250_pci.o
CC lib/maple_tree.o
CC drivers/acpi/bus.o
CC kernel/trace/trace_nop.o
CC io_uring/waitid.o
CC fs/ext4/mballoc.o
CC fs/proc/kmsg.o
CC fs/fat/misc.o
CC drivers/base/class.o
CC drivers/pci/iomap.o
CC drivers/tty/tty_ioctl.o
CC drivers/acpi/acpica/exmisc.o
CC drivers/gpu/drm/virtio/virtgpu_ioctl.o
AR drivers/char/built-in.a
CC drivers/tty/tty_ldisc.o
CC fs/fat/nfs.o
CC kernel/cgroup/misc.o
CC drivers/dma-buf/sync_file.o
CC block/blk-rq-qos.o
CC arch/x86/kernel/cpu/proc.o
AR drivers/gpu/drm/ttm/built-in.a
CC block/disk-events.o
CC drivers/gpu/drm/virtio/virtgpu_prime.o
CC net/ipv4/ip_output.o
CC sound/hda/hdac_sysfs.o
CC crypto/testmgr.o
CC drivers/scsi/scsicam.o
CC drivers/acpi/acpica/exmutex.o
CC kernel/events/hw_breakpoint.o
CC kernel/time/tick-broadcast.o
AR security/selinux/built-in.a
CC fs/proc/page.o
AR security/built-in.a
CC net/netfilter/nf_conntrack_proto_tcp.o
CC kernel/exec_domain.o
CC drivers/gpu/drm/i915/i915_utils.o
CC fs/fat/namei_vfat.o
CC drivers/tty/serial/earlycon.o
CC kernel/trace/blktrace.o
CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
CC mm/memory.o
CC fs/fat/namei_msdos.o
CC drivers/pci/quirks.o
CC arch/x86/kernel/ioport.o
CC net/xfrm/xfrm_device.o
CC net/ethtool/mm.o
CC kernel/cgroup/debug.o
CC crypto/cmac.o
CC net/ethtool/module.o
CC io_uring/register.o
CC net/ethtool/cmis_fw_update.o
CC net/ethtool/cmis_cdb.o
AR drivers/dma-buf/built-in.a
CC net/ethtool/pse-pd.o
CC drivers/acpi/acpica/exnames.o
CC drivers/base/platform.o
CC net/ethtool/plca.o
CC fs/ext4/migrate.o
CC arch/x86/kernel/cpu/feat_ctl.o
CC net/ethtool/phy.o
CC arch/x86/kernel/dumpstack.o
CC net/sunrpc/clnt.o
CC net/sunrpc/auth_gss/auth_gss.o
CC kernel/time/tick-broadcast-hrtimer.o
CC net/xfrm/xfrm_nat_keepalive.o
CC block/blk-ia-ranges.o
CC drivers/gpu/drm/virtio/virtgpu_trace_points.o
CC drivers/scsi/scsi_error.o
CC drivers/tty/serial/8250/8250_pericom.o
CC block/early-lookup.o
CC block/bounce.o
CC kernel/time/tick-oneshot.o
AR drivers/nvme/common/built-in.a
CC crypto/hmac.o
CC drivers/acpi/glue.o
AR drivers/nvme/host/built-in.a
CC drivers/acpi/acpica/exoparg1.o
AR fs/proc/built-in.a
CC drivers/scsi/scsi_lib.o
AR drivers/nvme/target/built-in.a
AR drivers/nvme/built-in.a
CC sound/hda/hdac_regmap.o
CC arch/x86/kernel/nmi.o
CC drivers/base/cpu.o
CC arch/x86/kernel/cpu/intel.o
CC drivers/gpu/drm/i915/intel_clock_gating.o
CC io_uring/truncate.o
AR net/wireless/tests/built-in.a
CC net/wireless/core.o
AR kernel/cgroup/built-in.a
CC net/ipv6/netfilter/nf_conntrack_reasm.o
CC kernel/time/tick-sched.o
CC drivers/acpi/acpica/exoparg2.o
CC drivers/tty/tty_buffer.o
CC net/sunrpc/auth_gss/gss_mech_switch.o
CC fs/isofs/namei.o
CC drivers/base/firmware.o
CC net/sunrpc/xprt.o
AR fs/fat/built-in.a
CC fs/isofs/inode.o
CC drivers/base/init.o
AR drivers/tty/serial/8250/built-in.a
AR drivers/tty/serial/built-in.a
CC net/netlabel/netlabel_user.o
AR net/mac80211/tests/built-in.a
CC net/netfilter/nf_conntrack_proto_udp.o
CC crypto/crypto_null.o
CC net/mac80211/main.o
CC drivers/acpi/acpica/exoparg3.o
CC net/ipv4/ip_sockglue.o
CC drivers/acpi/scan.o
CC kernel/events/uprobes.o
CC fs/isofs/dir.o
CC fs/isofs/util.o
CC io_uring/memmap.o
CC drivers/gpu/drm/virtio/virtgpu_submit.o
CC arch/x86/kernel/cpu/tsx.o
CC net/ethtool/tsconfig.o
CC drivers/scsi/constants.o
CC sound/hda/hdac_controller.o
CC drivers/scsi/scsi_lib_dma.o
CC kernel/panic.o
CC arch/x86/kernel/ldt.o
CC kernel/trace/trace_events.o
CC block/bsg.o
CC net/xfrm/xfrm_algo.o
CC drivers/ata/libata-core.o
CC drivers/acpi/acpica/exoparg6.o
CC fs/ext4/mmp.o
CC net/core/utils.o
AR drivers/net/phy/mediatek/built-in.a
AR drivers/net/phy/qcom/built-in.a
CC drivers/net/phy/realtek/realtek_main.o
AR drivers/net/pse-pd/built-in.a
CC drivers/tty/tty_port.o
CC drivers/firewire/init_ohci1394_dma.o
CC drivers/cdrom/cdrom.o
CC drivers/base/map.o
CC arch/x86/kernel/cpu/intel_epb.o
CC crypto/md5.o
AR drivers/auxdisplay/built-in.a
CC drivers/pci/pci-label.o
CC net/rfkill/core.o
CC drivers/gpu/drm/i915/intel_cpu_info.o
CC fs/nfs/client.o
CC kernel/time/timer_migration.o
CC fs/nfs/dir.o
CC drivers/acpi/acpica/exprep.o
AR net/packet/built-in.a
CC fs/nfs/file.o
CC drivers/gpu/drm/i915/intel_device_info.o
CC net/wireless/sysfs.o
CC io_uring/alloc_cache.o
CC io_uring/io-wq.o
CC drivers/net/phy/realtek/realtek_hwmon.o
AR drivers/gpu/drm/virtio/built-in.a
CC net/netlabel/netlabel_kapi.o
CC drivers/pcmcia/cs.o
CC block/blk-cgroup.o
CC arch/x86/kernel/cpu/amd.o
CC drivers/base/devres.o
CC fs/isofs/rock.o
CC net/ipv6/netfilter/nf_reject_ipv6.o
CC sound/hda/hdac_stream.o
CC sound/hda/array.o
CC crypto/sha256_generic.o
CC sound/hda/hdmi_chmap.o
CC net/ipv4/inet_hashtables.o
CC net/sunrpc/auth_gss/svcauth_gss.o
CC drivers/acpi/acpica/exregion.o
CC drivers/acpi/mipi-disco-img.o
AR drivers/firewire/built-in.a
CC net/netfilter/nf_conntrack_proto_icmp.o
CC net/ipv6/netfilter/ip6t_ipv6header.o
CC drivers/scsi/scsi_scan.o
AR net/ethtool/built-in.a
CC drivers/tty/tty_mutex.o
CC kernel/trace/trace_export.o
CC mm/mincore.o
CC drivers/pci/vgaarb.o
CC drivers/net/phy/mdio-boardinfo.o
CC net/xfrm/xfrm_user.o
CC kernel/time/vsyscall.o
CC drivers/acpi/acpica/exresnte.o
CC net/core/link_watch.o
CC net/rfkill/input.o
CC lib/memcat_p.o
AR drivers/net/phy/realtek/built-in.a
CC net/core/filter.o
CC crypto/sha512_generic.o
CC net/ipv6/af_inet6.o
AR kernel/events/built-in.a
CC drivers/tty/tty_ldsem.o
CC io_uring/futex.o
CC drivers/base/attribute_container.o
CC drivers/pcmcia/socket_sysfs.o
CC fs/exportfs/expfs.o
CC net/netlabel/netlabel_domainhash.o
CC drivers/gpu/drm/i915/intel_memory_region.o
CC net/core/sock_diag.o
AR sound/x86/built-in.a
CC kernel/time/timekeeping_debug.o
CC arch/x86/kernel/cpu/hygon.o
CC fs/isofs/export.o
CC drivers/acpi/acpica/exresolv.o
CC drivers/acpi/acpica/exresop.o
CC net/9p/mod.o
CC net/dns_resolver/dns_key.o
CC sound/hda/trace.o
CC drivers/tty/tty_baudrate.o
CC lib/nmi_backtrace.o
CC mm/mlock.o
CC net/wireless/radiotap.o
AR net/rfkill/built-in.a
CC kernel/time/namespace.o
AR drivers/cdrom/built-in.a
CC drivers/acpi/acpica/exserial.o
CC net/9p/client.o
CC io_uring/napi.o
CC fs/isofs/joliet.o
CC drivers/base/transport_class.o
CC drivers/net/phy/stubs.o
CC drivers/net/phy/mdio_devres.o
CC drivers/pcmcia/cardbus.o
CC net/ipv6/netfilter/ip6t_REJECT.o
CC arch/x86/kernel/cpu/centaur.o
CC kernel/cpu.o
CC net/netfilter/nf_conntrack_extend.o
CC net/mac80211/status.o
CC net/core/dev_ioctl.o
GEN drivers/scsi/scsi_devinfo_tbl.c
CC drivers/scsi/scsi_devinfo.o
CC block/blk-ioprio.o
CC net/core/tso.o
AR drivers/pci/built-in.a
CC crypto/sha3_generic.o
CC fs/ext4/move_extent.o
CC kernel/trace/trace_event_perf.o
CC drivers/scsi/scsi_sysctl.o
CC kernel/trace/trace_events_filter.o
AR fs/exportfs/built-in.a
CC kernel/trace/trace_events_trigger.o
CC arch/x86/kernel/cpu/transmeta.o
CC mm/mmap.o
CC net/dns_resolver/dns_query.o
CC drivers/acpi/acpica/exstore.o
CC fs/ext4/namei.o
CC drivers/tty/tty_jobctrl.o
CC net/sunrpc/socklib.o
CC net/sunrpc/auth_gss/gss_rpc_upcall.o
CC net/sunrpc/xprtsock.o
CC net/sunrpc/sched.o
CC drivers/base/topology.o
CC net/wireless/util.o
CC drivers/gpu/drm/i915/intel_pcode.o
CC fs/isofs/compress.o
CC drivers/tty/n_null.o
CC sound/hda/hdac_component.o
CC net/handshake/alert.o
CC crypto/ecb.o
CC block/blk-iolatency.o
CC arch/x86/kernel/setup.o
CC drivers/acpi/acpica/exstoren.o
CC net/handshake/genl.o
CC net/netlabel/netlabel_addrlist.o
CC net/handshake/netlink.o
AR kernel/time/built-in.a
CC net/netlabel/netlabel_mgmt.o
CC arch/x86/kernel/cpu/zhaoxin.o
CC net/ipv4/inet_timewait_sock.o
CC drivers/pcmcia/ds.o
CC arch/x86/kernel/x86_init.o
CC drivers/scsi/scsi_proc.o
CC drivers/net/phy/phy.o
CC net/devres.o
AR drivers/gpu/drm/hisilicon/built-in.a
CC net/socket.o
CC lib/objpool.o
CC drivers/base/container.o
AR net/dns_resolver/built-in.a
CC block/blk-iocost.o
AR sound/xen/built-in.a
CC block/mq-deadline.o
CC drivers/tty/pty.o
CC crypto/cbc.o
CC net/netlabel/netlabel_unlabeled.o
CC kernel/exit.o
CC net/netfilter/nf_conntrack_acct.o
CC drivers/acpi/acpica/exstorob.o
CC arch/x86/kernel/cpu/vortex.o
AR net/ipv6/netfilter/built-in.a
CC net/ipv6/anycast.o
AR io_uring/built-in.a
CC block/kyber-iosched.o
CC sound/hda/hdac_i915.o
CC block/blk-mq-debugfs.o
CC fs/nfs/getroot.o
CC net/sysctl_net.o
CC drivers/base/property.o
CC lib/plist.o
AR fs/isofs/built-in.a
CC drivers/net/phy/phy-c45.o
CC drivers/acpi/acpica/exsystem.o
CC drivers/gpu/drm/i915/intel_region_ttm.o
CC lib/radix-tree.o
CC drivers/usb/common/common.o
CC kernel/trace/trace_eprobe.o
CC net/sunrpc/auth_gss/gss_rpc_xdr.o
CC arch/x86/kernel/cpu/perfctr-watchdog.o
CC net/9p/error.o
CC drivers/gpu/drm/i915/intel_runtime_pm.o
AR net/xfrm/built-in.a
CC fs/nfs/inode.o
CC drivers/net/phy/phy-core.o
CC drivers/scsi/scsi_debugfs.o
CC drivers/acpi/acpica/extrace.o
CC drivers/pcmcia/pcmcia_resource.o
CC crypto/ctr.o
CC drivers/gpu/drm/i915/intel_sbi.o
CC net/sunrpc/auth.o
CC net/ipv4/inet_connection_sock.o
CC drivers/pcmcia/cistpl.o
CC net/9p/protocol.o
CC net/9p/trans_common.o
CC net/9p/trans_fd.o
CC net/handshake/request.o
CC mm/mmu_gather.o
CC drivers/acpi/acpica/exutils.o
CC drivers/tty/tty_audit.o
CC drivers/usb/common/debug.o
CC arch/x86/kernel/cpu/vmware.o
CC drivers/tty/sysrq.o
CC crypto/gcm.o
CC crypto/ccm.o
CC sound/hda/intel-dsp-config.o
CC net/9p/trans_virtio.o
AR drivers/usb/common/built-in.a
CC lib/ratelimit.o
CC drivers/pcmcia/pcmcia_cis.o
CC drivers/usb/core/usb.o
CC drivers/pcmcia/rsrc_mgr.o
CC drivers/scsi/scsi_trace.o
CC net/netfilter/nf_conntrack_seqadj.o
CC net/sunrpc/auth_null.o
CC drivers/scsi/scsi_logging.o
CC drivers/ata/libata-scsi.o
CC net/netlabel/netlabel_cipso_v4.o
CC net/mac80211/driver-ops.o
CC fs/nfs/super.o
CC drivers/acpi/acpica/hwacpi.o
CC sound/hda/intel-nhlt.o
CC lib/rbtree.o
CC net/sunrpc/auth_gss/trace.o
CC drivers/pcmcia/rsrc_nonstatic.o
CC fs/ext4/page-io.o
CC net/wireless/reg.o
CC block/blk-pm.o
CC drivers/net/phy/phy_device.o
CC net/ipv6/ip6_output.o
CC arch/x86/kernel/cpu/hypervisor.o
CC arch/x86/kernel/cpu/mshyperv.o
CC drivers/gpu/drm/i915/intel_step.o
CC net/sunrpc/auth_gss/gss_krb5_mech.o
CC drivers/acpi/acpica/hwesleep.o
CC drivers/base/cacheinfo.o
CC net/sunrpc/auth_gss/gss_krb5_seal.o
CC net/sunrpc/auth_gss/gss_krb5_unseal.o
CC kernel/trace/trace_kprobe.o
CC mm/mprotect.o
CC kernel/trace/error_report-traces.o
CC net/sunrpc/auth_gss/gss_krb5_wrap.o
CC lib/seq_buf.o
CC drivers/net/phy/linkmode.o
CC drivers/net/phy/phy_link_topology.o
CC sound/hda/intel-sdw-acpi.o
CC drivers/net/phy/mdio_bus.o
CC crypto/aes_generic.o
AR drivers/tty/built-in.a
CC drivers/acpi/acpica/hwgpe.o
CC net/ipv6/ip6_input.o
CC drivers/input/serio/serio.o
CC drivers/usb/core/hub.o
CC arch/x86/kernel/i8259.o
CC drivers/scsi/scsi_pm.o
CC kernel/softirq.o
CC lib/siphash.o
CC net/handshake/tlshd.o
CC net/sunrpc/auth_gss/gss_krb5_crypto.o
CC lib/string.o
CC net/ipv6/addrconf.o
CC net/sunrpc/auth_gss/gss_krb5_keys.o
CC net/netfilter/nf_conntrack_proto_icmpv6.o
CC arch/x86/kernel/irqinit.o
CC drivers/pcmcia/yenta_socket.o
CC drivers/base/swnode.o
CC drivers/gpu/drm/i915/intel_uncore.o
AR net/9p/built-in.a
CC net/mac80211/sta_info.o
CC block/holder.o
CC net/handshake/trace.o
CC net/ipv6/addrlabel.o
CC arch/x86/kernel/cpu/debugfs.o
CC fs/ext4/readpage.o
CC net/netlabel/netlabel_calipso.o
AR sound/hda/built-in.a
CC drivers/acpi/acpica/hwregs.o
CC drivers/usb/core/hcd.o
AR sound/virtio/built-in.a
CC sound/sound_core.o
CC lib/timerqueue.o
CC lib/union_find.o
CC mm/mremap.o
CC drivers/scsi/scsi_bsg.o
CC drivers/input/serio/i8042.o
CC drivers/scsi/scsi_common.o
CC fs/nfs/io.o
CC kernel/resource.o
CC net/ipv4/tcp.o
CC fs/ext4/resize.o
CC lib/vsprintf.o
CC sound/last.o
CC drivers/acpi/acpica/hwsleep.o
CC crypto/authenc.o
CC drivers/ata/libata-eh.o
AR drivers/gpu/drm/mxsfb/built-in.a
AR drivers/gpu/drm/tiny/built-in.a
CC net/ipv6/route.o
CC drivers/input/keyboard/atkbd.o
CC net/ipv6/ip6_fib.o
CC drivers/scsi/scsi_transport_spi.o
CC fs/ext4/super.o
CC arch/x86/kernel/cpu/bus_lock.o
AR block/built-in.a
CC net/core/sock_reuseport.o
AR drivers/gpu/drm/xlnx/built-in.a
CC kernel/sysctl.o
CC drivers/acpi/acpica/hwvalid.o
AR sound/built-in.a
CC kernel/capability.o
CC net/mac80211/wep.o
CC drivers/input/serio/serport.o
CC kernel/ptrace.o
CC drivers/rtc/lib.o
AR drivers/usb/phy/built-in.a
CC drivers/acpi/resource.o
CC drivers/base/faux.o
CC arch/x86/kernel/jump_label.o
CC fs/lockd/clntlock.o
CC drivers/net/phy/mdio_device.o
CC net/sunrpc/auth_tls.o
CC kernel/trace/power-traces.o
CC fs/ext4/symlink.o
AR net/netlabel/built-in.a
CC drivers/usb/mon/mon_main.o
AR net/sunrpc/auth_gss/built-in.a
CC net/netfilter/nf_conntrack_netlink.o
CC kernel/trace/rpm-traces.o
CC mm/msync.o
AR net/handshake/built-in.a
CC drivers/usb/host/pci-quirks.o
CC drivers/base/auxiliary.o
CC net/core/fib_notifier.o
CC crypto/authencesn.o
CC kernel/trace/trace_dynevent.o
CC drivers/acpi/acpica/hwxface.o
CC drivers/usb/mon/mon_stat.o
CC fs/ext4/sysfs.o
CC arch/x86/kernel/cpu/capflags.o
AR arch/x86/kernel/cpu/built-in.a
AR drivers/pcmcia/built-in.a
CC mm/page_vma_mapped.o
CC net/netfilter/nf_conntrack_ftp.o
CC drivers/usb/mon/mon_text.o
CC drivers/usb/mon/mon_bin.o
CC fs/nfs/direct.o
AR drivers/input/keyboard/built-in.a
CC net/netfilter/nf_conntrack_irc.o
CC drivers/input/mouse/psmouse-base.o
CC drivers/rtc/class.o
CC drivers/input/serio/libps2.o
CC drivers/base/devtmpfs.o
CC arch/x86/kernel/irq_work.o
CC fs/ext4/xattr.o
CC drivers/net/phy/swphy.o
CC drivers/acpi/acpica/hwxfsleep.o
CC drivers/usb/core/urb.o
CC kernel/trace/trace_probe.o
CC drivers/gpu/drm/i915/intel_uncore_trace.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/usb/host/ehci-pci.o
CC drivers/scsi/virtio_scsi.o
CC drivers/acpi/acpica/hwpci.o
CC drivers/input/mouse/synaptics.o
CC drivers/usb/core/message.o
CC drivers/acpi/acpi_processor.o
CC net/sunrpc/auth_unix.o
CC net/sunrpc/svc.o
CC mm/pagewalk.o
CC mm/pgtable-generic.o
CC kernel/trace/trace_uprobe.o
CC fs/lockd/clntproc.o
CC crypto/lzo.o
CC crypto/lzo-rle.o
CC drivers/i2c/algos/i2c-algo-bit.o
AR drivers/i3c/built-in.a
CC net/netfilter/nf_conntrack_sip.o
CC net/wireless/scan.o
CC drivers/usb/class/usblp.o
CC net/sunrpc/svcsock.o
CC drivers/base/module.o
CC drivers/rtc/interface.o
CC drivers/acpi/acpica/nsaccess.o
CC drivers/net/phy/fixed_phy.o
AR drivers/usb/mon/built-in.a
CC net/sunrpc/svcauth.o
AR drivers/input/serio/built-in.a
CC net/ipv6/ipv6_sockglue.o
AR drivers/input/joystick/built-in.a
CC net/sunrpc/svcauth_unix.o
CC drivers/net/mdio/acpi_mdio.o
CC drivers/input/mouse/focaltech.o
CC fs/nfs/pagelist.o
CC drivers/gpu/drm/i915/intel_wakeref.o
CC net/wireless/nl80211.o
CC net/core/xdp.o
CC drivers/input/mouse/alps.o
AR drivers/net/pcs/built-in.a
CC arch/x86/kernel/probe_roms.o
CC crypto/rng.o
CC fs/nfs/read.o
CC drivers/net/mdio/fwnode_mdio.o
CC net/ipv4/tcp_input.o
CC drivers/scsi/sd.o
CC drivers/base/auxiliary_sysfs.o
CC net/ipv4/tcp_output.o
CC drivers/acpi/acpica/nsalloc.o
CC net/sunrpc/addr.o
CC lib/win_minmax.o
CC drivers/acpi/acpica/nsarguments.o
AR drivers/usb/class/built-in.a
CC lib/xarray.o
AR drivers/i2c/algos/built-in.a
CC drivers/i2c/busses/i2c-i801.o
AR drivers/i2c/muxes/built-in.a
CC arch/x86/kernel/sys_ia32.o
CC fs/nls/nls_base.o
CC kernel/trace/rethook.o
CC drivers/ata/libata-transport.o
CC drivers/ata/libata-trace.o
CC fs/nls/nls_cp437.o
CC net/mac80211/aead_api.o
AR drivers/gpu/drm/gud/built-in.a
CC drivers/base/devcoredump.o
CC mm/rmap.o
CC net/ipv4/tcp_timer.o
CC drivers/rtc/nvmem.o
CC net/core/flow_offload.o
CC drivers/acpi/acpica/nsconvert.o
CC drivers/gpu/drm/i915/vlv_sideband.o
CC fs/lockd/clntxdr.o
AR drivers/net/ethernet/3com/built-in.a
AR drivers/net/wireless/admtek/built-in.a
CC crypto/drbg.o
CC drivers/net/ethernet/8390/ne2k-pci.o
AR drivers/net/wireless/ath/built-in.a
CC fs/ext4/xattr_hurd.o
AR drivers/net/wireless/atmel/built-in.a
AR drivers/net/phy/built-in.a
AR fs/unicode/built-in.a
AR drivers/net/wireless/broadcom/built-in.a
AR drivers/net/ethernet/adaptec/built-in.a
CC crypto/jitterentropy.o
CC net/ipv6/ndisc.o
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 fs/nls/nls_ascii.o
AR drivers/net/wireless/mediatek/built-in.a
CC drivers/usb/core/driver.o
AR drivers/net/wireless/microchip/built-in.a
CC drivers/usb/core/config.o
AR drivers/net/wireless/purelifi/built-in.a
AR drivers/media/i2c/built-in.a
AR drivers/net/wireless/quantenna/built-in.a
AR drivers/media/tuners/built-in.a
AR drivers/net/wireless/ralink/built-in.a
AR drivers/net/wireless/realtek/built-in.a
CC crypto/jitterentropy-kcapi.o
CC drivers/usb/storage/scsiglue.o
CC net/netfilter/nf_nat_core.o
AR drivers/media/rc/keymaps/built-in.a
AR drivers/net/wireless/rsi/built-in.a
CC drivers/acpi/acpica/nsdump.o
AR drivers/media/rc/built-in.a
AR drivers/net/wireless/silabs/built-in.a
AR drivers/media/common/b2c2/built-in.a
AR drivers/net/wireless/st/built-in.a
AR drivers/media/common/saa7146/built-in.a
AR drivers/net/wireless/ti/built-in.a
AR drivers/media/common/siano/built-in.a
AR drivers/media/common/v4l2-tpg/built-in.a
AR drivers/net/wireless/zydas/built-in.a
CC net/mac80211/wpa.o
AR drivers/net/wireless/virtual/built-in.a
AR drivers/media/common/videobuf2/built-in.a
CC drivers/rtc/dev.o
AR drivers/net/wireless/built-in.a
AR drivers/media/common/built-in.a
AR drivers/media/platform/allegro-dvt/built-in.a
CC drivers/usb/storage/protocol.o
CC lib/lockref.o
AR drivers/media/platform/amlogic/meson-ge2d/built-in.a
CC lib/bcd.o
AR drivers/net/mdio/built-in.a
AR drivers/media/platform/amlogic/built-in.a
CC drivers/usb/core/file.o
AR drivers/media/platform/amphion/built-in.a
AR drivers/media/platform/aspeed/built-in.a
CC drivers/base/platform-msi.o
CC drivers/acpi/acpica/nseval.o
CC drivers/acpi/acpica/nsinit.o
AR drivers/media/platform/atmel/built-in.a
AR drivers/media/platform/broadcom/built-in.a
AR drivers/media/platform/cadence/built-in.a
AR drivers/media/platform/chips-media/coda/built-in.a
AR drivers/i2c/busses/built-in.a
AR drivers/media/platform/chips-media/wave5/built-in.a
AR drivers/media/platform/chips-media/built-in.a
CC drivers/i2c/i2c-boardinfo.o
CC drivers/acpi/processor_core.o
AR drivers/media/platform/imagination/built-in.a
AR drivers/media/platform/intel/built-in.a
CC net/mac80211/scan.o
CC fs/lockd/host.o
CC fs/nls/nls_iso8859-1.o
AR drivers/gpu/drm/solomon/built-in.a
CC crypto/ghash-generic.o
AR drivers/media/platform/marvell/built-in.a
CC arch/x86/kernel/ksysfs.o
AR drivers/media/platform/mediatek/jpeg/built-in.a
AR kernel/trace/built-in.a
AR drivers/media/platform/mediatek/mdp/built-in.a
CC kernel/user.o
CC fs/autofs/init.o
AR drivers/media/platform/mediatek/vcodec/common/built-in.a
CC drivers/acpi/processor_pdc.o
AR drivers/media/platform/mediatek/vcodec/encoder/built-in.a
AR drivers/media/platform/mediatek/vpu/built-in.a
AR drivers/media/platform/mediatek/vcodec/decoder/built-in.a
AR drivers/media/platform/mediatek/vcodec/built-in.a
CC net/core/gro.o
AR drivers/media/platform/mediatek/mdp3/built-in.a
AR drivers/media/platform/mediatek/built-in.a
CC drivers/ata/libata-sata.o
AR drivers/media/platform/microchip/built-in.a
AR drivers/media/platform/nuvoton/built-in.a
CC drivers/usb/host/ohci-hcd.o
AR drivers/media/platform/nvidia/tegra-vde/built-in.a
CC drivers/input/mouse/byd.o
AR drivers/media/platform/nvidia/built-in.a
AR drivers/media/platform/nxp/dw100/built-in.a
AR drivers/media/platform/nxp/imx-jpeg/built-in.a
CC drivers/gpu/drm/i915/vlv_suspend.o
AR drivers/media/platform/nxp/imx8-isi/built-in.a
AR drivers/media/platform/nxp/built-in.a
AR drivers/media/platform/qcom/camss/built-in.a
CC drivers/base/physical_location.o
AR drivers/media/platform/qcom/venus/built-in.a
CC kernel/signal.o
CC drivers/acpi/acpica/nsload.o
AR drivers/media/platform/qcom/built-in.a
CC fs/ext4/xattr_trusted.o
CC lib/sort.o
CC drivers/acpi/acpica/nsnames.o
AR drivers/media/platform/raspberrypi/pisp_be/built-in.a
AR drivers/media/platform/raspberrypi/rp1-cfe/built-in.a
AR drivers/media/platform/renesas/rcar-vin/built-in.a
CC net/core/netdev-genl.o
AR drivers/media/platform/raspberrypi/built-in.a
CC drivers/rtc/proc.o
AR drivers/media/platform/renesas/rzg2l-cru/built-in.a
CC fs/nls/nls_utf8.o
CC drivers/usb/host/ohci-pci.o
AR drivers/media/platform/renesas/vsp1/built-in.a
CC crypto/hash_info.o
AR drivers/media/platform/renesas/built-in.a
CC arch/x86/kernel/bootflag.o
CC crypto/rsapubkey.asn1.o
AR drivers/media/platform/rockchip/rga/built-in.a
CC drivers/net/ethernet/8390/8390.o
CC lib/parser.o
AR drivers/media/platform/rockchip/rkisp1/built-in.a
CC crypto/rsaprivkey.asn1.o
AR drivers/media/platform/rockchip/built-in.a
AR crypto/built-in.a
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
CC fs/9p/vfs_super.o
AR drivers/media/platform/st/sti/delta/built-in.a
AR drivers/media/platform/samsung/s3c-camif/built-in.a
AR drivers/media/platform/st/sti/c8sectpfe/built-in.a
CC lib/debug_locks.o
AR drivers/media/platform/samsung/s5p-g2d/built-in.a
AR drivers/media/platform/st/sti/hva/built-in.a
CC net/core/netdev-genl-gen.o
CC lib/random32.o
AR drivers/media/platform/st/stm32/built-in.a
AR drivers/media/platform/samsung/s5p-jpeg/built-in.a
AR drivers/media/platform/st/built-in.a
CC drivers/i2c/i2c-core-base.o
CC net/core/gso.o
AR drivers/media/platform/samsung/s5p-mfc/built-in.a
AR drivers/media/platform/samsung/built-in.a
AR fs/nls/built-in.a
CC fs/nfs/symlink.o
CC drivers/usb/storage/transport.o
AR drivers/media/platform/sunxi/sun4i-csi/built-in.a
CC net/netfilter/nf_nat_proto.o
AR drivers/media/platform/ti/am437x/built-in.a
CC drivers/input/mouse/logips2pp.o
CC lib/bust_spinlocks.o
CC drivers/base/trace.o
AR drivers/media/platform/sunxi/sun6i-csi/built-in.a
AR drivers/media/platform/ti/cal/built-in.a
CC drivers/usb/core/buffer.o
AR drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
CC fs/autofs/inode.o
CC fs/ext4/xattr_user.o
AR drivers/media/platform/ti/vpe/built-in.a
AR drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
CC fs/autofs/root.o
AR drivers/media/platform/ti/davinci/built-in.a
AR drivers/media/platform/sunxi/sun8i-di/built-in.a
AR drivers/media/platform/ti/j721e-csi2rx/built-in.a
AR drivers/media/platform/sunxi/sun8i-rotate/built-in.a
AR drivers/media/platform/sunxi/built-in.a
AR drivers/media/platform/ti/omap/built-in.a
CC drivers/acpi/acpica/nsobject.o
AR drivers/media/platform/ti/omap3isp/built-in.a
AR drivers/media/platform/ti/built-in.a
AR drivers/media/pci/ttpci/built-in.a
AR drivers/media/pci/b2c2/built-in.a
AR drivers/media/usb/b2c2/built-in.a
AR drivers/media/pci/pluto2/built-in.a
AR drivers/media/platform/verisilicon/built-in.a
AR drivers/media/usb/dvb-usb/built-in.a
AR drivers/media/pci/dm1105/built-in.a
CC arch/x86/kernel/e820.o
AR drivers/media/usb/dvb-usb-v2/built-in.a
AR drivers/media/platform/via/built-in.a
AR drivers/media/pci/pt1/built-in.a
AR drivers/media/pci/pt3/built-in.a
AR drivers/media/usb/s2255/built-in.a
AR drivers/media/platform/xilinx/built-in.a
CC drivers/usb/host/uhci-hcd.o
AR drivers/net/ethernet/agere/built-in.a
AR drivers/media/platform/built-in.a
AR drivers/media/pci/mantis/built-in.a
AR drivers/media/usb/siano/built-in.a
AR drivers/media/usb/ttusb-budget/built-in.a
CC drivers/acpi/acpica/nsparse.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
AR drivers/media/usb/built-in.a
CC net/sunrpc/rpcb_clnt.o
AR drivers/media/pci/saa7146/built-in.a
CC fs/9p/vfs_inode.o
CC drivers/usb/host/xhci.o
CC fs/nfs/unlink.o
AR drivers/media/pci/smipcie/built-in.a
CC drivers/usb/host/xhci-mem.o
CC drivers/rtc/sysfs.o
AR drivers/media/pci/netup_unidvb/built-in.a
AR drivers/media/pci/intel/ipu3/built-in.a
CC drivers/scsi/sr.o
AR drivers/media/pci/intel/ivsc/built-in.a
AR drivers/media/pci/intel/built-in.a
AR drivers/media/pci/built-in.a
CC net/core/net-sysfs.o
CC drivers/usb/host/xhci-ext-caps.o
AR drivers/media/mmc/siano/built-in.a
AR drivers/media/mmc/built-in.a
AR drivers/media/firewire/built-in.a
AR drivers/media/spi/built-in.a
AR drivers/media/test-drivers/built-in.a
AR drivers/media/built-in.a
CC lib/kasprintf.o
AR fs/hostfs/built-in.a
AR drivers/net/usb/built-in.a
CC mm/vmalloc.o
CC arch/x86/kernel/pci-dma.o
CC drivers/input/mouse/lifebook.o
CC fs/nfs/write.o
CC drivers/acpi/acpica/nspredef.o
CC fs/lockd/svc.o
CC fs/debugfs/inode.o
CC net/netfilter/nf_nat_helper.o
AR drivers/base/built-in.a
CC net/mac80211/offchannel.o
CC drivers/ata/libata-sff.o
AR drivers/net/ethernet/8390/built-in.a
AR drivers/net/ethernet/alacritech/built-in.a
AR drivers/net/ethernet/alteon/built-in.a
AR drivers/net/ethernet/amazon/built-in.a
CC fs/ext4/fast_commit.o
AR drivers/net/ethernet/amd/built-in.a
CC mm/vma.o
AR drivers/net/ethernet/aquantia/built-in.a
AR drivers/net/ethernet/arc/built-in.a
CC drivers/acpi/acpica/nsprepkg.o
CC fs/autofs/symlink.o
CC drivers/usb/core/sysfs.o
AR drivers/net/ethernet/asix/built-in.a
CC lib/bitmap.o
AR drivers/net/ethernet/atheros/built-in.a
AR drivers/net/ethernet/cadence/built-in.a
CC drivers/net/ethernet/broadcom/bnx2.o
CC drivers/gpu/drm/i915/soc/intel_dram.o
CC drivers/rtc/rtc-mc146818-lib.o
CC drivers/usb/host/xhci-ring.o
CC drivers/usb/storage/usb.o
CC drivers/input/mouse/trackpoint.o
CC drivers/scsi/sr_ioctl.o
CC net/mac80211/ht.o
CC drivers/ata/libata-pmp.o
AR drivers/net/ethernet/brocade/built-in.a
CC arch/x86/kernel/quirks.o
CC net/ipv6/udp.o
CC fs/lockd/svclock.o
CC kernel/sys.o
CC drivers/usb/storage/initializers.o
CC drivers/acpi/ec.o
CC net/wireless/mlme.o
CC fs/debugfs/file.o
CC net/netfilter/nf_nat_masquerade.o
CC fs/ext4/orphan.o
CC drivers/acpi/acpica/nsrepair.o
CC fs/9p/vfs_inode_dotl.o
AR drivers/usb/misc/built-in.a
CC fs/ext4/acl.o
CC fs/autofs/waitq.o
CC fs/autofs/expire.o
CC drivers/rtc/rtc-cmos.o
CC fs/ext4/xattr_security.o
CC fs/nfs/namespace.o
CC fs/nfs/mount_clnt.o
CC drivers/acpi/acpica/nsrepair2.o
CC fs/9p/vfs_addr.o
CC lib/scatterlist.o
CC lib/list_sort.o
CC net/ipv6/udplite.o
CC drivers/input/mouse/cypress_ps2.o
CC drivers/scsi/sr_vendor.o
AR drivers/input/tablet/built-in.a
CC mm/process_vm_access.o
CC drivers/usb/storage/sierra_ms.o
CC drivers/usb/core/endpoint.o
CC drivers/gpu/drm/i915/soc/intel_gmch.o
CC drivers/usb/storage/option_ms.o
CC drivers/i2c/i2c-core-smbus.o
CC arch/x86/kernel/kdebugfs.o
CC drivers/i2c/i2c-core-acpi.o
CC arch/x86/kernel/alternative.o
CC net/mac80211/agg-tx.o
CC drivers/i2c/i2c-smbus.o
CC drivers/acpi/acpica/nssearch.o
CC net/mac80211/agg-rx.o
CC net/ipv4/tcp_ipv4.o
CC net/netfilter/nf_nat_ftp.o
CC arch/x86/kernel/i8253.o
CC net/sunrpc/timer.o
CC net/sunrpc/xdr.o
CC drivers/ata/libata-acpi.o
CC fs/lockd/svcshare.o
CC fs/9p/vfs_file.o
CC net/core/hotdata.o
CC fs/autofs/dev-ioctl.o
AR fs/debugfs/built-in.a
CC net/sunrpc/sunrpc_syms.o
CC drivers/usb/core/devio.o
CC drivers/acpi/dock.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 drivers/acpi/acpica/nsutils.o
AR drivers/net/ethernet/cavium/octeon/built-in.a
AR drivers/net/ethernet/cavium/built-in.a
CC fs/nfs/nfstrace.o
CC fs/9p/vfs_dir.o
CC drivers/usb/storage/usual-tables.o
CC lib/uuid.o
CC net/sunrpc/cache.o
CC drivers/gpu/drm/i915/soc/intel_pch.o
CC net/core/netdev_rx_queue.o
CC drivers/input/mouse/psmouse-smbus.o
CC net/sunrpc/rpc_pipe.o
AR drivers/rtc/built-in.a
CC fs/9p/vfs_dentry.o
CC drivers/scsi/sg.o
CC lib/iov_iter.o
CC drivers/usb/host/xhci-hub.o
CC net/netfilter/nf_nat_irc.o
CC kernel/umh.o
CC net/ipv4/tcp_minisocks.o
CC drivers/net/mii.o
CC drivers/ata/libata-pata-timings.o
CC drivers/acpi/acpica/nswalk.o
CC fs/tracefs/inode.o
CC drivers/net/ethernet/broadcom/tg3.o
CC mm/page_alloc.o
CC fs/tracefs/event_inode.o
CC net/netfilter/nf_nat_sip.o
AR drivers/net/ethernet/chelsio/built-in.a
CC net/sunrpc/sysfs.o
AR drivers/usb/storage/built-in.a
CC drivers/net/loopback.o
CC drivers/usb/host/xhci-dbg.o
CC fs/nfs/export.o
CC [M] fs/efivarfs/inode.o
CC lib/clz_ctz.o
AR fs/autofs/built-in.a
CC fs/lockd/svcproc.o
CC mm/page_frag_cache.o
CC arch/x86/kernel/hw_breakpoint.o
CC drivers/ata/ahci.o
AR drivers/net/ethernet/cisco/built-in.a
CC drivers/acpi/acpica/nsxfeval.o
AR drivers/input/mouse/built-in.a
AR drivers/input/touchscreen/built-in.a
AR drivers/input/misc/built-in.a
CC drivers/input/input.o
CC net/ipv6/raw.o
AR drivers/i2c/built-in.a
CC fs/nfs/sysfs.o
CC drivers/acpi/pci_root.o
CC net/core/net-procfs.o
CC drivers/usb/core/notify.o
CC net/netfilter/x_tables.o
CC drivers/acpi/pci_link.o
CC net/mac80211/vht.o
CC fs/9p/v9fs.o
CC fs/nfs/fs_context.o
AR drivers/net/ethernet/cortina/built-in.a
CC arch/x86/kernel/tsc.o
CC arch/x86/kernel/tsc_msr.o
CC [M] fs/efivarfs/file.o
CC drivers/gpu/drm/i915/soc/intel_rom.o
CC kernel/workqueue.o
CC drivers/acpi/acpica/nsxfname.o
CC fs/9p/fid.o
CC drivers/acpi/pci_irq.o
AR drivers/pps/clients/built-in.a
CC drivers/input/input-compat.o
CC drivers/pps/pps.o
AR drivers/net/ethernet/dec/tulip/built-in.a
AR drivers/net/ethernet/dec/built-in.a
CC fs/open.o
CC [M] fs/efivarfs/super.o
CC mm/init-mm.o
CC drivers/pps/kapi.o
CC net/core/netpoll.o
AR fs/tracefs/built-in.a
CC fs/lockd/svcsubs.o
CC [M] fs/efivarfs/vars.o
CC drivers/acpi/acpi_apd.o
CC drivers/net/netconsole.o
CC net/core/fib_rules.o
CC net/netfilter/xt_tcpudp.o
CC drivers/usb/host/xhci-trace.o
CC drivers/gpu/drm/i915/i915_memcpy.o
CC drivers/ata/libahci.o
CC mm/memblock.o
CC drivers/ptp/ptp_clock.o
CC drivers/usb/early/ehci-dbgp.o
AR drivers/net/ethernet/dlink/built-in.a
CC arch/x86/kernel/io_delay.o
CC lib/bsearch.o
CC drivers/acpi/acpica/nsxfobj.o
CC drivers/usb/host/xhci-debugfs.o
CC drivers/usb/core/generic.o
CC drivers/scsi/scsi_sysfs.o
AR fs/ext4/built-in.a
CC lib/find_bit.o
CC net/wireless/ibss.o
CC fs/9p/xattr.o
CC net/core/net-traces.o
CC net/ipv6/icmp.o
CC net/sunrpc/svc_xprt.o
CC drivers/gpu/drm/i915/i915_mm.o
AR drivers/net/ethernet/emulex/built-in.a
CC drivers/ptp/ptp_chardev.o
CC drivers/pps/sysfs.o
CC net/ipv4/tcp_cong.o
CC fs/read_write.o
CC drivers/net/virtio_net.o
CC [M] drivers/gpu/drm/scheduler/sched_main.o
CC drivers/usb/host/xhci-pci.o
CC drivers/acpi/acpica/psargs.o
CC drivers/gpu/drm/i915/i915_sw_fence.o
CC drivers/acpi/acpica/psloop.o
CC net/sunrpc/xprtmultipath.o
CC arch/x86/kernel/rtc.o
CC arch/x86/kernel/resource.o
CC fs/lockd/mon.o
CC drivers/input/input-mt.o
LD [M] fs/efivarfs/efivarfs.o
CC drivers/net/net_failover.o
CC [M] drivers/gpu/drm/scheduler/sched_fence.o
CC drivers/usb/core/quirks.o
AR drivers/pps/built-in.a
CC fs/file_table.o
CC lib/llist.o
CC net/ipv6/mcast.o
CC net/core/selftests.o
AR fs/9p/built-in.a
CC lib/lwq.o
CC net/sunrpc/stats.o
AS arch/x86/kernel/irqflags.o
CC drivers/ata/ata_piix.o
CC fs/super.o
CC net/core/ptp_classifier.o
CC net/netfilter/xt_CONNSECMARK.o
CC lib/memweight.o
AR drivers/usb/early/built-in.a
CC lib/kfifo.o
CC lib/percpu-refcount.o
CC arch/x86/kernel/static_call.o
CC [M] drivers/gpu/drm/scheduler/sched_entity.o
CC drivers/acpi/acpica/psobject.o
AR drivers/net/ethernet/engleder/built-in.a
CC drivers/ptp/ptp_sysfs.o
CC net/wireless/sme.o
CC mm/slub.o
CC drivers/acpi/acpica/psopcode.o
CC drivers/input/input-poller.o
CC drivers/gpu/drm/i915/i915_sw_fence_work.o
CC drivers/input/ff-core.o
CC drivers/usb/core/devices.o
CC drivers/ptp/ptp_vclock.o
CC drivers/acpi/acpi_platform.o
AR drivers/scsi/built-in.a
CC fs/nfs/nfsroot.o
CC lib/rhashtable.o
CC kernel/pid.o
CC drivers/gpu/drm/i915/i915_syncmap.o
CC net/mac80211/he.o
CC net/core/netprio_cgroup.o
CC drivers/input/touchscreen.o
CC arch/x86/kernel/process.o
CC net/sunrpc/sysctl.o
CC drivers/acpi/acpica/psopinfo.o
CC net/core/netclassid_cgroup.o
CC net/wireless/chan.o
CC fs/nfs/sysctl.o
CC drivers/ata/pata_amd.o
CC net/wireless/ethtool.o
CC drivers/gpu/drm/i915/i915_user_extensions.o
CC fs/lockd/trace.o
CC drivers/ptp/ptp_kvm_x86.o
HOSTCC drivers/gpu/drm/xe/xe_gen_wa_oob
AR drivers/net/ethernet/ezchip/built-in.a
CC net/ipv4/tcp_metrics.o
CC drivers/ptp/ptp_kvm_common.o
CC drivers/acpi/acpica/psparse.o
CC drivers/acpi/acpi_pnp.o
CC net/core/dst_cache.o
CC drivers/usb/core/phy.o
CC net/core/gro_cells.o
CC net/ipv4/tcp_fastopen.o
CC drivers/power/supply/power_supply_core.o
GEN xe_wa_oob.c xe_wa_oob.h
CC [M] drivers/gpu/drm/xe/xe_bb.o
CC net/netfilter/xt_NFLOG.o
CC drivers/input/ff-memless.o
CC drivers/ata/pata_oldpiix.o
CC drivers/power/supply/power_supply_sysfs.o
LD [M] drivers/gpu/drm/scheduler/gpu-sched.o
CC drivers/acpi/acpica/psscope.o
CC drivers/acpi/acpica/pstree.o
CC fs/char_dev.o
CC arch/x86/kernel/ptrace.o
CC drivers/gpu/drm/i915/i915_debugfs.o
CC mm/madvise.o
CC drivers/hwmon/hwmon.o
AR drivers/usb/host/built-in.a
CC lib/base64.o
CC drivers/usb/core/port.o
CC fs/lockd/xdr.o
AR drivers/net/ethernet/fujitsu/built-in.a
CC net/mac80211/s1g.o
CC drivers/gpu/drm/drm_atomic.o
CC lib/once.o
CC drivers/acpi/acpica/psutils.o
CC drivers/acpi/power.o
CC drivers/power/supply/power_supply_leds.o
CC fs/stat.o
AR drivers/net/ethernet/fungible/built-in.a
CC lib/refcount.o
CC net/ipv4/tcp_rate.o
CC net/ipv4/tcp_recovery.o
CC lib/rcuref.o
CC arch/x86/kernel/tls.o
CC fs/exec.o
AR drivers/ptp/built-in.a
CC net/netfilter/xt_SECMARK.o
CC drivers/usb/core/hcd-pci.o
CC fs/pipe.o
CC fs/nfs/nfs3super.o
CC drivers/acpi/acpica/pswalk.o
CC fs/namei.o
CC fs/fcntl.o
CC lib/usercopy.o
CC [M] drivers/gpu/drm/xe/xe_bo.o
AR drivers/net/ethernet/google/built-in.a
CC drivers/ata/pata_sch.o
CC drivers/acpi/event.o
CC drivers/gpu/drm/drm_atomic_uapi.o
AR drivers/thermal/broadcom/built-in.a
AR drivers/thermal/renesas/built-in.a
AR drivers/thermal/samsung/built-in.a
CC mm/page_io.o
CC drivers/input/sparse-keymap.o
CC drivers/thermal/intel/intel_tcc.o
CC drivers/power/supply/power_supply_hwmon.o
CC drivers/acpi/acpica/psxface.o
CC drivers/acpi/acpica/rsaddr.o
CC lib/errseq.o
CC net/netfilter/xt_TCPMSS.o
AR net/sunrpc/built-in.a
CC arch/x86/kernel/step.o
CC fs/nfs/nfs3client.o
AR drivers/thermal/st/built-in.a
CC drivers/input/vivaldi-fmap.o
CC lib/bucket_locks.o
AR drivers/net/ethernet/hisilicon/built-in.a
CC kernel/task_work.o
CC arch/x86/kernel/i8237.o
CC drivers/acpi/evged.o
CC drivers/thermal/intel/therm_throt.o
CC net/wireless/mesh.o
CC net/netfilter/xt_conntrack.o
CC drivers/gpu/drm/i915/i915_debugfs_params.o
CC drivers/input/input-leds.o
AR drivers/watchdog/built-in.a
CC drivers/acpi/acpica/rscalc.o
CC drivers/usb/core/usb-acpi.o
CC net/core/failover.o
AR drivers/thermal/qcom/built-in.a
CC fs/lockd/clnt4xdr.o
CC arch/x86/kernel/stacktrace.o
CC drivers/gpu/drm/i915/i915_pmu.o
CC drivers/ata/pata_mpiix.o
AR drivers/power/supply/built-in.a
CC fs/nfs/nfs3proc.o
AR drivers/power/built-in.a
CC net/ipv6/reassembly.o
CC [M] drivers/gpu/drm/xe/xe_bo_evict.o
CC drivers/acpi/sysfs.o
CC drivers/md/md.o
CC drivers/md/md-bitmap.o
CC kernel/extable.o
CC drivers/acpi/acpica/rscreate.o
CC lib/generic-radix-tree.o
CC net/ipv4/tcp_ulp.o
AR drivers/net/ethernet/huawei/built-in.a
CC drivers/acpi/acpica/rsdumpinfo.o
AR drivers/hwmon/built-in.a
CC net/ipv4/tcp_offload.o
CC net/netfilter/xt_policy.o
CC fs/ioctl.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/e1000/e1000_ethtool.o
CC [M] drivers/gpu/drm/xe/xe_devcoredump.o
CC fs/readdir.o
CC drivers/input/evdev.o
CC drivers/net/ethernet/intel/e1000/e1000_param.o
CC drivers/md/md-autodetect.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.o
CC drivers/acpi/acpica/rsinfo.o
CC lib/bitmap-str.o
CC lib/string_helpers.o
CC drivers/acpi/acpica/rsio.o
CC drivers/net/ethernet/intel/e1000e/ich8lan.o
AR drivers/thermal/tegra/built-in.a
CC net/ipv4/tcp_plb.o
CC drivers/ata/ata_generic.o
CC kernel/params.o
CC arch/x86/kernel/reboot.o
CC net/mac80211/ibss.o
AR drivers/usb/core/built-in.a
CC fs/select.o
AR drivers/net/ethernet/i825xx/built-in.a
AR drivers/usb/built-in.a
CC drivers/net/ethernet/intel/e100.o
CC net/ipv4/datagram.o
CC fs/lockd/xdr4.o
CC lib/hexdump.o
AR net/core/built-in.a
CC arch/x86/kernel/msr.o
CC drivers/acpi/property.o
CC drivers/acpi/acpica/rsirq.o
CC lib/kstrtox.o
CC net/netfilter/xt_state.o
AR drivers/net/ethernet/microsoft/built-in.a
CC drivers/net/ethernet/intel/e1000e/80003es2lan.o
CC drivers/gpu/drm/drm_auth.o
CC drivers/md/dm.o
CC drivers/acpi/acpica/rslist.o
CC drivers/acpi/acpica/rsmemory.o
CC drivers/cpufreq/cpufreq.o
CC [M] drivers/gpu/drm/xe/xe_device.o
CC [M] net/netfilter/nf_log_syslog.o
CC net/ipv6/tcp_ipv6.o
CC arch/x86/kernel/cpuid.o
CC drivers/net/ethernet/intel/e1000e/mac.o
CC drivers/acpi/acpica/rsmisc.o
AR drivers/thermal/intel/built-in.a
AR drivers/thermal/mediatek/built-in.a
CC drivers/gpu/drm/i915/gt/gen2_engine_cs.o
CC drivers/thermal/thermal_core.o
CC net/ipv4/raw.o
CC lib/iomap.o
CC kernel/kthread.o
CC fs/nfs/nfs3xdr.o
CC drivers/gpu/drm/i915/gt/gen6_engine_cs.o
CC fs/dcache.o
CC drivers/net/ethernet/intel/e1000e/manage.o
CC lib/iomap_copy.o
CC drivers/acpi/acpica/rsserial.o
AR drivers/input/built-in.a
CC fs/lockd/svc4proc.o
CC mm/swap_state.o
AR drivers/ata/built-in.a
AR drivers/net/ethernet/litex/built-in.a
CC [M] drivers/gpu/drm/xe/xe_device_sysfs.o
CC arch/x86/kernel/early-quirks.o
CC drivers/thermal/thermal_sysfs.o
CC [M] net/netfilter/xt_mark.o
CC drivers/thermal/thermal_trip.o
CC drivers/net/ethernet/intel/e1000e/nvm.o
CC net/wireless/ap.o
CC drivers/net/ethernet/intel/e1000e/phy.o
CC net/ipv4/udp.o
AR drivers/net/ethernet/marvell/octeon_ep/built-in.a
CC [M] drivers/gpu/drm/xe/xe_dma_buf.o
AR drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
CC drivers/md/dm-table.o
CC drivers/acpi/acpica/rsutils.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 net/mac80211/iface.o
AR drivers/net/ethernet/mellanox/built-in.a
CC drivers/cpuidle/governors/menu.o
CC drivers/cpuidle/governors/haltpoll.o
AR drivers/net/ethernet/meta/built-in.a
CC drivers/cpuidle/cpuidle.o
CC net/ipv6/ping.o
CC fs/inode.o
CC [M] drivers/gpu/drm/xe/xe_drm_client.o
AR drivers/net/ethernet/micrel/built-in.a
CC lib/devres.o
CC drivers/acpi/debugfs.o
CC fs/nfs/nfs3acl.o
CC drivers/gpu/drm/drm_blend.o
AR drivers/net/ethernet/microchip/built-in.a
CC drivers/net/ethernet/intel/e1000e/param.o
CC drivers/cpuidle/driver.o
CC drivers/acpi/acpica/rsxface.o
CC drivers/cpuidle/governor.o
CC drivers/acpi/acpi_lpat.o
CC mm/swapfile.o
CC drivers/md/dm-target.o
CC fs/nfs/nfs4proc.o
CC lib/check_signature.o
CC drivers/thermal/thermal_helpers.o
CC fs/nfs/nfs4xdr.o
CC net/mac80211/link.o
AR drivers/net/ethernet/mscc/built-in.a
CC drivers/cpuidle/sysfs.o
CC arch/x86/kernel/smp.o
CC drivers/net/ethernet/intel/e1000e/ethtool.o
CC drivers/gpu/drm/i915/gt/gen6_ppgtt.o
AR drivers/mmc/built-in.a
CC net/ipv4/udplite.o
CC lib/interval_tree.o
CC [M] net/netfilter/xt_nat.o
CC kernel/sys_ni.o
CC fs/lockd/procfs.o
CC drivers/acpi/acpica/tbdata.o
CC [M] net/netfilter/xt_LOG.o
CC drivers/acpi/acpica/tbfadt.o
CC lib/assoc_array.o
AR drivers/cpuidle/governors/built-in.a
CC fs/nfs/nfs4state.o
CC fs/nfs/nfs4renewd.o
CC drivers/cpuidle/poll_state.o
CC net/mac80211/rate.o
CC lib/bitrev.o
CC drivers/cpuidle/cpuidle-haltpoll.o
CC drivers/acpi/acpi_pcc.o
CC fs/attr.o
CC drivers/acpi/acpica/tbfind.o
CC drivers/cpufreq/freq_table.o
CC fs/bad_inode.o
AR drivers/net/ethernet/myricom/built-in.a
CC drivers/acpi/ac.o
CC drivers/md/dm-linear.o
CC [M] drivers/gpu/drm/xe/xe_eu_stall.o
CC drivers/thermal/thermal_thresholds.o
CC drivers/net/ethernet/intel/e1000e/netdev.o
CC drivers/net/ethernet/intel/e1000e/ptp.o
CC kernel/nsproxy.o
AR drivers/net/ethernet/natsemi/built-in.a
CC drivers/acpi/acpica/tbinstal.o
CC drivers/cpufreq/cpufreq_performance.o
CC net/ipv6/exthdrs.o
CC drivers/acpi/button.o
CC net/ipv4/udp_offload.o
CC drivers/thermal/thermal_netlink.o
CC arch/x86/kernel/smpboot.o
CC drivers/acpi/acpica/tbprint.o
CC mm/swap_slots.o
CC net/mac80211/michael.o
AR drivers/cpuidle/built-in.a
CC drivers/md/dm-stripe.o
CC drivers/gpu/drm/drm_bridge.o
CC lib/crc-ccitt.o
CC drivers/acpi/fan_core.o
CC drivers/md/dm-ioctl.o
AR drivers/net/ethernet/intel/e1000/built-in.a
CC drivers/cpufreq/cpufreq_userspace.o
CC kernel/notifier.o
CC net/wireless/trace.o
AR fs/lockd/built-in.a
CC drivers/md/dm-io.o
CC drivers/gpu/drm/drm_cache.o
AR drivers/net/ethernet/neterion/built-in.a
CC fs/file.o
CC kernel/ksysfs.o
CC drivers/acpi/fan_attr.o
CC drivers/acpi/acpica/tbutils.o
CC fs/filesystems.o
CC drivers/md/dm-kcopyd.o
CC drivers/md/dm-sysfs.o
AR drivers/net/ethernet/netronome/built-in.a
CC arch/x86/kernel/tsc_sync.o
CC drivers/gpu/drm/i915/gt/gen7_renderclear.o
CC mm/dmapool.o
CC drivers/thermal/thermal_hwmon.o
AR drivers/ufs/built-in.a
CC net/ipv6/datagram.o
CC lib/crc16.o
CC arch/x86/kernel/setup_percpu.o
CC drivers/cpufreq/cpufreq_ondemand.o
CC drivers/gpu/drm/i915/gt/gen8_engine_cs.o
CC drivers/acpi/acpica/tbxface.o
CC fs/namespace.o
CC [M] drivers/gpu/drm/xe/xe_exec.o
CC fs/nfs/nfs4super.o
AR drivers/net/ethernet/broadcom/built-in.a
CC drivers/gpu/drm/i915/gt/gen8_ppgtt.o
HOSTCC lib/gen_crc32table
CC drivers/thermal/gov_step_wise.o
CC net/wireless/ocb.o
CC [M] net/netfilter/xt_MASQUERADE.o
CC drivers/acpi/acpica/tbxfload.o
CC lib/xxhash.o
CC fs/seq_file.o
CC net/mac80211/tkip.o
CC drivers/cpufreq/cpufreq_governor.o
CC drivers/acpi/fan_hwmon.o
CC drivers/acpi/acpica/tbxfroot.o
CC drivers/md/dm-stats.o
CC fs/xattr.o
CC lib/genalloc.o
CC lib/percpu_counter.o
CC mm/hugetlb.o
CC kernel/cred.o
CC [M] drivers/gpu/drm/xe/xe_exec_queue.o
CC drivers/acpi/acpi_video.o
CC mm/mmu_notifier.o
CC fs/libfs.o
CC net/ipv4/arp.o
CC drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
CC lib/audit.o
CC arch/x86/kernel/mpparse.o
CC lib/syscall.o
CC [M] drivers/gpu/drm/xe/xe_execlist.o
CC drivers/acpi/video_detect.o
AR drivers/thermal/built-in.a
AR drivers/net/ethernet/ni/built-in.a
CC fs/nfs/nfs4file.o
CC drivers/acpi/acpica/utaddress.o
CC lib/errname.o
CC fs/nfs/delegation.o
CC drivers/acpi/processor_driver.o
CC drivers/cpufreq/cpufreq_governor_attr_set.o
CC drivers/cpufreq/acpi-cpufreq.o
CC drivers/cpufreq/amd-pstate.o
CC lib/nlattr.o
CC arch/x86/kernel/trace_clock.o
CC net/ipv4/icmp.o
CC fs/fs-writeback.o
CC drivers/acpi/processor_thermal.o
CC net/wireless/pmsr.o
CC net/mac80211/aes_cmac.o
CC net/mac80211/aes_gmac.o
CC kernel/reboot.o
AR drivers/firmware/arm_ffa/built-in.a
AR drivers/firmware/arm_scmi/built-in.a
AR drivers/firmware/broadcom/built-in.a
CC [M] net/netfilter/xt_addrtype.o
CC drivers/acpi/acpica/utalloc.o
AR drivers/firmware/cirrus/test/built-in.a
CC [M] drivers/gpu/drm/xe/xe_force_wake.o
AR drivers/firmware/cirrus/built-in.a
GEN net/wireless/shipped-certs.c
CC drivers/md/dm-rq.o
AR drivers/firmware/meson/built-in.a
AR drivers/firmware/microchip/built-in.a
AR drivers/net/ethernet/marvell/built-in.a
CC net/mac80211/fils_aead.o
CC drivers/cpufreq/amd-pstate-trace.o
AR drivers/firmware/imx/built-in.a
CC net/mac80211/cfg.o
CC fs/pnode.o
CC arch/x86/kernel/trace.o
CC lib/cpu_rmap.o
CC drivers/firmware/efi/libstub/efi-stub-helper.o
CC drivers/acpi/processor_idle.o
CC drivers/net/ethernet/nvidia/forcedeth.o
CC fs/nfs/nfs4idmap.o
CC net/ipv4/devinet.o
CC drivers/firmware/efi/libstub/gop.o
CC fs/nfs/callback.o
CC drivers/cpufreq/intel_pstate.o
CC net/ipv6/ip6_flowlabel.o
AR drivers/net/ethernet/oki-semi/built-in.a
AR drivers/firmware/psci/built-in.a
CC lib/dynamic_queue_limits.o
CC drivers/acpi/acpica/utascii.o
CC lib/glob.o
AR drivers/net/ethernet/packetengines/built-in.a
CC arch/x86/kernel/rethook.o
CC net/mac80211/ethtool.o
CC drivers/gpu/drm/drm_color_mgmt.o
CC net/mac80211/rx.o
CC fs/nfs/callback_xdr.o
CC drivers/firmware/efi/efi-bgrt.o
CC kernel/async.o
CC mm/migrate.o
CC mm/page_counter.o
CC drivers/gpu/drm/i915/gt/intel_context.o
CC drivers/md/dm-io-rewind.o
CC fs/splice.o
CC fs/sync.o
CC net/mac80211/spectmgmt.o
CC drivers/acpi/acpica/utbuffer.o
CC lib/strncpy_from_user.o
AR drivers/net/ethernet/qlogic/built-in.a
CC fs/utimes.o
CC drivers/gpu/drm/i915/gt/intel_context_sseu.o
CC net/ipv4/af_inet.o
CC [M] drivers/gpu/drm/xe/xe_ggtt.o
AR drivers/net/ethernet/qualcomm/emac/built-in.a
CC fs/nfs/callback_proc.o
AR drivers/net/ethernet/qualcomm/built-in.a
AR drivers/crypto/stm32/built-in.a
CC fs/d_path.o
CC [M] drivers/gpu/drm/xe/xe_gpu_scheduler.o
CC drivers/acpi/processor_throttling.o
AR drivers/crypto/xilinx/built-in.a
AR drivers/crypto/hisilicon/built-in.a
CC drivers/acpi/processor_perflib.o
AR drivers/crypto/intel/keembay/built-in.a
CC net/ipv4/igmp.o
CC drivers/acpi/acpica/utcksum.o
AR drivers/crypto/intel/ixp4xx/built-in.a
CC drivers/firmware/efi/libstub/secureboot.o
AR drivers/crypto/intel/built-in.a
CC drivers/net/ethernet/realtek/8139too.o
CC fs/stack.o
AR drivers/crypto/starfive/built-in.a
AR drivers/crypto/built-in.a
CC drivers/net/ethernet/realtek/r8169_main.o
CC lib/strnlen_user.o
CC kernel/range.o
CC arch/x86/kernel/vmcore_info_32.o
CC drivers/md/dm-builtin.o
CC drivers/acpi/container.o
CC kernel/smpboot.o
AR net/netfilter/built-in.a
CC net/ipv4/fib_frontend.o
CC fs/fs_struct.o
CC drivers/md/dm-raid1.o
CC drivers/gpu/drm/i915/gt/intel_engine_cs.o
CC drivers/acpi/acpica/utcopy.o
AR drivers/firmware/qcom/built-in.a
CC drivers/firmware/efi/efi.o
CC fs/statfs.o
CC drivers/md/dm-log.o
CC drivers/acpi/thermal_lib.o
CC lib/net_utils.o
CC drivers/net/ethernet/realtek/r8169_firmware.o
CC drivers/firmware/efi/libstub/tpm.o
AR drivers/net/ethernet/intel/e1000e/built-in.a
AR drivers/net/ethernet/intel/built-in.a
CC drivers/gpu/drm/drm_connector.o
CC net/mac80211/tx.o
CC arch/x86/kernel/machine_kexec_32.o
CC drivers/clocksource/acpi_pm.o
CC drivers/clocksource/i8253.o
CC net/ipv6/inet6_connection_sock.o
CC kernel/ucount.o
CC drivers/acpi/thermal.o
CC lib/sg_pool.o
AR drivers/firmware/smccc/built-in.a
CC drivers/firmware/efi/vars.o
AR drivers/net/ethernet/renesas/built-in.a
AS arch/x86/kernel/relocate_kernel_32.o
CC mm/hugetlb_cgroup.o
CC drivers/acpi/acpica/utexcep.o
CC [M] drivers/gpu/drm/xe/xe_gsc.o
CC drivers/gpu/drm/drm_crtc.o
CC drivers/gpu/drm/drm_displayid.o
CC drivers/firmware/efi/reboot.o
CC drivers/firmware/efi/memattr.o
CC drivers/md/dm-region-hash.o
CC lib/stackdepot.o
CC lib/asn1_decoder.o
CC drivers/firmware/efi/libstub/file.o
CC drivers/acpi/acpica/utdebug.o
CC kernel/regset.o
GEN lib/oid_registry_data.c
CC drivers/acpi/acpica/utdecode.o
CC fs/fs_pin.o
CC drivers/net/ethernet/realtek/r8169_phy_config.o
CC [M] drivers/gpu/drm/xe/xe_gsc_debugfs.o
AR drivers/firmware/tegra/built-in.a
CC drivers/firmware/efi/tpm.o
CC net/ipv6/udp_offload.o
CC drivers/md/dm-zero.o
AR drivers/clocksource/built-in.a
CC drivers/firmware/dmi_scan.o
CC drivers/hid/usbhid/hid-core.o
AR drivers/firmware/xilinx/built-in.a
CC arch/x86/kernel/crash_dump_32.o
CC fs/nfs/nfs4namespace.o
CC drivers/firmware/efi/libstub/mem.o
CC drivers/acpi/nhlt.o
CC drivers/gpu/drm/drm_drv.o
CC lib/ucs2_string.o
AR drivers/cpufreq/built-in.a
CC drivers/hid/usbhid/hiddev.o
CC drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
CC fs/nsfs.o
CC drivers/firmware/efi/memmap.o
CC net/ipv6/seg6.o
CC drivers/firmware/dmi-id.o
CC drivers/hid/hid-core.o
CC arch/x86/kernel/crash.o
CC kernel/ksyms_common.o
CC drivers/hid/usbhid/hid-pidff.o
CC net/ipv6/fib6_notifier.o
CC drivers/gpu/drm/i915/gt/intel_engine_pm.o
CC drivers/acpi/acpica/utdelete.o
AR drivers/platform/x86/amd/built-in.a
AR drivers/platform/x86/intel/built-in.a
CC fs/nfs/nfs4getroot.o
CC drivers/platform/x86/wmi.o
AR drivers/platform/surface/built-in.a
CC drivers/firmware/memmap.o
CC drivers/hid/hid-input.o
CC net/ipv4/fib_semantics.o
CC [M] drivers/gpu/drm/xe/xe_gsc_proxy.o
CC drivers/gpu/drm/i915/gt/intel_engine_user.o
CC arch/x86/kernel/module.o
CC net/mac80211/key.o
CC drivers/firmware/efi/capsule.o
CC drivers/acpi/acpica/uterror.o
CC mm/early_ioremap.o
CC drivers/acpi/acpi_memhotplug.o
CC lib/sbitmap.o
CC fs/fs_types.o
CC drivers/firmware/efi/esrt.o
AR drivers/net/ethernet/rdc/built-in.a
CC kernel/groups.o
AR drivers/md/built-in.a
CC net/ipv4/fib_trie.o
CC drivers/firmware/efi/libstub/random.o
CC drivers/firmware/efi/libstub/randomalloc.o
CC fs/fs_context.o
CC mm/secretmem.o
CC drivers/firmware/efi/libstub/pci.o
CC drivers/firmware/efi/libstub/skip_spaces.o
CC drivers/acpi/acpica/uteval.o
CC drivers/platform/x86/wmi-bmof.o
CC [M] drivers/gpu/drm/xe/xe_gsc_submit.o
CC drivers/hid/hid-quirks.o
CC arch/x86/kernel/doublefault_32.o
CC fs/nfs/nfs4client.o
CC net/ipv4/fib_notifier.o
CC drivers/firmware/efi/libstub/lib-cmdline.o
CC drivers/platform/x86/eeepc-laptop.o
CC lib/group_cpus.o
CC [M] drivers/gpu/drm/xe/xe_gt.o
CC net/mac80211/util.o
CC fs/fs_parser.o
CC lib/fw_table.o
CC net/ipv6/rpl.o
AR drivers/net/ethernet/nvidia/built-in.a
CC fs/fsopen.o
CC fs/nfs/nfs4session.o
CC drivers/acpi/ioapic.o
CC drivers/platform/x86/p2sb.o
CC [M] drivers/gpu/drm/xe/xe_gt_ccs_mode.o
CC drivers/firmware/efi/runtime-wrappers.o
CC net/mac80211/parse.o
CC drivers/gpu/drm/drm_dumb_buffers.o
CC drivers/acpi/battery.o
CC drivers/firmware/efi/libstub/lib-ctype.o
CC drivers/hid/hid-debug.o
CC drivers/gpu/drm/i915/gt/intel_execlists_submission.o
CC arch/x86/kernel/early_printk.o
CC drivers/firmware/efi/capsule-loader.o
AR drivers/hid/usbhid/built-in.a
CC drivers/firmware/efi/earlycon.o
CC kernel/kcmp.o
CC drivers/acpi/acpica/utglobal.o
CC net/ipv6/ioam6.o
CC net/ipv4/inet_fragment.o
CC drivers/mailbox/mailbox.o
AR lib/lib.a
AR drivers/net/ethernet/rocker/built-in.a
CC drivers/acpi/bgrt.o
CC fs/nfs/dns_resolve.o
CC fs/nfs/nfs4trace.o
CC drivers/firmware/efi/libstub/alignedmem.o
CC arch/x86/kernel/hpet.o
CC drivers/mailbox/pcc.o
AR drivers/net/ethernet/samsung/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_clock.o
AR drivers/net/ethernet/realtek/built-in.a
AR drivers/net/ethernet/seeq/built-in.a
AR drivers/net/ethernet/silan/built-in.a
CC drivers/acpi/acpica/uthex.o
AR drivers/net/ethernet/sis/built-in.a
AR drivers/net/ethernet/sfc/built-in.a
AR drivers/net/ethernet/smsc/built-in.a
GEN lib/crc32table.h
CC lib/oid_registry.o
CC fs/nfs/nfs4sysctl.o
AR drivers/net/ethernet/socionext/built-in.a
CC arch/x86/kernel/amd_nb.o
CC net/wireless/shipped-certs.o
AR drivers/net/ethernet/stmicro/built-in.a
CC mm/hmm.o
AR drivers/net/ethernet/sun/built-in.a
AR drivers/net/ethernet/tehuti/built-in.a
AR drivers/net/ethernet/ti/built-in.a
CC kernel/freezer.o
AR drivers/net/ethernet/vertexcom/built-in.a
AR drivers/net/ethernet/via/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_freq.o
AR drivers/net/ethernet/wangxun/built-in.a
AR drivers/net/ethernet/wiznet/built-in.a
CC arch/x86/kernel/amd_node.o
AR drivers/net/ethernet/xilinx/built-in.a
AR drivers/net/ethernet/xircom/built-in.a
AR drivers/net/ethernet/synopsys/built-in.a
AR drivers/net/ethernet/pensando/built-in.a
AR drivers/net/ethernet/built-in.a
CC drivers/firmware/efi/libstub/relocate.o
CC drivers/acpi/acpica/utids.o
CC net/ipv4/ping.o
CC drivers/hid/hidraw.o
CC drivers/acpi/acpica/utinit.o
CC [M] drivers/gpu/drm/xe/xe_gt_idle.o
CC net/ipv4/ip_tunnel_core.o
AR drivers/net/built-in.a
AR drivers/perf/built-in.a
AR drivers/platform/x86/built-in.a
CC drivers/acpi/spcr.o
AR drivers/platform/built-in.a
CC net/ipv4/gre_offload.o
CC drivers/hid/hid-generic.o
CC mm/memfd.o
CC net/ipv4/metrics.o
CC net/mac80211/wme.o
CC mm/ptdump.o
CC arch/x86/kernel/kvm.o
CC lib/crc32.o
AR drivers/hwtracing/intel_th/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ggtt.o
CC drivers/hid/hid-a4tech.o
CC drivers/gpu/drm/drm_edid.o
CC net/ipv4/netlink.o
AR drivers/mailbox/built-in.a
CC mm/execmem.o
CC fs/init.o
CC arch/x86/kernel/kvmclock.o
CC arch/x86/kernel/paravirt.o
CC drivers/acpi/acpica/utlock.o
CC arch/x86/kernel/pvclock.o
CC drivers/firmware/efi/libstub/printk.o
CC drivers/acpi/acpica/utmath.o
CC drivers/firmware/efi/libstub/vsprintf.o
CC net/ipv4/nexthop.o
CC arch/x86/kernel/pcspeaker.o
AR drivers/android/built-in.a
CC net/ipv4/udp_tunnel_stub.o
CC [M] drivers/gpu/drm/xe/xe_gt_mcr.o
CC kernel/profile.o
CC drivers/firmware/efi/libstub/x86-stub.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
CC drivers/gpu/drm/i915/gt/intel_gt.o
CC drivers/firmware/efi/libstub/smbios.o
CC drivers/gpu/drm/drm_eld.o
AR lib/built-in.a
CC net/ipv4/ip_tunnel.o
AR drivers/firmware/efi/built-in.a
CC net/ipv6/sysctl_net_ipv6.o
CC drivers/gpu/drm/drm_encoder.o
CC fs/kernel_read_file.o
CC kernel/stacktrace.o
CC drivers/acpi/acpica/utmisc.o
AR drivers/nvmem/layouts/built-in.a
CC drivers/nvmem/core.o
CC drivers/acpi/acpica/utmutex.o
CC kernel/dma.o
CC drivers/gpu/drm/drm_file.o
CC drivers/hid/hid-apple.o
CC net/ipv4/sysctl_net_ipv4.o
CC [M] drivers/gpu/drm/xe/xe_gt_pagefault.o
AR mm/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_sysfs.o
CC drivers/acpi/acpica/utnonansi.o
CC fs/mnt_idmapping.o
CC net/ipv6/xfrm6_policy.o
CC drivers/acpi/acpica/utobject.o
CC [M] drivers/gpu/drm/xe/xe_gt_throttle.o
CC [M] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
CC drivers/gpu/drm/drm_fourcc.o
CC fs/remap_range.o
CC arch/x86/kernel/check.o
STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
CC kernel/smp.o
CC drivers/hid/hid-belkin.o
CC kernel/uid16.o
CC kernel/kallsyms.o
CC [M] drivers/gpu/drm/xe/xe_gt_topology.o
CC drivers/gpu/drm/drm_framebuffer.o
CC drivers/gpu/drm/drm_gem.o
CC drivers/hid/hid-cherry.o
CC fs/pidfs.o
CC [M] drivers/gpu/drm/xe/xe_guc.o
CC net/ipv6/xfrm6_state.o
STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
CC drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
CC [M] drivers/gpu/drm/xe/xe_guc_ads.o
CC net/ipv6/xfrm6_input.o
CC fs/buffer.o
CC drivers/hid/hid-chicony.o
CC [M] drivers/gpu/drm/xe/xe_guc_buf.o
CC drivers/hid/hid-cypress.o
CC drivers/acpi/acpica/utosi.o
CC drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
CC [M] drivers/gpu/drm/xe/xe_guc_capture.o
CC drivers/hid/hid-ezkey.o
CC kernel/acct.o
STUBCPY drivers/firmware/efi/libstub/file.stub.o
STUBCPY drivers/firmware/efi/libstub/gop.stub.o
STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
STUBCPY drivers/firmware/efi/libstub/mem.stub.o
CC arch/x86/kernel/uprobes.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
STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
STUBCPY drivers/firmware/efi/libstub/smbios.stub.o
STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
CC net/ipv4/proc.o
STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
AR drivers/firmware/efi/libstub/lib.a
CC fs/mpage.o
AR drivers/firmware/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
CC arch/x86/kernel/perf_regs.o
CC drivers/acpi/acpica/utownerid.o
CC drivers/acpi/acpica/utpredef.o
CC drivers/hid/hid-gyration.o
CC net/mac80211/chan.o
CC drivers/acpi/acpica/utresdecode.o
CC fs/proc_namespace.o
CC net/ipv4/fib_rules.o
CC fs/direct-io.o
CC kernel/vmcore_info.o
AR drivers/nvmem/built-in.a
CC arch/x86/kernel/tracepoint.o
CC net/mac80211/trace.o
CC [M] drivers/gpu/drm/xe/xe_guc_ct.o
CC net/ipv6/xfrm6_output.o
CC net/ipv6/xfrm6_protocol.o
CC fs/eventpoll.o
CC net/ipv6/netfilter.o
CC fs/anon_inodes.o
CC drivers/gpu/drm/drm_ioctl.o
CC kernel/elfcorehdr.o
CC net/ipv4/ipmr.o
CC fs/signalfd.o
CC kernel/crash_reserve.o
CC arch/x86/kernel/itmt.o
CC [M] drivers/gpu/drm/xe/xe_guc_db_mgr.o
CC drivers/acpi/acpica/utresrc.o
CC drivers/acpi/acpica/utstate.o
CC drivers/gpu/drm/drm_lease.o
CC fs/timerfd.o
CC fs/eventfd.o
CC fs/aio.o
CC net/ipv6/proc.o
CC [M] drivers/gpu/drm/xe/xe_guc_engine_activity.o
CC drivers/gpu/drm/drm_managed.o
CC net/mac80211/mlme.o
CC fs/locks.o
CC drivers/acpi/acpica/utstring.o
CC drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
CC drivers/hid/hid-ite.o
CC net/mac80211/tdls.o
CC drivers/acpi/acpica/utstrsuppt.o
CC net/mac80211/ocb.o
CC drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
CC drivers/gpu/drm/drm_mm.o
AR fs/nfs/built-in.a
CC net/ipv6/syncookies.o
CC [M] drivers/gpu/drm/xe/xe_guc_hwconfig.o
CC drivers/hid/hid-kensington.o
CC arch/x86/kernel/umip.o
CC fs/binfmt_misc.o
CC drivers/acpi/acpica/utstrtoul64.o
CC net/ipv4/ipmr_base.o
CC drivers/hid/hid-lg.o
CC net/ipv6/calipso.o
CC net/mac80211/airtime.o
CC drivers/gpu/drm/i915/gt/intel_gt_irq.o
CC arch/x86/kernel/unwind_frame.o
CC kernel/kexec_core.o
CC kernel/crash_core.o
CC fs/binfmt_script.o
CC net/ipv6/ah6.o
CC drivers/acpi/acpica/utxface.o
CC fs/binfmt_elf.o
CC drivers/gpu/drm/drm_mode_config.o
CC net/ipv4/syncookies.o
CC net/ipv6/esp6.o
CC net/mac80211/eht.o
CC [M] drivers/gpu/drm/xe/xe_guc_id_mgr.o
CC [M] drivers/gpu/drm/xe/xe_guc_klv_helpers.o
CC drivers/acpi/acpica/utxfinit.o
CC drivers/gpu/drm/drm_mode_object.o
CC kernel/kexec.o
CC net/ipv6/sit.o
CC drivers/hid/hid-lgff.o
CC net/mac80211/led.o
CC net/ipv6/addrconf_core.o
CC drivers/gpu/drm/drm_modes.o
CC fs/mbcache.o
CC net/mac80211/pm.o
AR arch/x86/kernel/built-in.a
CC drivers/hid/hid-lg4ff.o
CC fs/posix_acl.o
CC drivers/gpu/drm/drm_modeset_lock.o
AR arch/x86/built-in.a
CC [M] drivers/gpu/drm/xe/xe_guc_log.o
CC kernel/utsname.o
CC drivers/gpu/drm/i915/gt/intel_gt_mcr.o
CC drivers/gpu/drm/drm_plane.o
CC drivers/acpi/acpica/utxferror.o
CC [M] drivers/gpu/drm/xe/xe_guc_pc.o
CC net/mac80211/rc80211_minstrel_ht.o
CC net/ipv4/tunnel4.o
CC fs/coredump.o
CC drivers/acpi/acpica/utxfmutex.o
CC net/ipv6/exthdrs_core.o
CC net/mac80211/wbrf.o
CC [M] drivers/gpu/drm/xe/xe_guc_submit.o
CC drivers/hid/hid-lg-g15.o
CC fs/drop_caches.o
CC net/ipv4/ipconfig.o
CC [M] drivers/gpu/drm/xe/xe_heci_gsc.o
CC kernel/pid_namespace.o
CC [M] drivers/gpu/drm/xe/xe_huc.o
CC drivers/hid/hid-microsoft.o
CC kernel/stop_machine.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm.o
CC net/ipv4/netfilter.o
CC drivers/hid/hid-monterey.o
AR drivers/acpi/acpica/built-in.a
AR drivers/acpi/built-in.a
CC net/ipv4/tcp_cubic.o
CC net/ipv6/ip6_checksum.o
CC fs/sysctls.o
CC drivers/hid/hid-ntrig.o
CC net/ipv6/ip6_icmp.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
CC drivers/hid/hid-pl.o
CC net/ipv4/tcp_sigpool.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine.o
CC kernel/audit.o
CC net/ipv6/output_core.o
CC kernel/auditfilter.o
CC net/ipv6/protocol.o
CC drivers/gpu/drm/drm_prime.o
CC drivers/hid/hid-petalynx.o
CC net/ipv4/cipso_ipv4.o
CC drivers/gpu/drm/drm_print.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
CC net/ipv4/xfrm4_policy.o
CC drivers/hid/hid-redragon.o
CC drivers/gpu/drm/i915/gt/intel_gt_requests.o
CC net/ipv4/xfrm4_state.o
CC drivers/gpu/drm/drm_property.o
CC kernel/auditsc.o
CC net/ipv6/ip6_offload.o
CC fs/fhandle.o
CC kernel/audit_watch.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
CC drivers/hid/hid-samsung.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
CC net/ipv4/xfrm4_input.o
CC drivers/gpu/drm/drm_rect.o
CC net/ipv4/xfrm4_output.o
CC net/ipv6/tcpv6_offload.o
CC drivers/gpu/drm/drm_syncobj.o
CC drivers/hid/hid-sony.o
CC kernel/audit_fsnotify.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
CC drivers/gpu/drm/drm_sysfs.o
CC drivers/gpu/drm/i915/gt/intel_gtt.o
CC net/ipv4/xfrm4_protocol.o
CC net/ipv6/exthdrs_offload.o
CC kernel/audit_tree.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_group.o
CC drivers/gpu/drm/i915/gt/intel_llc.o
CC net/ipv6/inet6_hashtables.o
CC drivers/hid/hid-sunplus.o
CC kernel/kprobes.o
CC drivers/hid/hid-topseed.o
CC net/ipv6/mcast_snoop.o
CC kernel/seccomp.o
CC [M] drivers/gpu/drm/xe/xe_hw_fence.o
AR net/wireless/built-in.a
CC drivers/gpu/drm/i915/gt/intel_lrc.o
CC drivers/gpu/drm/drm_trace_points.o
CC [M] drivers/gpu/drm/xe/xe_irq.o
CC drivers/gpu/drm/i915/gt/intel_migrate.o
CC kernel/relay.o
CC drivers/gpu/drm/drm_vblank.o
CC [M] drivers/gpu/drm/xe/xe_lrc.o
CC drivers/gpu/drm/i915/gt/intel_mocs.o
AR fs/built-in.a
CC drivers/gpu/drm/drm_vblank_work.o
CC [M] drivers/gpu/drm/xe/xe_migrate.o
CC drivers/gpu/drm/i915/gt/intel_ppgtt.o
CC [M] drivers/gpu/drm/xe/xe_mmio.o
CC drivers/gpu/drm/drm_vma_manager.o
CC drivers/gpu/drm/i915/gt/intel_rc6.o
CC kernel/utsname_sysctl.o
CC [M] drivers/gpu/drm/xe/xe_mocs.o
CC drivers/gpu/drm/i915/gt/intel_region_lmem.o
CC kernel/delayacct.o
CC drivers/gpu/drm/i915/gt/intel_renderstate.o
CC drivers/gpu/drm/drm_writeback.o
CC kernel/taskstats.o
CC kernel/tsacct.o
CC drivers/gpu/drm/drm_panel.o
CC [M] drivers/gpu/drm/xe/xe_module.o
CC [M] drivers/gpu/drm/xe/xe_oa.o
CC drivers/gpu/drm/i915/gt/intel_reset.o
CC kernel/tracepoint.o
CC kernel/irq_work.o
CC drivers/gpu/drm/drm_pci.o
CC drivers/gpu/drm/i915/gt/intel_ring.o
AR net/ipv4/built-in.a
CC kernel/static_call.o
CC [M] drivers/gpu/drm/xe/xe_observation.o
CC kernel/padata.o
AR drivers/hid/built-in.a
CC drivers/gpu/drm/i915/gt/intel_ring_submission.o
CC kernel/jump_label.o
CC [M] drivers/gpu/drm/xe/xe_pat.o
CC drivers/gpu/drm/drm_debugfs.o
CC kernel/context_tracking.o
CC kernel/iomem.o
CC kernel/rseq.o
CC drivers/gpu/drm/drm_debugfs_crc.o
CC drivers/gpu/drm/i915/gt/intel_rps.o
CC [M] drivers/gpu/drm/xe/xe_pci.o
CC drivers/gpu/drm/i915/gt/intel_sa_media.o
CC drivers/gpu/drm/drm_panel_orientation_quirks.o
CC drivers/gpu/drm/i915/gt/intel_sseu.o
CC drivers/gpu/drm/drm_buddy.o
CC [M] drivers/gpu/drm/xe/xe_pcode.o
CC drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_pm.o
CC drivers/gpu/drm/i915/gt/intel_timeline.o
CC [M] drivers/gpu/drm/xe/xe_preempt_fence.o
CC [M] drivers/gpu/drm/xe/xe_pt.o
CC drivers/gpu/drm/i915/gt/intel_tlb.o
CC drivers/gpu/drm/i915/gt/intel_wopcm.o
CC drivers/gpu/drm/drm_gem_shmem_helper.o
CC drivers/gpu/drm/drm_atomic_helper.o
CC [M] drivers/gpu/drm/xe/xe_pt_walk.o
CC [M] drivers/gpu/drm/xe/xe_pxp.o
CC [M] drivers/gpu/drm/xe/xe_pxp_debugfs.o
CC drivers/gpu/drm/drm_atomic_state_helper.o
CC drivers/gpu/drm/i915/gt/intel_workarounds.o
AR net/ipv6/built-in.a
CC drivers/gpu/drm/i915/gt/shmem_utils.o
CC drivers/gpu/drm/drm_crtc_helper.o
CC drivers/gpu/drm/i915/gt/sysfs_engines.o
CC drivers/gpu/drm/drm_damage_helper.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
CC [M] drivers/gpu/drm/xe/xe_pxp_submit.o
CC drivers/gpu/drm/drm_flip_work.o
CC drivers/gpu/drm/drm_format_helper.o
CC [M] drivers/gpu/drm/xe/xe_query.o
CC drivers/gpu/drm/i915/gt/gen6_renderstate.o
CC drivers/gpu/drm/i915/gt/gen7_renderstate.o
CC drivers/gpu/drm/drm_gem_atomic_helper.o
CC drivers/gpu/drm/i915/gt/gen8_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_range_fence.o
CC [M] drivers/gpu/drm/xe/xe_reg_sr.o
CC drivers/gpu/drm/drm_gem_framebuffer_helper.o
CC drivers/gpu/drm/i915/gt/gen9_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_reg_whitelist.o
AR kernel/built-in.a
CC drivers/gpu/drm/i915/gem/i915_gem_busy.o
CC drivers/gpu/drm/drm_kms_helper_common.o
CC [M] drivers/gpu/drm/xe/xe_ring_ops.o
CC drivers/gpu/drm/i915/gem/i915_gem_clflush.o
CC [M] drivers/gpu/drm/xe/xe_rtp.o
CC drivers/gpu/drm/drm_modeset_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_context.o
CC drivers/gpu/drm/drm_plane_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_create.o
CC drivers/gpu/drm/drm_probe_helper.o
CC [M] drivers/gpu/drm/xe/xe_sa.o
CC drivers/gpu/drm/drm_self_refresh_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
CC [M] drivers/gpu/drm/xe/xe_sched_job.o
CC [M] drivers/gpu/drm/xe/xe_shrinker.o
CC [M] drivers/gpu/drm/xe/xe_step.o
CC drivers/gpu/drm/i915/gem/i915_gem_domain.o
CC drivers/gpu/drm/drm_simple_kms_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
CC [M] drivers/gpu/drm/xe/xe_survivability_mode.o
CC drivers/gpu/drm/bridge/panel.o
CC drivers/gpu/drm/drm_mipi_dsi.o
CC drivers/gpu/drm/i915/gem/i915_gem_internal.o
CC [M] drivers/gpu/drm/drm_exec.o
CC drivers/gpu/drm/i915/gem/i915_gem_lmem.o
CC [M] drivers/gpu/drm/xe/xe_sync.o
CC drivers/gpu/drm/i915/gem/i915_gem_mman.o
CC [M] drivers/gpu/drm/drm_gpuvm.o
CC [M] drivers/gpu/drm/drm_suballoc.o
CC drivers/gpu/drm/i915/gem/i915_gem_object.o
CC [M] drivers/gpu/drm/xe/xe_tile.o
CC drivers/gpu/drm/i915/gem/i915_gem_pages.o
CC [M] drivers/gpu/drm/drm_gem_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_tile_sysfs.o
CC drivers/gpu/drm/i915/gem/i915_gem_phys.o
CC [M] drivers/gpu/drm/xe/xe_trace.o
CC [M] drivers/gpu/drm/xe/xe_trace_bo.o
CC drivers/gpu/drm/i915/gem/i915_gem_pm.o
CC drivers/gpu/drm/i915/gem/i915_gem_region.o
CC drivers/gpu/drm/i915/gem/i915_gem_shmem.o
CC drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
CC [M] drivers/gpu/drm/xe/xe_trace_guc.o
CC drivers/gpu/drm/i915/gem/i915_gem_stolen.o
CC [M] drivers/gpu/drm/xe/xe_trace_lrc.o
CC [M] drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_throttle.o
CC [M] drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
CC drivers/gpu/drm/i915/gem/i915_gem_tiling.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm.o
CC [M] drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
CC [M] drivers/gpu/drm/xe/xe_tuning.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
CC [M] drivers/gpu/drm/xe/xe_uc.o
CC [M] drivers/gpu/drm/xe/xe_uc_fw.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
CC [M] drivers/gpu/drm/xe/xe_vm.o
CC [M] drivers/gpu/drm/xe/xe_vram.o
LD [M] drivers/gpu/drm/drm_suballoc_helper.o
CC drivers/gpu/drm/i915/gem/i915_gem_userptr.o
CC [M] drivers/gpu/drm/xe/xe_vram_freq.o
CC drivers/gpu/drm/i915/gem/i915_gem_wait.o
CC [M] drivers/gpu/drm/xe/xe_vsec.o
CC [M] drivers/gpu/drm/xe/xe_wa.o
CC drivers/gpu/drm/i915/gem/i915_gemfs.o
CC [M] drivers/gpu/drm/xe/xe_wait_user_fence.o
LD [M] drivers/gpu/drm/drm_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_wopcm.o
CC drivers/gpu/drm/i915/i915_active.o
CC [M] drivers/gpu/drm/xe/xe_hmm.o
CC drivers/gpu/drm/i915/i915_cmd_parser.o
CC drivers/gpu/drm/i915/i915_deps.o
CC [M] drivers/gpu/drm/xe/xe_hwmon.o
CC [M] drivers/gpu/drm/xe/xe_pmu.o
CC drivers/gpu/drm/i915/i915_gem.o
CC drivers/gpu/drm/i915/i915_gem_evict.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf.o
CC [M] drivers/gpu/drm/xe/xe_guc_relay.o
CC drivers/gpu/drm/i915/i915_gem_gtt.o
CC [M] drivers/gpu/drm/xe/xe_memirq.o
CC [M] drivers/gpu/drm/xe/xe_sriov.o
CC drivers/gpu/drm/i915/i915_gem_ww.o
CC [M] drivers/gpu/drm/xe/xe_sriov_vf.o
CC drivers/gpu/drm/i915/i915_query.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_irq.o
CC drivers/gpu/drm/i915/i915_request.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o
CC drivers/gpu/drm/i915/i915_scheduler.o
CC [M] drivers/gpu/drm/xe/display/intel_bo.o
CC drivers/gpu/drm/i915/i915_trace_points.o
CC drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
CC [M] drivers/gpu/drm/xe/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/i915_vma.o
CC [M] drivers/gpu/drm/xe/display/intel_fbdev_fb.o
CC drivers/gpu/drm/i915/i915_vma_resource.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 drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
CC [M] drivers/gpu/drm/xe/display/xe_display_wa.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.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 drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
CC [M] drivers/gpu/drm/xe/display/xe_tdf.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 [M] drivers/gpu/drm/xe/i915-soc/intel_dram.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_pch.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_rom.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
CC [M] drivers/gpu/drm/xe/i915-display/icl_dsi.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_alpm.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_audio.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_backlight.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bios.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bw.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cdclk.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cmtg.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_color.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc.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 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
CC drivers/gpu/drm/i915/gt/intel_gsc.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_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 drivers/gpu/drm/i915/display/i9xx_plane.o
CC drivers/gpu/drm/i915/display/i9xx_display_sr.o
CC drivers/gpu/drm/i915/display/i9xx_wm.o
AR net/mac80211/built-in.a
AR net/built-in.a
CC drivers/gpu/drm/i915/display/intel_alpm.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 drivers/gpu/drm/i915/display/intel_atomic.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_conversion.o
CC drivers/gpu/drm/i915/display/intel_atomic_plane.o
CC drivers/gpu/drm/i915/display/intel_audio.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_device.o
CC drivers/gpu/drm/i915/display/intel_bios.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 drivers/gpu/drm/i915/display/intel_bo.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_params.o
CC drivers/gpu/drm/i915/display/intel_bw.o
CC drivers/gpu/drm/i915/display/intel_cdclk.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 drivers/gpu/drm/i915/display/intel_cmtg.o
CC drivers/gpu/drm/i915/display/intel_color.o
CC drivers/gpu/drm/i915/display/intel_combo_phy.o
CC drivers/gpu/drm/i915/display/intel_connector.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 drivers/gpu/drm/i915/display/intel_crtc.o
CC drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_cursor.o
CC drivers/gpu/drm/i915/display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
CC drivers/gpu/drm/i915/display/intel_display_conversion.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 drivers/gpu/drm/i915/display/intel_display_driver.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 drivers/gpu/drm/i915/display/intel_display_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_test.o
CC drivers/gpu/drm/i915/display/intel_display_params.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll.o
CC drivers/gpu/drm/i915/display/intel_display_power.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
CC drivers/gpu/drm/i915/display/intel_display_power_map.o
CC drivers/gpu/drm/i915/display/intel_display_power_well.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
CC drivers/gpu/drm/i915/display/intel_display_reset.o
CC drivers/gpu/drm/i915/display/intel_display_rps.o
CC drivers/gpu/drm/i915/display/intel_display_snapshot.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_drrs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsb.o
CC drivers/gpu/drm/i915/display/intel_display_wa.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 drivers/gpu/drm/i915/display/intel_dmc.o
CC drivers/gpu/drm/i915/display/intel_dmc_wl.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_encoder.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 [M] drivers/gpu/drm/xe/i915-display/intel_fb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fbc.o
CC drivers/gpu/drm/i915/display/intel_dpt.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 drivers/gpu/drm/i915/display/intel_dpt_common.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 drivers/gpu/drm/i915/display/intel_drrs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_gmbus.o
CC drivers/gpu/drm/i915/display/intel_dsb.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 drivers/gpu/drm/i915/display/intel_dsb_buffer.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdmi.o
CC drivers/gpu/drm/i915/display/intel_fb.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug.o
CC drivers/gpu/drm/i915/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/display/intel_fb_pin.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 drivers/gpu/drm/i915/display/intel_fbc.o
CC drivers/gpu/drm/i915/display/intel_fdi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_fifo_underrun.o
CC drivers/gpu/drm/i915/display/intel_frontbuffer.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 drivers/gpu/drm/i915/display/intel_global_state.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
CC drivers/gpu/drm/i915/display/intel_hdcp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_panel.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pfit.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
CC drivers/gpu/drm/i915/display/intel_hotplug.o
CC drivers/gpu/drm/i915/display/intel_hotplug_irq.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pps.o
CC drivers/gpu/drm/i915/display/intel_hti.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 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 [M] drivers/gpu/drm/xe/i915-display/intel_quirks.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_hdmi_pll.o
CC drivers/gpu/drm/i915/display/intel_modeset_lock.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 drivers/gpu/drm/i915/display/intel_modeset_setup.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vga.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vrr.o
CC drivers/gpu/drm/i915/display/intel_modeset_verify.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 drivers/gpu/drm/i915/display/intel_overlay.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_watermark.o
CC drivers/gpu/drm/i915/display/intel_pch_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_acpi.o
CC drivers/gpu/drm/i915/display/intel_pch_refclk.o
CC drivers/gpu/drm/i915/display/intel_plane_initial.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_opregion.o
CC drivers/gpu/drm/i915/display/intel_pmdemand.o
CC [M] drivers/gpu/drm/xe/xe_debugfs.o
CC drivers/gpu/drm/i915/display/intel_psr.o
CC [M] drivers/gpu/drm/xe/xe_gt_debugfs.o
CC drivers/gpu/drm/i915/display/intel_quirks.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o
CC drivers/gpu/drm/i915/display/intel_sprite.o
CC [M] drivers/gpu/drm/xe/xe_gt_stats.o
CC [M] drivers/gpu/drm/xe/xe_guc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_sprite_uapi.o
CC [M] drivers/gpu/drm/xe/xe_huc_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_uc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_tc.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 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 [M] drivers/gpu/drm/xe/i915-display/intel_pipe_crc.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
CC drivers/gpu/drm/i915/display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_dp_test.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_encoder.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_pfit.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_hdmi_pll.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
LD [M] drivers/gpu/drm/xe/xe.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] .module-common.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] net/netfilter/nf_log_syslog.mod.o
CC [M] net/netfilter/xt_mark.mod.o
CC [M] net/netfilter/xt_nat.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_exec.ko
LD [M] drivers/gpu/drm/drm_gpuvm.ko
LD [M] drivers/gpu/drm/drm_suballoc_helper.ko
LD [M] drivers/gpu/drm/scheduler/gpu-sched.ko
LD [M] drivers/thermal/intel/x86_pkg_temp_thermal.ko
LD [M] drivers/gpu/drm/xe/xe.ko
LD [M] net/netfilter/nf_log_syslog.ko
LD [M] net/netfilter/xt_mark.ko
LD [M] net/netfilter/xt_MASQUERADE.ko
LD [M] net/netfilter/xt_nat.ko
LD [M] net/netfilter/xt_LOG.ko
LD [M] net/ipv4/netfilter/iptable_nat.ko
LD [M] drivers/gpu/drm/drm_ttm_helper.ko
LD [M] net/netfilter/xt_addrtype.ko
UPD include/generated/utsversion.h
CC init/version-timestamp.o
KSYMS .tmp_vmlinux0.kallsyms.S
AS .tmp_vmlinux0.kallsyms.o
LD .tmp_vmlinux1
NM .tmp_vmlinux1.syms
KSYMS .tmp_vmlinux1.kallsyms.S
AS .tmp_vmlinux1.kallsyms.o
LD .tmp_vmlinux2
NM .tmp_vmlinux2.syms
KSYMS .tmp_vmlinux2.kallsyms.S
AS .tmp_vmlinux2.kallsyms.o
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/video.o
CC arch/x86/boot/tty.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
LDS arch/x86/boot/compressed/vmlinux.lds
CC arch/x86/boot/cpu.o
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
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
All hooks done
^ permalink raw reply [flat|nested] 9+ messages in thread
* ✓ CI.checksparse: success for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
` (4 preceding siblings ...)
2025-03-05 13:11 ` ✓ CI.Hooks: " Patchwork
@ 2025-03-05 13:14 ` Patchwork
2025-03-05 13:36 ` ✗ Xe.CI.BAT: failure " Patchwork
6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2025-03-05 13:14 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
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 cc4910a0bf99a078684b793860762c0e00c88c4b
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
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] 9+ messages in thread
* ✗ Xe.CI.BAT: failure for drm/xe: The xe bo shrinker series for testing
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
` (5 preceding siblings ...)
2025-03-05 13:14 ` ✓ CI.checksparse: " Patchwork
@ 2025-03-05 13:36 ` Patchwork
2025-03-05 13:42 ` Thomas Hellström
6 siblings, 1 reply; 9+ messages in thread
From: Patchwork @ 2025-03-05 13:36 UTC (permalink / raw)
To: Thomas Hellström; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 2682 bytes --]
== Series Details ==
Series: drm/xe: The xe bo shrinker series for testing
URL : https://patchwork.freedesktop.org/series/145816/
State : failure
== Summary ==
CI Bug Log - changes from xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033_BAT -> xe-pw-145816v1_BAT
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-145816v1_BAT absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-145816v1_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 (10 -> 9)
------------------------------
Missing (1): bat-adlp-vm
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-145816v1_BAT:
### IGT changes ###
#### Possible regressions ####
* igt@xe_intel_bb@render@render-xmajor-256:
- bat-adlp-vf: [PASS][1] -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033/bat-adlp-vf/igt@xe_intel_bb@render@render-xmajor-256.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/bat-adlp-vf/igt@xe_intel_bb@render@render-xmajor-256.html
* igt@xe_intel_bb@render@render-ymajor-256:
- bat-adlp-vf: [PASS][3] -> [DMESG-WARN][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033/bat-adlp-vf/igt@xe_intel_bb@render@render-ymajor-256.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/bat-adlp-vf/igt@xe_intel_bb@render@render-ymajor-256.html
Known issues
------------
Here are the changes found in xe-pw-145816v1_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_intel_bb@render:
- bat-adlp-vf: [PASS][5] -> [ABORT][6] ([Intel XE#4491])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033/bat-adlp-vf/igt@xe_intel_bb@render.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/bat-adlp-vf/igt@xe_intel_bb@render.html
[Intel XE#4491]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4491
Build changes
-------------
* Linux: xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033 -> xe-pw-145816v1
IGT_8261: 8261
xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033: 9391bc304a5cea9a9b63bff8e2d3b38f8d44d033
xe-pw-145816v1: 145816v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/index.html
[-- Attachment #2: Type: text/html, Size: 3329 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: ✗ Xe.CI.BAT: failure for drm/xe: The xe bo shrinker series for testing
2025-03-05 13:36 ` ✗ Xe.CI.BAT: failure " Patchwork
@ 2025-03-05 13:42 ` Thomas Hellström
0 siblings, 0 replies; 9+ messages in thread
From: Thomas Hellström @ 2025-03-05 13:42 UTC (permalink / raw)
To: intel-xe
On Wed, 2025-03-05 at 13:36 +0000, Patchwork wrote:
> == Series Details ==
>
> Series: drm/xe: The xe bo shrinker series for testing
> URL : https://patchwork.freedesktop.org/series/145816/
> State : failure
>
> == Summary ==
>
> CI Bug Log - changes from xe-2756-
> 9391bc304a5cea9a9b63bff8e2d3b38f8d44d033_BAT -> xe-pw-145816v1_BAT
> ====================================================
>
> Summary
> -------
>
> **FAILURE**
>
> Serious unknown changes coming with xe-pw-145816v1_BAT absolutely
> need to be
> verified manually.
>
> If you think the reported changes have nothing to do with the
> changes
> introduced in xe-pw-145816v1_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 (10 -> 9)
> ------------------------------
>
> Missing (1): bat-adlp-vm
>
> Possible new issues
> -------------------
>
> Here are the unknown changes that may have been introduced in xe-
> pw-145816v1_BAT:
>
> ### IGT changes ###
>
> #### Possible regressions ####
>
> * igt@xe_intel_bb@render@render-xmajor-256:
> - bat-adlp-vf: [PASS][1] -> [ABORT][2]
> [1]:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033/bat-adlp-vf/igt@xe_intel_bb@render@render-xmajor-256.html
> [2]:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/bat-adlp-vf/igt@xe_intel_bb@render@render-xmajor-256.html
>
> * igt@xe_intel_bb@render@render-ymajor-256:
> - bat-adlp-vf: [PASS][3] -> [DMESG-WARN][4]
> [3]:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033/bat-adlp-vf/igt@xe_intel_bb@render@render-ymajor-256.html
> [4]:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/bat-adlp-vf/igt@xe_intel_bb@render@render-ymajor-256.html
>
>
These errors should not be related to the patch, but rather look like
duplicates of [Intel XE#4491]
Thanks,
Thomas
>
> Known issues
> ------------
>
> Here are the changes found in xe-pw-145816v1_BAT that come from
> known issues:
>
> ### IGT changes ###
>
> #### Issues hit ####
>
> * igt@xe_intel_bb@render:
> - bat-adlp-vf: [PASS][5] -> [ABORT][6] ([Intel XE#4491])
> [5]:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033/bat-adlp-vf/igt@xe_intel_bb@render.html
> [6]:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/bat-adlp-vf/igt@xe_intel_bb@render.html
>
>
> [Intel XE#4491]:
> https://gitlab.freedesktop.org/drm/xe/kernel/issues/4491
>
>
> Build changes
> -------------
>
> * Linux: xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033 -> xe-pw-
> 145816v1
>
> IGT_8261: 8261
> xe-2756-9391bc304a5cea9a9b63bff8e2d3b38f8d44d033:
> 9391bc304a5cea9a9b63bff8e2d3b38f8d44d033
> xe-pw-145816v1: 145816v1
>
> == Logs ==
>
> For more details see:
> https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-145816v1/index.html
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-03-05 13:42 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-05 10:10 [CI] drm/xe: The xe bo shrinker series for testing Thomas Hellström
2025-03-05 12:50 ` ✓ CI.Patch_applied: success for " Patchwork
2025-03-05 12:50 ` ✗ CI.checkpatch: warning " Patchwork
2025-03-05 12:51 ` ✓ CI.KUnit: success " Patchwork
2025-03-05 13:08 ` ✓ CI.Build: " Patchwork
2025-03-05 13:11 ` ✓ CI.Hooks: " Patchwork
2025-03-05 13:14 ` ✓ CI.checksparse: " Patchwork
2025-03-05 13:36 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-03-05 13:42 ` Thomas Hellström
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox