[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