Main-line Linux kernel tree http://www.kernel.org
Go to file
Ville Syrjälä e339c6d628 drm/i915: Retry gtt fault when out of fence registers
If we can't find a free fence register to handle a fault in the GMADR
range just return VM_FAULT_NOPAGE without populating the PTE so that
userspace will retry the access and trigger another fault. Eventually
we should find a free fence and the fault will get properly handled.

A further improvement idea might be to reserve a fence (or one per CPU?)
for the express purpose of handling faults without having to retry. But
that would require some additional work.

Looks like this may have gotten broken originally by
commit 39965b3766 ("drm/i915: don't trash the gtt when running out of fences")
as that changed the errno to -EDEADLK which wasn't handle by the gtt
fault code either. But later in commit 2feeb52859 ("drm/i915/gt: Fix
-EDEADLK handling regression") I changed it again to -ENOBUFS as -EDEADLK
was now getting used for the ww mutex dance. So this fix only makes
sense after that last commit.

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/9479
Fixes: 2feeb52859 ("drm/i915/gt: Fix -EDEADLK handling regression")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231012132801.16292-1-ville.syrjala@linux.intel.com
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
(cherry picked from commit 7f403caabe)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2023-10-17 22:08:54 -04:00
arch Revert "x86/smp: Put CPUs into INIT on shutdown if possible" 2023-10-15 12:02:02 -07:00
block
certs
crypto
Documentation Char/Misc driver fixes for 6.6-rc6 2023-10-15 09:07:27 -07:00
drivers drm/i915: Retry gtt fault when out of fence registers 2023-10-17 22:08:54 -04:00
fs overlayfs fixes for 6.6-rc6 2023-10-15 08:55:51 -07:00
include Char/Misc driver fixes for 6.6-rc6 2023-10-15 09:07:27 -07:00
init
io_uring
ipc
kernel Two EEVDF fixes. 2023-10-14 15:21:34 -07:00
lib
LICENSES
mm
net Fixes for an overreaching WARN_ON, two error paths and a switch to 2023-10-13 11:27:31 -07:00
rust
samples
scripts
security
sound TTY/Serial driver fixes for 6.6-rc6 2023-10-15 09:11:39 -07:00
tools
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Char/Misc driver fixes for 6.6-rc6 2023-10-15 09:07:27 -07:00
Makefile Linux 6.6-rc6 2023-10-15 13:34:39 -07: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 Restructured Text 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.