Messages in this thread | | | Date | Mon, 16 Oct 2017 10:18:04 +0200 | From | Michal Hocko <> | Subject | Re: [RFC PATCH 3/3] mm/map_contig: Add mmap(MAP_CONTIG) support |
| |
On Sun 15-10-17 08:58:56, Pavel Machek wrote: > Hi! > > > Yes you wrote that already and my counter argument was that this generic > > posix interface shouldn't bypass virtual memory abstraction. > > > > > > > The contiguous allocations are particularly useful for the RDMA API which > > > > > allows registering user space memory with devices. > > > > > > > > then make those devices expose an implementation of an mmap which does > > > > that. You would get both a proper access control (via fd), accounting > > > > and others. > > > > > > There are numerous RDMA devices that would all need the mmap > > > implementation. And this covers only the needs of one subsystem. There are > > > other use cases. > > > > That doesn't prevent providing a library function which could be reused > > by all those drivers. Nothing really too much different from > > remap_pfn_range. > > So you'd suggest using ioctl() for allocating memory?
Why not using standard mmap on the device fd?
> That sounds quite ugly to me... mmap(MAP_CONTIG) is not nice, either, but better than > each driver inventing custom interface...
As already pointed out elsewhere, I do not really see a different to remap_pfn_range from the API point of view. A driver has some requirements to the memory so those can be reflected in the mmap implementation for the driver. I really do not see how that would be a general interface without a lot of headache in future. Contiguous memory is a hard requirement to guarantee or give out without risks.
-- Michal Hocko SUSE Labs
| |