search for: gen_pool

Displaying 20 results from an estimated 54 matches for "gen_pool".

2019 May 27
3
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...alization cio will need to make sure the > memory used for communication with the hypervisor is DMA memory. > > Let us introduce one global cio, and some tools for pools seated "one global pool for cio"? > at individual devices. > > 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 at linux.ibm.com> > --- > arch/s390/Kconfig | 1 + > arch/s390/include/asm/ci...
2019 May 27
3
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...alization cio will need to make sure the > memory used for communication with the hypervisor is DMA memory. > > Let us introduce one global cio, and some tools for pools seated "one global pool for cio"? > at individual devices. > > 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 at linux.ibm.com> > --- > arch/s390/Kconfig | 1 + > arch/s390/include/asm/ci...
2019 May 23
0
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...alil Pasic <pasic at linux.ibm.com> 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 cio, and some tools for pools seated at individual devices. 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 at linux.ibm.com> --- arch/s390/Kconfig | 1 + arch/s390/include/asm/cio.h | 11 +++++ drivers/s390/cio/c...
2019 Apr 26
0
[PATCH 05/10] s390/cio: introduce DMA pools to cio
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 cio, and some tools for pools seated at individual devices. 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 at linux.ibm.com> --- arch/s390/Kconfig | 1 + arch/s390/include/asm/cio.h | 11 +++++ drivers/s390/cio/c...
2019 May 29
0
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
From: Halil Pasic <pasic at linux.ibm.com> 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 at linux.ibm.com> Reviewed-by: Sebastian Ott <sebott at linux.ibm.com> Signed-off-by: Michael Mueller <mimu at...
2019 Jun 06
0
[PATCH v4 2/8] s390/cio: introduce DMA pools to cio
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 at linux.ibm.com> Reviewed-by: Sebastian Ott <sebott at linux.ibm.com> --- arch/s390/Kconfig | 1 +...
2019 Jun 12
0
[PATCH v5 2/8] s390/cio: introduce DMA pools to cio
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 at linux.ibm.com> Reviewed-by: Sebastian Ott <sebott at linux.ibm.com> Reviewed-by: Cornelia Huck <cohuck at r...
2019 Jun 03
5
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...gt; From: Halil Pasic <pasic at linux.ibm.com> > > 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 at linux.ibm.com> > Reviewed-by: Sebastian Ott <sebott at linux.ibm.com> > Signed-off-b...
2019 Jun 03
5
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...gt; From: Halil Pasic <pasic at linux.ibm.com> > > 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 at linux.ibm.com> > Reviewed-by: Sebastian Ott <sebott at linux.ibm.com> > Signed-off-b...
2019 Jun 03
0
[PATCH v3 2/8] s390/cio: introduce DMA pools to cio
...;pasic at linux.ibm.com> >> >> 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 at linux.ibm.com> >> Reviewed-by: Sebastian Ott <sebott at linux.ibm.com&gt...
2019 May 27
0
[PATCH v2 2/8] s390/cio: introduce DMA pools to cio
...emory used for communication with the hypervisor is DMA memory. > > > > Let us introduce one global cio, and some tools for pools seated > > "one global pool for cio"? > Nod. > > at individual devices. > > > > 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 at linux.ibm.com> > > --- > > arch/s390/Kconfig | 1 +...
2019 May 10
3
[PATCH 05/10] s390/cio: introduce DMA pools to cio
On Fri, 10 May 2019 00:11:12 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On Thu, 9 May 2019 12:11:06 +0200 > Cornelia Huck <cohuck at redhat.com> wrote: > > > On Wed, 8 May 2019 23:22:10 +0200 > > Halil Pasic <pasic at linux.ibm.com> wrote: > > > > > On Wed, 8 May 2019 15:18:10 +0200 (CEST) > > > Sebastian Ott <sebott
2019 May 10
3
[PATCH 05/10] s390/cio: introduce DMA pools to cio
On Fri, 10 May 2019 00:11:12 +0200 Halil Pasic <pasic at linux.ibm.com> wrote: > On Thu, 9 May 2019 12:11:06 +0200 > Cornelia Huck <cohuck at redhat.com> wrote: > > > On Wed, 8 May 2019 23:22:10 +0200 > > Halil Pasic <pasic at linux.ibm.com> wrote: > > > > > On Wed, 8 May 2019 15:18:10 +0200 (CEST) > > > Sebastian Ott <sebott
2019 May 13
2
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...ree(iv->vector, iv_size(iv->bits)); > kfree(iv->avail); > kfree(iv); > } > diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c > index 7087cc3..88d9c92 100644 > --- a/drivers/s390/cio/css.c > +++ b/drivers/s390/cio/css.c > @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > static void __gp_dma_free_dma(struct gen_pool *pool, > struct gen_pool_chunk *chunk, void *data) > { > - dma_free_coherent((struct device *) data, PAGE_SIZE, > + > + size_t chunk_size = chunk->end_addr - chu...
2019 May 13
2
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...ree(iv->vector, iv_size(iv->bits)); > kfree(iv->avail); > kfree(iv); > } > diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c > index 7087cc3..88d9c92 100644 > --- a/drivers/s390/cio/css.c > +++ b/drivers/s390/cio/css.c > @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > static void __gp_dma_free_dma(struct gen_pool *pool, > struct gen_pool_chunk *chunk, void *data) > { > - dma_free_coherent((struct device *) data, PAGE_SIZE, > + > + size_t chunk_size = chunk->end_addr - chu...
2019 May 12
0
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...;vector, iv->vector_dma); + cio_dma_free(iv->vector, iv_size(iv->bits)); kfree(iv->avail); kfree(iv); } diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 7087cc3..88d9c92 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) static void __gp_dma_free_dma(struct gen_pool *pool, struct gen_pool_chunk *chunk, void *data) { - dma_free_coherent((struct device *) data, PAGE_SIZE, + + size_t chunk_size = chunk->end_addr - chunk->start_addr + 1; + + dma...
2019 May 08
4
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...dma_mask; > + sch->dev.dma_mask = &sch->dma_mask; > + sch->dev.coherent_dma_mask = sch->dma_mask; Could we do: sch->dev.dma_mask = &sch->dev.coherent_dma_mask; sch->dev.coherent_dma_mask = css_dev_dma_mask; ? > +#define POOL_INIT_PAGES 1 > +static struct gen_pool *cio_dma_pool; > +/* Currently cio supports only a single css */ > +#define CIO_DMA_GFP (GFP_KERNEL | __GFP_ZERO) __GFP_ZERO has no meaning with the dma api (since all implementations do an implicit zero initialization) but let's keep it for the sake of documentation. We need GFP_DMA h...
2019 May 08
4
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...dma_mask; > + sch->dev.dma_mask = &sch->dma_mask; > + sch->dev.coherent_dma_mask = sch->dma_mask; Could we do: sch->dev.dma_mask = &sch->dev.coherent_dma_mask; sch->dev.coherent_dma_mask = css_dev_dma_mask; ? > +#define POOL_INIT_PAGES 1 > +static struct gen_pool *cio_dma_pool; > +/* Currently cio supports only a single css */ > +#define CIO_DMA_GFP (GFP_KERNEL | __GFP_ZERO) __GFP_ZERO has no meaning with the dma api (since all implementations do an implicit zero initialization) but let's keep it for the sake of documentation. We need GFP_DMA h...
2019 May 23
18
[PATCH v2 0/8] s390: virtio: support protected virtualization
Enhanced virtualization protection technology may require the use of bounce buffers for I/O. While support for this was built into the virtio core, virtio-ccw wasn't changed accordingly. Some background on technology (not part of this series) and the terminology used. * Protected Virtualization (PV): Protected Virtualization guarantees, that non-shared memory of a guest that operates in PV
2019 May 15
0
[PATCH 05/10] s390/cio: introduce DMA pools to cio
...; > > kfree(iv->avail); > > kfree(iv); > > } > > diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c > > index 7087cc3..88d9c92 100644 > > --- a/drivers/s390/cio/css.c > > +++ b/drivers/s390/cio/css.c > > @@ -1063,7 +1063,10 @@ struct gen_pool *cio_gp_dma_create(struct device *dma_dev, int nr_pages) > > static void __gp_dma_free_dma(struct gen_pool *pool, > > struct gen_pool_chunk *chunk, void *data) > > { > > - dma_free_coherent((struct device *) data, PAGE_SIZE, > > + > > + size_t chunk_s...