RE: [RFC contig pages support 1/2] IB: Supports contiguous memory operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: owner-linux-mm@xxxxxxxxx [mailto:owner-linux-mm@xxxxxxxxx] On
> Behalf Of Jason Gunthorpe
> Sent: Tuesday, December 08, 2015 7:16 PM
> To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
> Cc: Yishai Hadas <yishaih@xxxxxxxxxxxx>; dledford@xxxxxxxxxx; linux-
> rdma@xxxxxxxxxxxxxxx; Or Gerlitz <ogerlitz@xxxxxxxxxxxx>; Tal Alon
> <talal@xxxxxxxxxxxx>; linux-mm@xxxxxxxxx
> Subject: Re: [RFC contig pages support 1/2] IB: Supports contiguous
> memory operations
> 
> On Tue, Dec 08, 2015 at 07:18:52AM -0800, Christoph Hellwig wrote:
> > There is absolutely nothing IB specific here.  If you want to support
> > anonymous mmaps to allocate large contiguous pages work with the MM
> > folks on providing that in a generic fashion.
> 
> Yes please.
> 

Note that other HW vendors are developing similar solutions, see for example: http://www.slideshare.net/linaroorg/hkg15106-replacing-cmem-meeting-tis-soc-shared-buffer-allocation-management-and-address-translation-requirements

> We already have huge page mmaps, how much win is had by going from
> huge page maps to this contiguous map?
> 

As far as gain is concerned, we are seeing gains in two cases here:
1. If the system has lots of non-fragmented, free memory, you can create large contig blocks that are above the CPU huge page size.
2. If the system memory is very fragmented, you cannot allocate huge pages. However, an API that allows you to create small (i.e. 64KB, 128KB, etc.) contig blocks reduces the load on the HW page tables and caches.

Thanks,
--Shachar

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]