On Thu, 6 Jun 2019 13:51:21 +0200 Halil Pasic <pasic@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx> > Reviewed-by: Sebastian Ott <sebott@xxxxxxxxxxxxx> > --- > 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@xxxxxxxxxx>