Linux kernel source tree
Go to file
Tomasz Lis a00e305fba drm/xe/vf: Stop waiting for ring space on VF post migration recovery
If wait for ring space started just before migration, it can delay
the recovery process, by waiting without bailout path for up to 2
seconds.

Two second wait for recovery is not acceptable, and if the ring was
completely filled even without the migration temporarily stopping
execution, then such a wait will result in up to a thousand new jobs
(assuming constant flow) being added while the wait is happening.

While this will not cause data corruption, it will lead to warning
messages getting logged due to reset being scheduled on a GT under
recovery. Also several seconds of unresponsiveness, as the backlog
of jobs gets progressively executed.

Add a bailout condition, to make sure the recovery starts without
much delay. The recovery is expected to finish in about 100 ms when
under moderate stress, so the condition verification period needs to be
below that - settling at 64 ms.

The theoretical max time which the recovery can take depends on how
many requests can be emitted to engine rings and be pending execution.
While stress testing, it was possible to reach 10k pending requests
on rings when a platform with two GTs was used. This resulted in max
recovery time of 5 seconds. But in real life situations, it is very
unlikely that the amount of pending requests will ever exceed 100,
and for that the recovery time will be around 50 ms - well within our
claimed limit of 100ms.

Fixes: a4dae94aad ("drm/xe/vf: Wakeup in GuC backend on VF post migration recovery")
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20251204200820.2206168-1-tomasz.lis@intel.com
2025-12-09 20:50:12 +01:00
arch Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
block
certs
crypto
Documentation Merge drm/drm-next into drm-xe-next 2025-12-03 11:34:12 +01:00
drivers drm/xe/vf: Stop waiting for ring space on VF post migration recovery 2025-12-09 20:50:12 +01:00
fs More NFS Client Bugfixes for Linux 6.18-rc 2025-11-14 13:44:23 -08:00
include drm/xe/oa/uapi: Add gt_id to struct drm_xe_oa_unit 2025-12-04 13:33:20 -08:00
init rust: enable slice_flatten feature and provide it through an extension trait 2025-11-14 20:25:57 +09:00
io_uring io_uring/rsrc: don't use blk_rq_nr_phys_segments() as number of bvecs 2025-11-12 08:25:33 -07:00
ipc
kernel Linux 6.18-rc6 2025-11-21 08:55:08 +10:00
lib lib/test_kho: check if KHO is enabled 2025-11-15 10:52:01 -08:00
LICENSES
mm 7 hotfixes. 5 are cc:stable, 4 are against mm/. 2025-11-16 13:31:14 -08:00
net bpf-fixes 2025-11-14 15:39:39 -08:00
rust Core Changes: 2025-11-28 06:49:44 +10:00
samples
scripts Rust fixes for v6.18 (2nd) 2025-11-14 15:36:15 -08:00
security
sound ALSA: usb-audio: Add native DSD quirks for PureAudio DAC series 2025-11-14 14:19:47 +01:00
tools perf tools fixes for v6.18: 2nd batch 2025-11-16 13:45:03 -08:00
usr
virt
.clang-format
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap Merge drm/drm-next into drm-xe-next 2025-12-03 11:34:12 +01:00
.pylintrc
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge drm/drm-next into drm-xe-next 2025-12-03 11:34:12 +01:00
Makefile Linux 6.18-rc6 2025-11-16 14:25:38 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.