[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimizati
From: |
Alberto Campinho Faria |
Subject: |
Re: [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization |
Date: |
Wed, 28 Sep 2022 21:12:36 +0100 |
On Wed, Sep 28, 2022 at 8:21 PM Stefan Hajnoczi <stefanha@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
- [PATCH v5 03/12] numa: call ->ram_block_removed() in ram_block_notifer_remove(), (continued)
- [PATCH v5 03/12] numa: call ->ram_block_removed() in ram_block_notifer_remove(), Stefan Hajnoczi, 2022/09/27
- [PATCH v5 05/12] block: use BdrvRequestFlags type for supported flag fields, Stefan Hajnoczi, 2022/09/27
- [PATCH v5 04/12] block: pass size to bdrv_unregister_buf(), Stefan Hajnoczi, 2022/09/27
- [PATCH v5 06/12] block: add BDRV_REQ_REGISTERED_BUF request flag, Stefan Hajnoczi, 2022/09/27
- [PATCH v5 07/12] block: return errors from bdrv_register_buf(), Stefan Hajnoczi, 2022/09/27
- [PATCH v5 08/12] block: add BlockRAMRegistrar, Stefan Hajnoczi, 2022/09/27
- [PATCH v5 09/12] exec/cpu-common: add qemu_ram_get_fd(), Stefan Hajnoczi, 2022/09/27
- [PATCH v5 10/12] stubs: add qemu_ram_block_from_host() and qemu_ram_get_fd(), Stefan Hajnoczi, 2022/09/27
- [PATCH v5 11/12] blkio: implement BDRV_REQ_REGISTERED_BUF optimization, Stefan Hajnoczi, 2022/09/27
- [PATCH v5 12/12] virtio-blk: use BDRV_REQ_REGISTERED_BUF optimization hint, Stefan Hajnoczi, 2022/09/27