Hi,
I keep finding issues in our implementation of "device exclusive
non-swap entries", and the way it messes with mapcounts is disgusting.
As a reminder, what we do here is to replace a PTE pointing to an
anonymous page by a "device exclusive non-swap entry".
As long as the original PTE is in place, the only CPU can access it, as
soon as the "device exclusive non-swap entry" is in place, only the
device can access it. Conversion back and forth is triggered by CPU /
device faults.
I have fixes/reworks/simplifications for most things, but as there is
only a "real" single user in-tree of make_device_exclusive():
drivers/gpu/drm/nouveau/nouveau_svm.c
to "support SVM atomics in Nouveau [1]"
naturally I am wondering: is this still a thing on actual hardware, or
is it already stale on recent hardware and not really required anymore?
[1] https://lore.kernel.org/linux-kernel//6621654.gmDyfcmpjF@nvdebian/T/
--
Cheers,
David / dhildenb