On 05/12/16 12:14 PM, Jason Gunthorpe wrote:
But CMB sounds much more like the GPU case where there is a
specialized allocator handing out the BAR to consumers, so I'm not
sure a general purpose chardev makes a lot of sense?
I don't think it will ever need to be as complicated as the GPU case.
There will probably only ever be a relatively small amount of memory
behind the CMB and really the only users are those doing P2P work. Thus
the specialized allocator could be pretty simple and I expect it would
be fine to just return -ENOMEM if there is not enough memory.
Also, if it was implemented this way, if there was a need to make the
allocator more complicated it could easily be added later as the
userspace interface is just mmap to obtain a buffer.