[RFC] Make use of non-dynamic dmabuf in RDMA

Christian König christian.koenig at amd.com
Wed Aug 25 12:27:08 UTC 2021


Am 25.08.21 um 14:18 schrieb Jason Gunthorpe:
> On Wed, Aug 25, 2021 at 08:17:51AM +0200, Christian König wrote:
>
>> The only real option where you could do P2P with buffer pinning are those
>> 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.
>   
> Why? It is not the pin that is the problem, it was allocating GPU
> dedicated memory in the first place. pinning it just changes the
> sequence to free it. No different than CPU memory.

Pinning makes the memory un-evictable.

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.

>> Key question at least for me as GPU maintainer is if we are going to see
>> modern compute boards together with old non-ODP setups.
> You should stop thinking about it as 'old non-ODP setups'.  ODP is
> very much a special case that allows a narrow set of functionality to
> work in a narrow situation. It has a high performance penalty and
> narrow HW support.
>
> So yes, compute boards are routinely used in scenarios where ODP is
> not available, today and for the foreseeable future.

Yeah, that's the stuff I'm not sure about.

Christian.

>
> Jason



More information about the dri-devel mailing list