[rds-devel] [PATCH net-next] net/rds: Use DMA memory pool allocation for rds_header

David Miller davem at davemloft.net
Tue Oct 1 10:16:15 PDT 2019


From: Ka-Cheong Poon <ka-cheong.poon at oracle.com>
Date: Mon, 30 Sep 2019 02:08:00 -0700

> Currently, RDS calls ib_dma_alloc_coherent() to allocate a large piece
> of contiguous DMA coherent memory to store struct rds_header for
> sending/receiving packets.  The memory allocated is then partitioned
> into struct rds_header.  This is not necessary and can be costly at
> times when memory is fragmented.  Instead, RDS should use the DMA
> memory pool interface to handle this.
> 
> Suggested-by: Håkon Bugge <haakon.bugge at oracle.com>
> Signed-off-by: Ka-Cheong Poon <ka-cheong.poon at oracle.com>

This is trading a one-time overhead for extra levels of dereferencing
on every single descriptor access in the fast paths.

I do not agree with this tradeoff, please implement this more
reasonably.



More information about the rds-devel mailing list