On Wed, Aug 25, 2021 at 02:27:08PM +0200, Christian König wrote:
Am 25.08.21 um 14:18 schrieb Jason Gunthorpe:It is not really different - you have the same failure mode once the
On Wed, Aug 25, 2021 at 08:17:51AM +0200, Christian König wrote:Pinning makes the memory un-evictable.
The only real option where you could do P2P with buffer pinning are thoseWhy? It is not the pin that is the problem, it was allocating GPU
compute boards where we know that everything is always accessible to
everybody and we will never need to migrate anything. But even then you want
some mechanism like cgroups to take care of limiting this. Otherwise any
runaway process can bring down your whole system.
dedicated memory in the first place. pinning it just changes the
sequence to free it. No different than CPU memory.
In other words as long as we don't pin anything we can support as many
processes as we want until we run out of swap space. Swapping sucks badly
because your applications become pretty much unuseable, but you can easily
recover from it by killing some process.
With pinning on the other hand somebody sooner or later receives an -ENOMEM
or -ENOSPC and there is no guarantee that this goes to the right process.
system runs out of swap.
This is really the kernel side trying to push a policy to the user
side that the user side doesn't want..
Dedicated systems are a significant use case here and should be
supported, even if the same solution wouldn't be applicable to someone
running a desktop.