Re: [PATCH v4 2/8] s390/cio: introduce DMA pools to cio

Cornelia Huck
2019-06-11T09:56:11Z

On Thu, 6 Jun 2019 13:51:21 +0200
Halil Pasic <pasic@linux.ibm.com> wrote:

> To support protected virtualization cio will need to make sure the
> memory used for communication with the hypervisor is DMA memory.
>
> Let us introduce one global pool for cio.
>
> Our DMA pools are implemented as a gen_pool backed with DMA pages. The
> idea is to avoid each allocation effectively wasting a page, as we
> typically allocate much less than PAGE_SIZE.
>
> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> Reviewed-by: Sebastian Ott <sebott@linux.ibm.com>
> ---
> arch/s390/Kconfig | 1 +
> arch/s390/include/asm/cio.h | 11 +++
> drivers/s390/cio/css.c | 131 ++++++++++++++++++++++++++++++++++--
> 3 files changed, 139 insertions(+), 4 deletions(-)

(...)

> +void cio_gp_dma_destroy(struct gen_pool *gp_dma, struct device *dma_dev)
> +{
> + if (!gp_dma)
> + return;
> + /* this is qite ugly but no better idea */

typo: s/qite/quite/

> + gen_pool_for_each_chunk(gp_dma, __gp_dma_free_dma, dma_dev);
> + gen_pool_destroy(gp_dma);
> +}

(...)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>