8613385cb2
Recently there was a fairly long thread about recoreable hardware page faults, how they can deadlock, and what to do about that. While the discussion is still fresh I figured good time to try and document the conclusions a bit. This documentation section explains what's the potential problem, and the remedies we've discussed, roughly ordered from best to worst. v2: Linus -> Linux typoe (Dave) v3: - Make it clear drivers only need to implement one option (Christian) - Make it clearer that implicit sync is out the window with exclusive fences (Christian) - Add the fairly theoretical option of segementing the memory (either statically or through dynamic checks at runtime for which piece of memory is managed how) and explain why it's not a great idea (Felix) References: https://lore.kernel.org/dri-devel/20210107030127.20393-1-Felix.Kuehling@amd.com/ Reviewed-by: Christian König <christian.koenig@amd.com> Acked-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> c: Dave Airlie <airlied@gmail.com> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Thomas Hellström <thomas.hellstrom@intel.com> Cc: "Christian König" <christian.koenig@amd.com> Cc: Jerome Glisse <jglisse@redhat.com> Cc: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Sumit Semwal <sumit.semwal@linaro.org> Cc: linux-media@vger.kernel.org Cc: linaro-mm-sig@lists.linaro.org Link: https://patchwork.freedesktop.org/patch/msgid/20210203152921.2429937-1-daniel.vetter@ffwll.ch |
||
---|---|---|
.. | ||
80211 | ||
acpi | ||
backlight | ||
dmaengine | ||
driver-model | ||
early-userspace | ||
firmware | ||
fpga | ||
gpio | ||
i3c | ||
iio | ||
md | ||
media | ||
mei | ||
memory-devices | ||
mmc | ||
mtd | ||
nfc | ||
nvdimm | ||
pci | ||
phy | ||
pldmfw | ||
pm | ||
rapidio | ||
serial | ||
soundwire | ||
thermal | ||
usb | ||
xilinx | ||
auxiliary_bus.rst | ||
basics.rst | ||
clk.rst | ||
component.rst | ||
connector.rst | ||
console.rst | ||
dcdbas.rst | ||
devfreq.rst | ||
device_link.rst | ||
device-io.rst | ||
dma-buf.rst | ||
edac.rst | ||
eisa.rst | ||
firewire.rst | ||
frame-buffer.rst | ||
generic-counter.rst | ||
hsi.rst | ||
i2c.rst | ||
index.rst | ||
infiniband.rst | ||
infrastructure.rst | ||
input.rst | ||
interconnect.rst | ||
io_ordering.rst | ||
io-mapping.rst | ||
ioctl.rst | ||
ipmb.rst | ||
ipmi.rst | ||
isa.rst | ||
isapnp.rst | ||
libata.rst | ||
lightnvm-pblk.rst | ||
mailbox.rst | ||
men-chameleon-bus.rst | ||
message-based.rst | ||
misc_devices.rst | ||
miscellaneous.rst | ||
mtdnand.rst | ||
ntb.rst | ||
nvmem.rst | ||
parport-lowlevel.rst | ||
pinctl.rst | ||
pps.rst | ||
pti_intel_mid.rst | ||
ptp.rst | ||
pwm.rst | ||
regulator.rst | ||
reset.rst | ||
rfkill.rst | ||
s390-drivers.rst | ||
scsi.rst | ||
slimbus.rst | ||
sm501.rst | ||
spi.rst | ||
switchtec.rst | ||
sync_file.rst | ||
target.rst | ||
uio-howto.rst | ||
vfio-mediated-device.rst | ||
vfio.rst | ||
vme.rst | ||
w1.rst | ||
xillybus.rst | ||
zorro.rst |