From: Yuval Shaia <yuval.shaia@oracle.com>
To: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v1 1/2] hw/pvrdma: make DSR mapping idempotent in load_dsr()
Date: Thu, 29 Aug 2019 15:57:21 +0300 [thread overview]
Message-ID: <20190829125720.GD9911@lap1> (raw)
In-Reply-To: <20190828142328.24561-2-skrtbhtngr@gmail.com>
On Wed, Aug 28, 2019 at 07:53:27PM +0530, Sukrit Bhatnagar wrote:
> Map to DSR only when there is no mapping done already i.e., when
> dev->dsr_info.dsr is NULL. This allows the rest of mappings and
> ring inits to be done by calling load_dsr() when DSR has already
> been mapped to, somewhere else.
>
> Move free_dsr() out of load_dsr() and call it before the latter
> as and when needed. This aids the case where load_dsr() is called
> having DSR mapping already done, but the rest of map and init
> operations are pending, and prevents an unmap of the DSR.
>
> Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> Cc: Yuval Shaia <yuval.shaia@oracle.com>
> Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
> ---
> hw/rdma/vmw/pvrdma_main.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/hw/rdma/vmw/pvrdma_main.c b/hw/rdma/vmw/pvrdma_main.c
> index adcf79cd63..6c90db96f9 100644
> --- a/hw/rdma/vmw/pvrdma_main.c
> +++ b/hw/rdma/vmw/pvrdma_main.c
> @@ -172,15 +172,15 @@ static int load_dsr(PVRDMADev *dev)
> DSRInfo *dsr_info;
> struct pvrdma_device_shared_region *dsr;
>
> - free_dsr(dev);
> -
> - /* Map to DSR */
> - dev->dsr_info.dsr = rdma_pci_dma_map(pci_dev, dev->dsr_info.dma,
> - sizeof(struct pvrdma_device_shared_region));
> if (!dev->dsr_info.dsr) {
> - rdma_error_report("Failed to map to DSR");
> - rc = -ENOMEM;
> - goto out;
> + /* Map to DSR */
> + dev->dsr_info.dsr = rdma_pci_dma_map(pci_dev, dev->dsr_info.dma,
> + sizeof(struct pvrdma_device_shared_region));
> + if (!dev->dsr_info.dsr) {
> + rdma_error_report("Failed to map to DSR");
> + rc = -ENOMEM;
> + goto out;
> + }
> }
>
> /* Shortcuts */
> @@ -402,6 +402,7 @@ static void pvrdma_regs_write(void *opaque, hwaddr addr, uint64_t val,
> case PVRDMA_REG_DSRHIGH:
> trace_pvrdma_regs_write(addr, val, "DSRHIGH", "");
> dev->dsr_info.dma |= val << 32;
> + free_dsr(dev);
> load_dsr(dev);
> init_dsr_dev_caps(dev);
> break;
LGTM, thanks.
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
> --
> 2.21.0
>
>
next prev parent reply other threads:[~2019-08-29 12:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-28 14:23 [Qemu-devel] [PATCH v1 0/2] Add live migration support in the PVRDMA device Sukrit Bhatnagar
2019-08-28 14:23 ` [Qemu-devel] [PATCH v1 1/2] hw/pvrdma: make DSR mapping idempotent in load_dsr() Sukrit Bhatnagar
2019-08-29 12:57 ` Yuval Shaia [this message]
2019-08-31 19:39 ` Marcel Apfelbaum
2019-08-28 14:23 ` [Qemu-devel] [PATCH v1 2/2] hw/pvrdma: add live migration support Sukrit Bhatnagar
2019-08-29 12:53 ` Yuval Shaia
2019-09-03 21:33 ` Sukrit Bhatnagar
2019-09-04 5:04 ` Yuval Shaia
2019-08-29 12:56 ` Yuval Shaia
2019-08-31 19:45 ` Marcel Apfelbaum
2019-09-01 9:35 ` Yuval Shaia
2019-09-03 11:05 ` Sukrit Bhatnagar
2019-08-29 12:00 ` [Qemu-devel] [PATCH v1 0/2] Add live migration support in the PVRDMA device Yuval Shaia
2019-08-31 19:37 ` Marcel Apfelbaum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190829125720.GD9911@lap1 \
--to=yuval.shaia@oracle.com \
--cc=qemu-devel@nongnu.org \
--cc=skrtbhtngr@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.