No description
Find a file
Danilo Krummrich 94bc2249f0 drm/gpuvm: add an abstraction for a VM / BO combination
Add an abstraction layer between the drm_gpuva mappings of a particular
drm_gem_object and this GEM object itself. The abstraction represents a
combination of a drm_gem_object and drm_gpuvm. The drm_gem_object holds
a list of drm_gpuvm_bo structures (the structure representing this
abstraction), while each drm_gpuvm_bo contains list of mappings of this
GEM object.

This has multiple advantages:

1) We can use the drm_gpuvm_bo structure to attach it to various lists
   of the drm_gpuvm. This is useful for tracking external and evicted
   objects per VM, which is introduced in subsequent patches.

2) Finding mappings of a certain drm_gem_object mapped in a certain
   drm_gpuvm becomes much cheaper.

3) Drivers can derive and extend the structure to easily represent
   driver specific states of a BO for a certain GPUVM.

The idea of this abstraction was taken from amdgpu, hence the credit for
this idea goes to the developers of amdgpu.

Cc: Christian König <christian.koenig@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231108001259.15123-11-dakr@redhat.com
2023-11-13 18:19:20 +01:00
arch arm64: defconfig: Enable ILITEK_ILI9882T panel 2023-10-19 14:46:06 -07:00
block
certs
crypto
Documentation drm/sched: implement dynamic job-flow control 2023-11-10 02:54:29 +01:00
drivers drm/gpuvm: add an abstraction for a VM / BO combination 2023-11-13 18:19:20 +01:00
fs stat: remove no-longer-used helper macros 2023-09-17 10:46:12 -07:00
include drm/gpuvm: add an abstraction for a VM / BO combination 2023-11-13 18:19:20 +01:00
init
io_uring
ipc
kernel Fix a performance regression on large SMT systems, an Intel SMT4 2023-09-17 11:10:23 -07:00
lib
LICENSES
mm vm: fix move_vma() memory accounting being off 2023-09-16 15:23:31 -07:00
net
rust
samples
scripts Kbuild fixes for v6.6 2023-09-16 15:27:00 -07:00
security
sound drm/edid: include drm_eld.h only where required 2023-11-09 16:47:31 +02:00
tools Fix a cold functions related false-positive objtool warning 2023-09-17 10:59:37 -07:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: Add Maira to V3D maintainers 2023-11-09 11:23:36 -03:00
Makefile Linux 6.6-rc2 2023-09-17 14:40:24 -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.