From: "Michael R. Hines" <mrhines@linux.vnet.ibm.com>
To: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>,
qemu-devel@nongnu.org
Cc: amit.shah@redhat.com, arei.gonglei@huawei.com,
mrhines@us.ibm.com, quintela@redhat.com
Subject: Re: [Qemu-devel] [PATCH 02/10] qemu_ram_foreach_block: pass up error value, and down the ramblock name
Date: Tue, 19 May 2015 12:56:51 -0500 [thread overview]
Message-ID: <555B7963.5080106@linux.vnet.ibm.com> (raw)
In-Reply-To: <1429545445-28216-3-git-send-email-dgilbert@redhat.com>
On 04/20/2015 10:57 AM, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> check the return value of the function it calls and error if it's non-0
> Fixup qemu_rdma_init_one_block that is the only current caller,
> and rdma_add_block the only function it calls using it.
>
> Pass the name of the ramblock to the function; helps in debugging.
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
> ---
> exec.c | 10 ++++++++--
> include/exec/cpu-common.h | 4 ++--
> migration/rdma.c | 4 ++--
> 3 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index 874ecfc..7693794 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -3067,14 +3067,20 @@ bool cpu_physical_memory_is_io(hwaddr phys_addr)
> memory_region_is_romd(mr));
> }
>
> -void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
> +int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque)
> {
> RAMBlock *block;
> + int ret = 0;
>
> rcu_read_lock();
> QLIST_FOREACH_RCU(block, &ram_list.blocks, next) {
> - func(block->host, block->offset, block->used_length, opaque);
> + ret = func(block->idstr, block->host, block->offset,
> + block->used_length, opaque);
> + if (ret) {
> + break;
> + }
> }
> rcu_read_unlock();
> + return ret;
> }
> #endif
> diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
> index fcc3162..2abecac 100644
> --- a/include/exec/cpu-common.h
> +++ b/include/exec/cpu-common.h
> @@ -125,10 +125,10 @@ void cpu_flush_icache_range(hwaddr start, int len);
> extern struct MemoryRegion io_mem_rom;
> extern struct MemoryRegion io_mem_notdirty;
>
> -typedef void (RAMBlockIterFunc)(void *host_addr,
> +typedef int (RAMBlockIterFunc)(const char *block_name, void *host_addr,
> ram_addr_t offset, ram_addr_t length, void *opaque);
>
> -void qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
> +int qemu_ram_foreach_block(RAMBlockIterFunc func, void *opaque);
>
> #endif
>
> diff --git a/migration/rdma.c b/migration/rdma.c
> index 089adcf..38e5f44 100644
> --- a/migration/rdma.c
> +++ b/migration/rdma.c
> @@ -570,10 +570,10 @@ static int rdma_add_block(RDMAContext *rdma, void *host_addr,
> * in advanced before the migration starts. This tells us where the RAM blocks
> * are so that we can register them individually.
> */
> -static void qemu_rdma_init_one_block(void *host_addr,
> +static int qemu_rdma_init_one_block(const char *block_name, void *host_addr,
> ram_addr_t block_offset, ram_addr_t length, void *opaque)
> {
> - rdma_add_block(opaque, host_addr, block_offset, length);
> + return rdma_add_block(opaque, host_addr, block_offset, length);
> }
>
> /*
Shame on me for not checking the return value =)
Reviewed-by: Michael R. Hines <mrhines@us.ibm.com>
next prev parent reply other threads:[~2015-05-19 17:56 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-20 15:57 [Qemu-devel] [PATCH 00/10] Remove RDMA migration dependence on RAMBlock offset Dr. David Alan Gilbert (git)
2015-04-20 15:57 ` [Qemu-devel] [PATCH 01/10] Rename RDMA structures to make destination clear Dr. David Alan Gilbert (git)
2015-05-19 17:52 ` Michael R. Hines
2015-04-20 15:57 ` [Qemu-devel] [PATCH 02/10] qemu_ram_foreach_block: pass up error value, and down the ramblock name Dr. David Alan Gilbert (git)
2015-05-19 17:56 ` Michael R. Hines [this message]
2015-04-20 15:57 ` [Qemu-devel] [PATCH 03/10] Store block name in local blocks structure Dr. David Alan Gilbert (git)
2015-05-19 18:00 ` Michael R. Hines
2015-05-19 18:46 ` Dr. David Alan Gilbert
2015-04-20 15:57 ` [Qemu-devel] [PATCH 04/10] Translate offsets to destination address space Dr. David Alan Gilbert (git)
2015-05-19 18:28 ` Michael R. Hines
2015-05-19 18:44 ` Dr. David Alan Gilbert
2015-05-19 18:57 ` Michael R. Hines
2015-05-19 19:02 ` Dr. David Alan Gilbert
2015-04-20 15:57 ` [Qemu-devel] [PATCH 05/10] Rework ram_control_load_hook to hook during block load Dr. David Alan Gilbert (git)
2015-05-19 18:35 ` Michael R. Hines
2015-05-19 18:49 ` Dr. David Alan Gilbert
2015-04-20 15:57 ` [Qemu-devel] [PATCH 06/10] Remove unneeded memset Dr. David Alan Gilbert (git)
2015-05-19 18:35 ` Michael R. Hines
2015-04-20 15:57 ` [Qemu-devel] [PATCH 07/10] Simplify rdma_delete_block and remove it's dependence on the hash Dr. David Alan Gilbert (git)
2015-05-19 18:44 ` Michael R. Hines
2015-04-20 15:57 ` [Qemu-devel] [PATCH 08/10] Rework ram block hash Dr. David Alan Gilbert (git)
2015-05-19 18:49 ` Michael R. Hines
2015-05-19 18:55 ` Dr. David Alan Gilbert
2015-05-19 19:02 ` Michael R. Hines
2015-05-19 19:07 ` Dr. David Alan Gilbert
2015-04-20 15:57 ` [Qemu-devel] [PATCH 09/10] Sort destination RAMBlocks to be the same as the source Dr. David Alan Gilbert (git)
2015-05-19 18:51 ` Michael R. Hines
2015-06-01 11:53 ` Dr. David Alan Gilbert
2015-04-20 15:57 ` [Qemu-devel] [PATCH 10/10] Sanity check RDMA remote data Dr. David Alan Gilbert (git)
2015-05-19 18:52 ` Michael R. Hines
2015-05-18 22:01 ` [Qemu-devel] [PATCH 00/10] Remove RDMA migration dependence on RAMBlock offset 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=555B7963.5080106@linux.vnet.ibm.com \
--to=mrhines@linux.vnet.ibm.com \
--cc=amit.shah@redhat.com \
--cc=arei.gonglei@huawei.com \
--cc=dgilbert@redhat.com \
--cc=mrhines@us.ibm.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.