[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 10/15] block/nvme: Replace qemu_try_blockalign(bs) by qemu
From: |
Stefano Garzarella |
Subject: |
Re: [PATCH v5 10/15] block/nvme: Replace qemu_try_blockalign(bs) by qemu_try_memalign(pg_sz) |
Date: |
Fri, 21 Aug 2020 12:08:53 +0200 |
On Thu, Aug 20, 2020 at 06:58:56PM +0200, Philippe Mathieu-Daudé wrote:
> qemu_try_blockalign() is a generic API that call back to the
> block driver to return its page alignment. As we call from
> within the very same driver, we already know to page alignment
> stored in our state. Remove indirections and use the value from
> BDRVNVMeState.
> This change is required to later remove the BlockDriverState
> argument, to make nvme_init_queue() per hardware, and not per
> block driver.
>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> block/nvme.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
>
> diff --git a/block/nvme.c b/block/nvme.c
> index ac6bb52043d..f180078e781 100644
> --- a/block/nvme.c
> +++ b/block/nvme.c
> @@ -174,7 +174,7 @@ static void nvme_init_queue(BlockDriverState *bs,
> NVMeQueue *q,
>
> bytes = ROUND_UP(nentries * entry_bytes, s->page_size);
> q->head = q->tail = 0;
> - q->queue = qemu_try_blockalign(bs, bytes);
> + q->queue = qemu_try_memalign(s->page_size, bytes);
> if (!q->queue) {
> error_setg(errp, "Cannot allocate queue");
> return;
> @@ -223,7 +223,7 @@ static NVMeQueuePair
> *nvme_create_queue_pair(BlockDriverState *bs,
> if (!q) {
> return NULL;
> }
> - q->prp_list_pages = qemu_try_blockalign(bs,
> + q->prp_list_pages = qemu_try_memalign(s->page_size,
> s->page_size * NVME_QUEUE_SIZE);
> if (!q->prp_list_pages) {
> goto fail;
> @@ -522,7 +522,7 @@ static void nvme_identify(BlockDriverState *bs, int
> namespace, Error **errp)
> .cdw10 = cpu_to_le32(0x1),
> };
>
> - id = qemu_try_blockalign(bs, sizeof(*id));
> + id = qemu_try_memalign(s->page_size, sizeof(*id));
> if (!id) {
> error_setg(errp, "Cannot allocate buffer for identify response");
> goto out;
> @@ -1141,7 +1141,7 @@ static int nvme_co_prw(BlockDriverState *bs, uint64_t
> offset, uint64_t bytes,
> return nvme_co_prw_aligned(bs, offset, bytes, qiov, is_write, flags);
> }
> trace_nvme_prw_buffered(s, offset, bytes, qiov->niov, is_write);
> - buf = qemu_try_blockalign(bs, bytes);
> + buf = qemu_try_memalign(s->page_size, bytes);
>
> if (!buf) {
> return -ENOMEM;
> @@ -1285,7 +1285,7 @@ static int coroutine_fn
> nvme_co_pdiscard(BlockDriverState *bs,
>
> assert(s->nr_queues > 1);
>
> - buf = qemu_try_blockalign(bs, s->page_size);
> + buf = qemu_try_memalign(s->page_size, s->page_size);
> if (!buf) {
> return -ENOMEM;
> }
> --
> 2.26.2
>
>
- Re: [PATCH v5 06/15] block/nvme: Use common error path in nvme_add_io_queue(), (continued)
- [PATCH v5 09/15] block/nvme: Replace qemu_try_blockalign0 by qemu_try_blockalign/memset, Philippe Mathieu-Daudé, 2020/08/20
- [PATCH v5 10/15] block/nvme: Replace qemu_try_blockalign(bs) by qemu_try_memalign(pg_sz), Philippe Mathieu-Daudé, 2020/08/20
- Re: [PATCH v5 10/15] block/nvme: Replace qemu_try_blockalign(bs) by qemu_try_memalign(pg_sz),
Stefano Garzarella <=
- [PATCH v5 11/15] block/nvme: Simplify nvme_init_queue() arguments, Philippe Mathieu-Daudé, 2020/08/20
- [PATCH v5 12/15] block/nvme: Replace BDRV_POLL_WHILE by AIO_WAIT_WHILE, Philippe Mathieu-Daudé, 2020/08/20
[PATCH v5 13/15] block/nvme: Simplify nvme_create_queue_pair() arguments, Philippe Mathieu-Daudé, 2020/08/20
[PATCH v5 14/15] block/nvme: Extract nvme_poll_queue(), Philippe Mathieu-Daudé, 2020/08/20