All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Lidong Chen <jemmy858585@gmail.com>,
	quintela@redhat.com, qemu-devel@nongnu.org, adido@mellanox.com,
	licq@mellanox.com, Lidong Chen <lidongchen@tencent.com>
Subject: Re: [Qemu-devel] [PATCH 2/5] migration: add the interface to set get_return_path
Date: Thu, 12 Apr 2018 09:28:22 +0100	[thread overview]
Message-ID: <20180412082822.GC31024@redhat.com> (raw)
In-Reply-To: <20180411171818.GJ2667@work-vm>

On Wed, Apr 11, 2018 at 06:18:18PM +0100, Dr. David Alan Gilbert wrote:
> * Lidong Chen (jemmy858585@gmail.com) wrote:
> > The default get_return_path function of iochannel does not work for
> > RDMA live migration. So add the interface to set get_return_path.
> > 
> > Signed-off-by: Lidong Chen <lidongchen@tencent.com>
> 
> Lets see how Dan wants this done, he knows the channel/file stuff;
> to me this feels like it should be adding a member to QIOChannelClass
> that gets used by QEMUFile's get_return_path.

No that doesn't really fit the model. IMHO the entire concept of a separate
return path object is really wrong. The QIOChannel implementations are
(almost) all capable of bi-directional I/O, which is why the the get_retun_path
function just creates a second QEMUFile pointing to the same QIOChannel
object we already had. Migration only needs the second QEMUFile, because that
struct re-uses the same struct fields for tracking different bits of info
depending on which direction you're doing I/O in. A real fix would be to
stop overloading the same fields for multiple purposes in the QEMUFile, so
that we only needed a single QEMUFile instance.

Ignoring that though, the particular problem we're facing here is that the
QIOChannelRDMA impl that is used is not written in a way that allows
bi-directional I/O, despite the RDMA code it uses being capable of it.

So rather than changing this get_return_path code, IMHO, the right fix to
simply improve the QIOChannelRDMA impl so that it fully supports bi-directional
I/O like all the other channels do.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

  reply	other threads:[~2018-04-12  8:28 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-07  8:26 [Qemu-devel] [PATCH 0/5] Enable postcopy RDMA live migration Lidong Chen
2018-04-07  8:26 ` [Qemu-devel] [PATCH 1/5] migration: create a dedicated connection for rdma return path Lidong Chen
2018-04-11 16:57   ` Dr. David Alan Gilbert
2018-04-07  8:26 ` [Qemu-devel] [PATCH 2/5] migration: add the interface to set get_return_path Lidong Chen
2018-04-11 17:18   ` Dr. David Alan Gilbert
2018-04-12  8:28     ` Daniel P. Berrangé [this message]
2018-04-12 10:08       ` 858585 jemmy
2018-04-07  8:26 ` [Qemu-devel] [PATCH 3/5] migration: implement the get_return_path for RDMA iochannel Lidong Chen
2018-04-07  8:26 ` [Qemu-devel] [PATCH 4/5] migration: fix qemu carsh when RDMA live migration Lidong Chen
2018-04-11 16:43   ` Dr. David Alan Gilbert
2018-04-12  9:40     ` 858585 jemmy
2018-04-12 18:58       ` Dr. David Alan Gilbert
2018-04-07  8:26 ` [Qemu-devel] [PATCH 5/5] migration: disable RDMA WRITR after postcopy started Lidong Chen
2018-04-11 15:56   ` Dr. David Alan Gilbert
2018-04-12  6:50     ` 858585 jemmy
2018-04-12 18:55       ` Dr. David Alan Gilbert
2018-04-09  1:05 ` [Qemu-devel] [PATCH 0/5] Enable postcopy RDMA live migration 858585 jemmy
2018-04-11 12:29 ` Dr. David Alan Gilbert
2018-04-12  3:57   ` 858585 jemmy
2018-04-24 13:36     ` Dr. David Alan Gilbert

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=20180412082822.GC31024@redhat.com \
    --to=berrange@redhat.com \
    --cc=adido@mellanox.com \
    --cc=dgilbert@redhat.com \
    --cc=jemmy858585@gmail.com \
    --cc=licq@mellanox.com \
    --cc=lidongchen@tencent.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.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.