Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-10-06 Thread Alberto Faria
On Thu, Oct 6, 2022 at 7:46 PM Stefan Hajnoczi wrote: > > Regardless, I'd say we want to map memory regions even if we don't > > strictly need to (in cases where we can do so at no additional cost), > > since that may improve performance for some drivers. > > The downside is that when

Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-10-06 Thread Stefan Hajnoczi
On Thu, Oct 06, 2022 at 07:09:36PM +0100, Alberto Faria wrote: > On Thu, Oct 6, 2022 at 7:00 PM Stefan Hajnoczi wrote: > > s->needs_mem_regions determines if we'll use libblkio memory regions at > > all. When it's false we skip blkio_map_mem_region() and therefore it's > > safe to set

Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-10-06 Thread Alberto Faria
On Thu, Oct 6, 2022 at 7:00 PM Stefan Hajnoczi wrote: > s->needs_mem_regions determines if we'll use libblkio memory regions at > all. When it's false we skip blkio_map_mem_region() and therefore it's > safe to set s->mem_regions_pinned to false. blkio_register_buf() calls

Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-10-06 Thread Stefan Hajnoczi
On Wed, Sep 28, 2022 at 09:12:36PM +0100, Alberto Campinho Faria wrote: > On Wed, Sep 28, 2022 at 8:21 PM Stefan Hajnoczi wrote: > > On Tue, Sep 27, 2022 at 03:34:30PM -0400, Stefan Hajnoczi wrote: > > > +ret = blkio_get_bool(s->blkio, > > > + "mem-regions-pinned", > >

Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-09-28 Thread Alberto Campinho Faria
On Wed, Sep 28, 2022 at 8:21 PM Stefan Hajnoczi wrote: > On Tue, Sep 27, 2022 at 03:34:30PM -0400, Stefan Hajnoczi wrote: > > +ret = blkio_get_bool(s->blkio, > > + "mem-regions-pinned", > > + >mem_regions_pinned); > > +if (ret < 0) { > > +

Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-09-28 Thread Stefan Hajnoczi
On Tue, Sep 27, 2022 at 03:34:30PM -0400, Stefan Hajnoczi wrote: > +ret = blkio_get_bool(s->blkio, > + "mem-regions-pinned", > + >mem_regions_pinned); > +if (ret < 0) { > +/* Be conservative (assume pinning) if the property is not

[PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization

2022-09-27 Thread Stefan Hajnoczi
Avoid bounce buffers when QEMUIOVector elements are within previously registered bdrv_register_buf() buffers. The idea is that emulated storage controllers will register guest RAM using bdrv_register_buf() and set the BDRV_REQ_REGISTERED_BUF on I/O requests. Therefore no blkio_map_mem_region()