Re: [PATCH rdma-next v5 0/4] Dynamicaly allocate SG table from the pages

From: Jason Gunthorpe
Date: Mon Oct 05 2020 - 19:57:02 EST


On Sun, Oct 04, 2020 at 06:43:36PM +0300, Leon Romanovsky wrote:
> This series extends __sg_alloc_table_from_pages to allow chaining of
> new pages to already initialized SG table.
>
> This allows for the drivers to utilize the optimization of merging contiguous
> pages without a need to pre allocate all the pages and hold them in
> a very large temporary buffer prior to the call to SG table initialization.
>
> The second patch changes the Infiniband driver to use the new API. It
> removes duplicate functionality from the code and benefits the
> optimization of allocating dynamic SG table from pages.
>
> In huge pages system of 2MB page size, without this change, the SG table
> would contain x512 SG entries.
> E.g. for 100GB memory registration:
>
> Number of entries Size
> Before 26214400 600.0MB
> After 51200 1.2MB
>
> Thanks
>
> Maor Gottlieb (2):
> lib/scatterlist: Add support in dynamic allocation of SG table from
> pages
> RDMA/umem: Move to allocate SG table from pages
>
> Tvrtko Ursulin (2):
> tools/testing/scatterlist: Rejuvenate bit-rotten test
> tools/testing/scatterlist: Show errors in human readable form

This looks OK, I'm going to send it into linux-next on the hmm tree
for awhile to see if anything gets broken. If there is more
remarks/tags/etc please continue

Thanks,
Jason