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

Alberto Campinho Faria afaria at redhat.com
Wed Sep 28 20:12:36 UTC 2022


On Wed, Sep 28, 2022 at 8:21 PM Stefan Hajnoczi <stefanha at redhat.com> wrote:
> On Tue, Sep 27, 2022 at 03:34:30PM -0400, Stefan Hajnoczi wrote:
> > +    ret = blkio_get_bool(s->blkio,
> > +                         "mem-regions-pinned",
> > +                         &s->mem_regions_pinned);
> > +    if (ret < 0) {
> > +        /* Be conservative (assume pinning) if the property is not supported */
> > +        s->mem_regions_pinned = true;
>
> This is too conservative :). It can be changed to:
>
>   s->mem_regions_pinned = s->needs_mem_regions;
>
> That way we avoid ram_block_discard_disable() for libblkio drivers (like
> io_uring in libblkio 1.0) that don't use memory regions and don't
> support the "mem-regions-pinned" property yet.

Even if a driver doesn't _need_ memory regions to be mapped before
use, it may still do something special with the ones that _are_
mapped, so we may have no choice but to set s->mem_regions_pinned =
true.

(Unless we are assuming that all future libblkio versions will either
not have such drivers, or will provide a "mem-regions-pinned"
property, but that feels brittle.)

Alberto



More information about the integration mailing list