All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael R. Hines" <mrhines@linux.vnet.ibm.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: aliguori@us.ibm.com, mst@redhat.com, qemu-devel@nongnu.org,
	owasserm@redhat.com, abali@us.ibm.com, mrhines@us.ibm.com,
	gokul@us.ibm.com
Subject: Re: [Qemu-devel] [RFC PATCH RDMA support v6: 4/7] Introduce two new capabilities
Date: Wed, 10 Apr 2013 09:10:46 -0400	[thread overview]
Message-ID: <516564D6.7040006@linux.vnet.ibm.com> (raw)
In-Reply-To: <51655DB4.3070600@redhat.com>

On 04/10/2013 08:40 AM, Paolo Bonzini wrote:
> Il 10/04/2013 14:34, Michael R. Hines ha scritto:
>> On 04/10/2013 03:50 AM, Paolo Bonzini wrote:
>>> Il 10/04/2013 06:29, mrhines@linux.vnet.ibm.com ha scritto:
>>>> From: "Michael R. Hines" <mrhines@us.ibm.com>
>>>>
>>>> RDMA performs very slowly with zero-page checking.
>>>> Without the ability to disable it, RDMA throughput and
>>>> latency promises and high performance links cannot be
>>>> fully realized.
>>>>
>>>> On the other hand, dynamic page registration support is also
>>>> included in the RDMA protocol. This second capability also
>>>> cannot be fully realized without the ability to enable zero
>>>> page scanning.
>>>>
>>>> So, we have two new capabilities which work together:
>>>>
>>>> 1. migrate_set_capability check_for_zero on|off (default on)
>>>> 2. migrate_set_capability chunk_register_destination on|off (default
>>>> off)
>>>>
>>>> Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>
>>> Michael, please listen to _all_ review comments.
>>>
>>> 1) I asked you to place check_for_zero in a separate patch.
>>>
>>> 2) Again, patch 3 cannot compile without this one.  The code should
>>> compile after each patch, with and without --enable-rdma.
>> My apologies - I misunderstood the request. I am indeed addressing every
>> comment.
>>
>> When you said separate, I thought you meant a different patch series
>> altpgether.
>>
>> This is my first time, so the meaning of "separate" was not clear =)
>>
>> And yes, patch 3 does in fact compile both with and without --enable-rdma.
> How does this:
>
> +#ifdef CONFIG_RDMA
> +const QEMURamControlOps qemu_rdma_write_control = {
> +    .before_ram_iterate = qemu_ram_registration_start,
> +    .after_ram_iterate = qemu_rdma_registration_stop,
> +    .register_ram_iterate = qemu_rdma_registration_handle,
> +    .save_page = qemu_rdma_save_page,
> +};
>
> compile (and link) successfully without a definition of
> qemu_ram_registration_start, which is in patch 5?  (Honest question).
>
> Similarly, patch 5 cannot link without qemu_ram_foreach_block.
>
> Anyway, patch 1 does not compile with --enable-rdma. :)

Yes, all 7 patches do compile in both cases - that code is 
conditionalized with CONFIG_RDMA.

What exactly is the problem there?

I toggled the enable/disable flags several times and recompiled just to 
be sure.

Also about qemu_ram_foreach_block: Why does this depend on patch 5, exactly?

qemu_ram_foreach_block is not conditionalized by anything.

>> You flip-flopped on me =)
>> You said conditionalize it, then make a separate patch, then delete it
>> altogether =)
> Make qemu_set_nonblock conditional, dropping the assert.
>
> Do not touch the implementation of qemu_set_nonblock.  (Yes, this was a
> mess).
>
> Paolo

Acknowledged.

  reply	other threads:[~2013-04-10 13:11 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-10  4:29 [Qemu-devel] [RFC PATCH RDMA support v6: 0/7] additional cleanup and consolidation mrhines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 1/7] ./configure and Makefile mrhines
2013-04-10  7:52   ` Paolo Bonzini
2013-04-10 12:37     ` Michael R. Hines
2013-04-10 12:42       ` Paolo Bonzini
2013-04-10 13:11         ` Michael R. Hines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 2/7] documentation (docs/rdma.txt) mrhines
2013-04-10  5:35   ` Michael S. Tsirkin
2013-04-10 12:19     ` Michael R. Hines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 3/7] Introduce QEMURamControlOps mrhines
2013-04-10  7:52   ` Paolo Bonzini
2013-04-10 12:38     ` Michael R. Hines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 4/7] Introduce two new capabilities mrhines
2013-04-10  7:50   ` Paolo Bonzini
2013-04-10 12:34     ` Michael R. Hines
2013-04-10 12:40       ` Paolo Bonzini
2013-04-10 13:10         ` Michael R. Hines [this message]
2013-04-10 13:13           ` Paolo Bonzini
2013-04-10 14:03             ` Michael R. Hines
2013-04-10 12:47   ` Orit Wasserman
2013-04-10 13:13     ` Michael R. Hines
2013-04-10 13:20       ` Orit Wasserman
2013-04-10 15:52         ` Michael R. Hines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 5/7] core RDMA logic mrhines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 6/7] send pc.ram over RDMA mrhines
2013-04-10  7:57   ` Paolo Bonzini
2013-04-10 12:38     ` Michael R. Hines
2013-04-10  4:29 ` [Qemu-devel] [RFC PATCH RDMA support v6: 7/7] introduce qemu_ram_foreach_block() mrhines
2013-04-10  7:47   ` Paolo Bonzini
2013-04-10 12:36     ` Michael R. Hines

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=516564D6.7040006@linux.vnet.ibm.com \
    --to=mrhines@linux.vnet.ibm.com \
    --cc=abali@us.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=gokul@us.ibm.com \
    --cc=mrhines@us.ibm.com \
    --cc=mst@redhat.com \
    --cc=owasserm@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /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.