All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
@ 2013-09-04  2:32 Isaku Yamahata
  2013-09-04  2:32 ` [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys() Isaku Yamahata
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Isaku Yamahata @ 2013-09-04  2:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: owasserm, pbonzini, mrhines, quintela

Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
---
 migration-rdma.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/migration-rdma.c b/migration-rdma.c
index e71c10a..db5a908 100644
--- a/migration-rdma.c
+++ b/migration-rdma.c
@@ -511,19 +511,21 @@ static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head,
                                    int *resp_idx,
                                    int (*callback)(RDMAContext *rdma));
 
-static inline uint64_t ram_chunk_index(uint8_t *start, uint8_t *host)
+static inline uint64_t ram_chunk_index(const uint8_t *start,
+                                       const uint8_t *host)
 {
     return ((uintptr_t) host - (uintptr_t) start) >> RDMA_REG_CHUNK_SHIFT;
 }
 
-static inline uint8_t *ram_chunk_start(RDMALocalBlock *rdma_ram_block,
+static inline uint8_t *ram_chunk_start(const RDMALocalBlock *rdma_ram_block,
                                        uint64_t i)
 {
     return (uint8_t *) (((uintptr_t) rdma_ram_block->local_host_addr)
                                     + (i << RDMA_REG_CHUNK_SHIFT));
 }
 
-static inline uint8_t *ram_chunk_end(RDMALocalBlock *rdma_ram_block, uint64_t i)
+static inline uint8_t *ram_chunk_end(const RDMALocalBlock *rdma_ram_block,
+                                     uint64_t i)
 {
     uint8_t *result = ram_chunk_start(rdma_ram_block, i) +
                                          (1UL << RDMA_REG_CHUNK_SHIFT);
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys()
  2013-09-04  2:32 [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Isaku Yamahata
@ 2013-09-04  2:32 ` Isaku Yamahata
  2013-09-18 13:00   ` Juan Quintela
  2013-09-18 15:01   ` Michael R. Hines
  2013-09-18 12:55 ` [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Juan Quintela
  2013-09-18 14:28 ` Michael R. Hines
  2 siblings, 2 replies; 14+ messages in thread
From: Isaku Yamahata @ 2013-09-04  2:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: owasserm, pbonzini, mrhines, quintela

Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
---
 migration-rdma.c |   23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git a/migration-rdma.c b/migration-rdma.c
index db5a908..941c07e 100644
--- a/migration-rdma.c
+++ b/migration-rdma.c
@@ -1128,8 +1128,7 @@ static int qemu_rdma_search_ram_block(RDMAContext *rdma,
  */
 static int qemu_rdma_register_and_get_keys(RDMAContext *rdma,
         RDMALocalBlock *block, uint8_t *host_addr,
-        uint32_t *lkey, uint32_t *rkey, int chunk,
-        uint8_t *chunk_start, uint8_t *chunk_end)
+        uint32_t *lkey, uint32_t *rkey, int chunk)
 {
     if (block->mr) {
         if (lkey) {
@@ -1155,6 +1154,8 @@ static int qemu_rdma_register_and_get_keys(RDMAContext *rdma,
      * If 'lkey', then we're the source VM, so grant access only to ourselves.
      */
     if (!block->pmr[chunk]) {
+        uint8_t *chunk_start = ram_chunk_start(block, chunk);
+        uint8_t *chunk_end = ram_chunk_end(block, chunk);
         uint64_t len = chunk_end - chunk_start;
 
         DDPRINTF("Registering %" PRIu64 " bytes @ %p\n",
@@ -1849,7 +1850,6 @@ static int qemu_rdma_write_one(QEMUFile *f, RDMAContext *rdma,
     struct ibv_send_wr *bad_wr;
     int reg_result_idx, ret, count = 0;
     uint64_t chunk, chunks;
-    uint8_t *chunk_start, *chunk_end;
     RDMALocalBlock *block = &(rdma->local_ram_blocks.block[current_index]);
     RDMARegister reg;
     RDMARegisterResult *reg_result;
@@ -1865,7 +1865,6 @@ retry:
     sge.length = length;
 
     chunk = ram_chunk_index(block->local_host_addr, (uint8_t *) sge.addr);
-    chunk_start = ram_chunk_start(block, chunk);
 
     if (block->is_ram_block) {
         chunks = length / (1UL << RDMA_REG_CHUNK_SHIFT);
@@ -1884,8 +1883,6 @@ retry:
     DDPRINTF("Writing %" PRIu64 " chunks, (%" PRIu64 " MB)\n",
         chunks + 1, (chunks + 1) * (1UL << RDMA_REG_CHUNK_SHIFT) / 1024 / 1024);
 
-    chunk_end = ram_chunk_end(block, chunk + chunks);
-
     if (!rdma->pin_all) {
 #ifdef RDMA_UNREGISTRATION_EXAMPLE
         qemu_rdma_unregister_waiting(rdma);
@@ -1974,8 +1971,7 @@ retry:
             /* try to overlap this single registration with the one we sent. */
             if (qemu_rdma_register_and_get_keys(rdma, block,
                                                 (uint8_t *) sge.addr,
-                                                &sge.lkey, NULL, chunk,
-                                                chunk_start, chunk_end)) {
+                                                &sge.lkey, NULL, chunk)) {
                 fprintf(stderr, "cannot get lkey!\n");
                 return -EINVAL;
             }
@@ -1995,8 +1991,7 @@ retry:
             /* already registered before */
             if (qemu_rdma_register_and_get_keys(rdma, block,
                                                 (uint8_t *)sge.addr,
-                                                &sge.lkey, NULL, chunk,
-                                                chunk_start, chunk_end)) {
+                                                &sge.lkey, NULL, chunk)) {
                 fprintf(stderr, "cannot get lkey!\n");
                 return -EINVAL;
             }
@@ -2007,8 +2002,7 @@ retry:
         send_wr.wr.rdma.rkey = block->remote_rkey;
 
         if (qemu_rdma_register_and_get_keys(rdma, block, (uint8_t *)sge.addr,
-                                                     &sge.lkey, NULL, chunk,
-                                                     chunk_start, chunk_end)) {
+                                                     &sge.lkey, NULL, chunk)) {
             fprintf(stderr, "cannot get lkey!\n");
             return -EINVAL;
         }
@@ -3054,7 +3048,6 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque,
 
             for (count = 0; count < head.repeat; count++) {
                 uint64_t chunk;
-                uint8_t *chunk_start, *chunk_end;
 
                 reg = &registers[count];
                 network_to_register(reg);
@@ -3076,11 +3069,9 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque,
                     host_addr = block->local_host_addr +
                         (reg->key.chunk * (1UL << RDMA_REG_CHUNK_SHIFT));
                 }
-                chunk_start = ram_chunk_start(block, chunk);
-                chunk_end = ram_chunk_end(block, chunk + reg->chunks);
                 if (qemu_rdma_register_and_get_keys(rdma, block,
                             (uint8_t *)host_addr, NULL, &reg_result->rkey,
-                            chunk, chunk_start, chunk_end)) {
+                            chunk)) {
                     fprintf(stderr, "cannot get rkey!\n");
                     ret = -EINVAL;
                     goto out;
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-04  2:32 [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Isaku Yamahata
  2013-09-04  2:32 ` [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys() Isaku Yamahata
@ 2013-09-18 12:55 ` Juan Quintela
  2013-09-18 14:28 ` Michael R. Hines
  2 siblings, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2013-09-18 12:55 UTC (permalink / raw)
  To: Isaku Yamahata; +Cc: owasserm, mrhines, qemu-devel, pbonzini

Isaku Yamahata <yamahata@private.email.ne.jp> wrote:
> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>

Reviewed-by: Juan Quintela <quintela@redhat.com>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys()
  2013-09-04  2:32 ` [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys() Isaku Yamahata
@ 2013-09-18 13:00   ` Juan Quintela
  2013-09-18 15:01   ` Michael R. Hines
  1 sibling, 0 replies; 14+ messages in thread
From: Juan Quintela @ 2013-09-18 13:00 UTC (permalink / raw)
  To: Isaku Yamahata; +Cc: owasserm, mrhines, qemu-devel, pbonzini

Isaku Yamahata <yamahata@private.email.ne.jp> wrote:
> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>

I don't understand this bit:

> +        uint8_t *chunk_start = ram_chunk_start(block, chunk);
> +        uint8_t *chunk_end = ram_chunk_end(block, chunk);

Here we are getting just the length of a chunk


>      sge.length = length;
>  
>      chunk = ram_chunk_index(block->local_host_addr, (uint8_t *) sge.addr);
> -    chunk_start = ram_chunk_start(block, chunk);
>  
>      if (block->is_ram_block) {
>          chunks = length / (1UL << RDMA_REG_CHUNK_SHIFT);
> @@ -1884,8 +1883,6 @@ retry:
>      DDPRINTF("Writing %" PRIu64 " chunks, (%" PRIu64 " MB)\n",
>          chunks + 1, (chunks + 1) * (1UL << RDMA_REG_CHUNK_SHIFT) / 1024 / 1024);
>  
> -    chunk_end = ram_chunk_end(block, chunk + chunks);
> -

But here chuck_end was the length of a list of chucks.


> @@ -3076,11 +3069,9 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque,
>                      host_addr = block->local_host_addr +
>                          (reg->key.chunk * (1UL << RDMA_REG_CHUNK_SHIFT));
>                  }
> -                chunk_start = ram_chunk_start(block, chunk);
> -                chunk_end = ram_chunk_end(block, chunk + reg->chunks);
>                  if (qemu_rdma_register_and_get_keys(rdma, block,
>                              (uint8_t *)host_addr, NULL, &reg_result->rkey,
> -                            chunk, chunk_start, chunk_end)) {
> +                            chunk)) {

Same here.


I am missing something obvious?

PD.  No, I don't claim to understand RDMA.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-04  2:32 [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Isaku Yamahata
  2013-09-04  2:32 ` [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys() Isaku Yamahata
  2013-09-18 12:55 ` [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Juan Quintela
@ 2013-09-18 14:28 ` Michael R. Hines
  2013-09-20  7:55   ` Isaku Yamahata
  2 siblings, 1 reply; 14+ messages in thread
From: Michael R. Hines @ 2013-09-18 14:28 UTC (permalink / raw)
  To: Isaku Yamahata; +Cc: owasserm, quintela, mrhines, qemu-devel, pbonzini

On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
> ---
>   migration-rdma.c |    8 +++++---
>   1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/migration-rdma.c b/migration-rdma.c
> index e71c10a..db5a908 100644
> --- a/migration-rdma.c
> +++ b/migration-rdma.c
> @@ -511,19 +511,21 @@ static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head,
>                                      int *resp_idx,
>                                      int (*callback)(RDMAContext *rdma));
>
> -static inline uint64_t ram_chunk_index(uint8_t *start, uint8_t *host)
> +static inline uint64_t ram_chunk_index(const uint8_t *start,
> +                                       const uint8_t *host)
>   {
>       return ((uintptr_t) host - (uintptr_t) start) >> RDMA_REG_CHUNK_SHIFT;
>   }
>
> -static inline uint8_t *ram_chunk_start(RDMALocalBlock *rdma_ram_block,
> +static inline uint8_t *ram_chunk_start(const RDMALocalBlock *rdma_ram_block,
>                                          uint64_t i)
>   {
>       return (uint8_t *) (((uintptr_t) rdma_ram_block->local_host_addr)
>                                       + (i << RDMA_REG_CHUNK_SHIFT));
>   }
>
> -static inline uint8_t *ram_chunk_end(RDMALocalBlock *rdma_ram_block, uint64_t i)
> +static inline uint8_t *ram_chunk_end(const RDMALocalBlock *rdma_ram_block,
> +                                     uint64_t i)
>   {
>       uint8_t *result = ram_chunk_start(rdma_ram_block, i) +
>                                            (1UL << RDMA_REG_CHUNK_SHIFT);

Isaku, you are sending lots of "little" patches which may or may not be
properly rebased upon previous patches.

Could you please group your current patch series into a single series with a
descriptive cover letter along with the previous patches?

If you need create a new patch specifically for RDMA before a previous
patch as been applied to my tree, then please include the old one into
the new patch series with a description and a "resend" in the title.

Then I can review them at once apply them all to my tree
so the maintaner has an easier time.

Thanks,
- Michael

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys()
  2013-09-04  2:32 ` [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys() Isaku Yamahata
  2013-09-18 13:00   ` Juan Quintela
@ 2013-09-18 15:01   ` Michael R. Hines
  2013-09-20 16:59     ` Isaku Yamahata
  1 sibling, 1 reply; 14+ messages in thread
From: Michael R. Hines @ 2013-09-18 15:01 UTC (permalink / raw)
  To: Isaku Yamahata; +Cc: owasserm, quintela, mrhines, qemu-devel, pbonzini

On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
> ---
>   migration-rdma.c |   23 +++++++----------------
>   1 file changed, 7 insertions(+), 16 deletions(-)
>
> diff --git a/migration-rdma.c b/migration-rdma.c
> index db5a908..941c07e 100644
> --- a/migration-rdma.c
> +++ b/migration-rdma.c
> @@ -1128,8 +1128,7 @@ static int qemu_rdma_search_ram_block(RDMAContext *rdma,
>    */
>   static int qemu_rdma_register_and_get_keys(RDMAContext *rdma,
>           RDMALocalBlock *block, uint8_t *host_addr,
> -        uint32_t *lkey, uint32_t *rkey, int chunk,
> -        uint8_t *chunk_start, uint8_t *chunk_end)
> +        uint32_t *lkey, uint32_t *rkey, int chunk)
>   {
>       if (block->mr) {
>           if (lkey) {
> @@ -1155,6 +1154,8 @@ static int qemu_rdma_register_and_get_keys(RDMAContext *rdma,
>        * If 'lkey', then we're the source VM, so grant access only to ourselves.
>        */
>       if (!block->pmr[chunk]) {
> +        uint8_t *chunk_start = ram_chunk_start(block, chunk);
> +        uint8_t *chunk_end = ram_chunk_end(block, chunk);
>           uint64_t len = chunk_end - chunk_start;

NACK. chunk_end cannot be calculated like this for all calls to this 
function.

See below.......

>
>           DDPRINTF("Registering %" PRIu64 " bytes @ %p\n",
> @@ -1849,7 +1850,6 @@ static int qemu_rdma_write_one(QEMUFile *f, RDMAContext *rdma,
>       struct ibv_send_wr *bad_wr;
>       int reg_result_idx, ret, count = 0;
>       uint64_t chunk, chunks;
> -    uint8_t *chunk_start, *chunk_end;
>       RDMALocalBlock *block = &(rdma->local_ram_blocks.block[current_index]);
>       RDMARegister reg;
>       RDMARegisterResult *reg_result;
> @@ -1865,7 +1865,6 @@ retry:
>       sge.length = length;
>
>       chunk = ram_chunk_index(block->local_host_addr, (uint8_t *) sge.addr);
> -    chunk_start = ram_chunk_start(block, chunk);
>
>       if (block->is_ram_block) {
>           chunks = length / (1UL << RDMA_REG_CHUNK_SHIFT);
> @@ -1884,8 +1883,6 @@ retry:
>       DDPRINTF("Writing %" PRIu64 " chunks, (%" PRIu64 " MB)\n",
>           chunks + 1, (chunks + 1) * (1UL << RDMA_REG_CHUNK_SHIFT) / 1024 / 1024);
>
> -    chunk_end = ram_chunk_end(block, chunk + chunks);
> -

NACK.

The value of chunk_end changes based on whether or not the value of 
block->is_ram_block is true of false.

>       if (!rdma->pin_all) {
>   #ifdef RDMA_UNREGISTRATION_EXAMPLE
>           qemu_rdma_unregister_waiting(rdma);
> @@ -1974,8 +1971,7 @@ retry:
>               /* try to overlap this single registration with the one we sent. */
>               if (qemu_rdma_register_and_get_keys(rdma, block,
>                                                   (uint8_t *) sge.addr,
> -                                                &sge.lkey, NULL, chunk,
> -                                                chunk_start, chunk_end)) {
> +                                                &sge.lkey, NULL, chunk)) {
>                   fprintf(stderr, "cannot get lkey!\n");
>                   return -EINVAL;
>               }
> @@ -1995,8 +1991,7 @@ retry:
>               /* already registered before */
>               if (qemu_rdma_register_and_get_keys(rdma, block,
>                                                   (uint8_t *)sge.addr,
> -                                                &sge.lkey, NULL, chunk,
> -                                                chunk_start, chunk_end)) {
> +                                                &sge.lkey, NULL, chunk)) {
>                   fprintf(stderr, "cannot get lkey!\n");
>                   return -EINVAL;
>               }
> @@ -2007,8 +2002,7 @@ retry:
>           send_wr.wr.rdma.rkey = block->remote_rkey;
>
>           if (qemu_rdma_register_and_get_keys(rdma, block, (uint8_t *)sge.addr,
> -                                                     &sge.lkey, NULL, chunk,
> -                                                     chunk_start, chunk_end)) {
> +                                                     &sge.lkey, NULL, chunk)) {
>               fprintf(stderr, "cannot get lkey!\n");
>               return -EINVAL;
>           }
> @@ -3054,7 +3048,6 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque,
>
>               for (count = 0; count < head.repeat; count++) {
>                   uint64_t chunk;
> -                uint8_t *chunk_start, *chunk_end;
>
>                   reg = &registers[count];
>                   network_to_register(reg);
> @@ -3076,11 +3069,9 @@ static int qemu_rdma_registration_handle(QEMUFile *f, void *opaque,
>                       host_addr = block->local_host_addr +
>                           (reg->key.chunk * (1UL << RDMA_REG_CHUNK_SHIFT));
>                   }
> -                chunk_start = ram_chunk_start(block, chunk);
> -                chunk_end = ram_chunk_end(block, chunk + reg->chunks);
>                   if (qemu_rdma_register_and_get_keys(rdma, block,
>                               (uint8_t *)host_addr, NULL, &reg_result->rkey,
> -                            chunk, chunk_start, chunk_end)) {
> +                            chunk)) {
>                       fprintf(stderr, "cannot get rkey!\n");
>                       ret = -EINVAL;
>                       goto out;

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-18 14:28 ` Michael R. Hines
@ 2013-09-20  7:55   ` Isaku Yamahata
  2013-09-20 14:11     ` Michael R. Hines
  0 siblings, 1 reply; 14+ messages in thread
From: Isaku Yamahata @ 2013-09-20  7:55 UTC (permalink / raw)
  To: Michael R. Hines
  Cc: Isaku Yamahata, quintela, qemu-devel, owasserm, mrhines, pbonzini

On Wed, Sep 18, 2013 at 10:28:51AM -0400, Michael R. Hines wrote:
> On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
>> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
>> ---
>>   migration-rdma.c |    8 +++++---
>>   1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/migration-rdma.c b/migration-rdma.c
>> index e71c10a..db5a908 100644
>> --- a/migration-rdma.c
>> +++ b/migration-rdma.c
>> @@ -511,19 +511,21 @@ static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head,
>>                                      int *resp_idx,
>>                                      int (*callback)(RDMAContext *rdma));
>>
>> -static inline uint64_t ram_chunk_index(uint8_t *start, uint8_t *host)
>> +static inline uint64_t ram_chunk_index(const uint8_t *start,
>> +                                       const uint8_t *host)
>>   {
>>       return ((uintptr_t) host - (uintptr_t) start) >> RDMA_REG_CHUNK_SHIFT;
>>   }
>>
>> -static inline uint8_t *ram_chunk_start(RDMALocalBlock *rdma_ram_block,
>> +static inline uint8_t *ram_chunk_start(const RDMALocalBlock *rdma_ram_block,
>>                                          uint64_t i)
>>   {
>>       return (uint8_t *) (((uintptr_t) rdma_ram_block->local_host_addr)
>>                                       + (i << RDMA_REG_CHUNK_SHIFT));
>>   }
>>
>> -static inline uint8_t *ram_chunk_end(RDMALocalBlock *rdma_ram_block, uint64_t i)
>> +static inline uint8_t *ram_chunk_end(const RDMALocalBlock *rdma_ram_block,
>> +                                     uint64_t i)
>>   {
>>       uint8_t *result = ram_chunk_start(rdma_ram_block, i) +
>>                                            (1UL << RDMA_REG_CHUNK_SHIFT);
>
> Isaku, you are sending lots of "little" patches which may or may not be
> properly rebased upon previous patches.
>
> Could you please group your current patch series into a single series with a
> descriptive cover letter along with the previous patches?
>
> If you need create a new patch specifically for RDMA before a previous
> patch as been applied to my tree, then please include the old one into
> the new patch series with a description and a "resend" in the title.
>
> Then I can review them at once apply them all to my tree
> so the maintaner has an easier time.

Okay, will do. Which branch should I watch?
I'm aware of the following repo, but I'm not sure which branch to rebase.
https://github.com/hinesmr/qemu.git

thanks,

>
> Thanks,
> - Michael
>
>

-- 
yamahata

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-20  7:55   ` Isaku Yamahata
@ 2013-09-20 14:11     ` Michael R. Hines
  2013-09-24 16:36       ` Juan Quintela
  0 siblings, 1 reply; 14+ messages in thread
From: Michael R. Hines @ 2013-09-20 14:11 UTC (permalink / raw)
  To: Isaku Yamahata; +Cc: qemu-devel, owasserm, pbonzini, mrhines, quintela

On 09/20/2013 03:55 AM, Isaku Yamahata wrote:
> On Wed, Sep 18, 2013 at 10:28:51AM -0400, Michael R. Hines wrote:
>> On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
>>> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
>>> ---
>>>    migration-rdma.c |    8 +++++---
>>>    1 file changed, 5 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/migration-rdma.c b/migration-rdma.c
>>> index e71c10a..db5a908 100644
>>> --- a/migration-rdma.c
>>> +++ b/migration-rdma.c
>>> @@ -511,19 +511,21 @@ static int qemu_rdma_exchange_send(RDMAContext *rdma, RDMAControlHeader *head,
>>>                                       int *resp_idx,
>>>                                       int (*callback)(RDMAContext *rdma));
>>>
>>> -static inline uint64_t ram_chunk_index(uint8_t *start, uint8_t *host)
>>> +static inline uint64_t ram_chunk_index(const uint8_t *start,
>>> +                                       const uint8_t *host)
>>>    {
>>>        return ((uintptr_t) host - (uintptr_t) start) >> RDMA_REG_CHUNK_SHIFT;
>>>    }
>>>
>>> -static inline uint8_t *ram_chunk_start(RDMALocalBlock *rdma_ram_block,
>>> +static inline uint8_t *ram_chunk_start(const RDMALocalBlock *rdma_ram_block,
>>>                                           uint64_t i)
>>>    {
>>>        return (uint8_t *) (((uintptr_t) rdma_ram_block->local_host_addr)
>>>                                        + (i << RDMA_REG_CHUNK_SHIFT));
>>>    }
>>>
>>> -static inline uint8_t *ram_chunk_end(RDMALocalBlock *rdma_ram_block, uint64_t i)
>>> +static inline uint8_t *ram_chunk_end(const RDMALocalBlock *rdma_ram_block,
>>> +                                     uint64_t i)
>>>    {
>>>        uint8_t *result = ram_chunk_start(rdma_ram_block, i) +
>>>                                             (1UL << RDMA_REG_CHUNK_SHIFT);
>> Isaku, you are sending lots of "little" patches which may or may not be
>> properly rebased upon previous patches.
>>
>> Could you please group your current patch series into a single series with a
>> descriptive cover letter along with the previous patches?
>>
>> If you need create a new patch specifically for RDMA before a previous
>> patch as been applied to my tree, then please include the old one into
>> the new patch series with a description and a "resend" in the title.
>>
>> Then I can review them at once apply them all to my tree
>> so the maintaner has an easier time.
> Okay, will do. Which branch should I watch?
> I'm aware of the following repo, but I'm not sure which branch to rebase.
> https://github.com/hinesmr/qemu.git

There's no need to rebase against github or track my branches.

Just use qemu.org master.

- Michael

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys()
  2013-09-18 15:01   ` Michael R. Hines
@ 2013-09-20 16:59     ` Isaku Yamahata
  2013-09-20 17:44       ` Michael R. Hines
  0 siblings, 1 reply; 14+ messages in thread
From: Isaku Yamahata @ 2013-09-20 16:59 UTC (permalink / raw)
  To: Michael R. Hines
  Cc: Isaku Yamahata, quintela, qemu-devel, owasserm, mrhines, pbonzini

On Wed, Sep 18, 2013 at 11:01:16AM -0400, Michael R. Hines wrote:
> The value of chunk_end changes based on whether or not the value of  
> block->is_ram_block is true of false.

When is block->is_ram_block set to false?
Looking at __qemu_rdma_add_block() and qemu_rdma_init_ram_blocks(),
is_ram_block seems to be always set to true because local->init = false
when __qemu_rdma_add_block() is called.
-- 
yamahata

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys()
  2013-09-20 16:59     ` Isaku Yamahata
@ 2013-09-20 17:44       ` Michael R. Hines
  0 siblings, 0 replies; 14+ messages in thread
From: Michael R. Hines @ 2013-09-20 17:44 UTC (permalink / raw)
  To: Isaku Yamahata
  Cc: Isaku Yamahata, quintela, qemu-devel, owasserm, mrhines, pbonzini

On 09/20/2013 12:59 PM, Isaku Yamahata wrote:
> On Wed, Sep 18, 2013 at 11:01:16AM -0400, Michael R. Hines wrote:
>> The value of chunk_end changes based on whether or not the value of
>> block->is_ram_block is true of false.
> When is block->is_ram_block set to false?
> Looking at __qemu_rdma_add_block() and qemu_rdma_init_ram_blocks(),
> is_ram_block seems to be always set to true because local->init = false
> when __qemu_rdma_add_block() is called.

That's correct, but I have other patches (not yet posted)
that depend on block->is_ram_block.

Please don't delete it =)

- Michael

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-20 14:11     ` Michael R. Hines
@ 2013-09-24 16:36       ` Juan Quintela
  2013-09-24 17:21         ` Michael R. Hines
  0 siblings, 1 reply; 14+ messages in thread
From: Juan Quintela @ 2013-09-24 16:36 UTC (permalink / raw)
  To: Michael R. Hines; +Cc: Isaku Yamahata, owasserm, pbonzini, mrhines, qemu-devel

"Michael R. Hines" <mrhines@linux.vnet.ibm.com> wrote:
> On 09/20/2013 03:55 AM, Isaku Yamahata wrote:
>> On Wed, Sep 18, 2013 at 10:28:51AM -0400, Michael R. Hines wrote:
>>> On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
>>>> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>

>
> There's no need to rebase against github or track my branches.
>
> Just use qemu.org master.

Michael,  I sent this on my pull request (it was trivial enough).
How do you want to track migration-rdma patches?  Should they pass
through you,  or should I pick them depending on your Ack/Nack?

Later,  Juan.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-24 16:36       ` Juan Quintela
@ 2013-09-24 17:21         ` Michael R. Hines
  2013-09-24 17:38           ` Juan Quintela
  0 siblings, 1 reply; 14+ messages in thread
From: Michael R. Hines @ 2013-09-24 17:21 UTC (permalink / raw)
  To: quintela; +Cc: Isaku Yamahata, owasserm, pbonzini, mrhines, qemu-devel

On 09/24/2013 12:36 PM, Juan Quintela wrote:
> "Michael R. Hines" <mrhines@linux.vnet.ibm.com> wrote:
>> On 09/20/2013 03:55 AM, Isaku Yamahata wrote:
>>> On Wed, Sep 18, 2013 at 10:28:51AM -0400, Michael R. Hines wrote:
>>>> On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
>>>>> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
>> There's no need to rebase against github or track my branches.
>>
>> Just use qemu.org master.
> Michael,  I sent this on my pull request (it was trivial enough).
> How do you want to track migration-rdma patches?  Should they pass
> through you,  or should I pick them depending on your Ack/Nack?
>
> Later,  Juan.
>

That's a good question - as I'm also new to the maintenance process,
what would you recommend?

I will definitely be contributing/monitoring/reviewing the RDMA code for 
the forseeable future....

- Michael

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-24 17:21         ` Michael R. Hines
@ 2013-09-24 17:38           ` Juan Quintela
  2013-09-24 17:44             ` Michael R. Hines
  0 siblings, 1 reply; 14+ messages in thread
From: Juan Quintela @ 2013-09-24 17:38 UTC (permalink / raw)
  To: Michael R. Hines; +Cc: Isaku Yamahata, owasserm, pbonzini, mrhines, qemu-devel

"Michael R. Hines" <mrhines@linux.vnet.ibm.com> wrote:
> On 09/24/2013 12:36 PM, Juan Quintela wrote:
>> "Michael R. Hines" <mrhines@linux.vnet.ibm.com> wrote:
>>> On 09/20/2013 03:55 AM, Isaku Yamahata wrote:
>>>> On Wed, Sep 18, 2013 at 10:28:51AM -0400, Michael R. Hines wrote:
>>>>> On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
>>>>>> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
>>> There's no need to rebase against github or track my branches.
>>>
>>> Just use qemu.org master.
>> Michael,  I sent this on my pull request (it was trivial enough).
>> How do you want to track migration-rdma patches?  Should they pass
>> through you,  or should I pick them depending on your Ack/Nack?
>>
>> Later,  Juan.
>>
>
> That's a good question - as I'm also new to the maintenance process,
> what would you recommend?
>
> I will definitely be contributing/monitoring/reviewing the RDMA code
> for the forseeable future....

I integrate it,  and in migration-rdma.c,  I wait for your nack/ack.
what do you think?

Later,  Juan.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end}
  2013-09-24 17:38           ` Juan Quintela
@ 2013-09-24 17:44             ` Michael R. Hines
  0 siblings, 0 replies; 14+ messages in thread
From: Michael R. Hines @ 2013-09-24 17:44 UTC (permalink / raw)
  To: quintela; +Cc: Isaku Yamahata, owasserm, qemu-devel, mrhines, pbonzini

On 09/24/2013 01:38 PM, Juan Quintela wrote:
> "Michael R. Hines" <mrhines@linux.vnet.ibm.com> wrote:
>> On 09/24/2013 12:36 PM, Juan Quintela wrote:
>>> "Michael R. Hines" <mrhines@linux.vnet.ibm.com> wrote:
>>>> On 09/20/2013 03:55 AM, Isaku Yamahata wrote:
>>>>> On Wed, Sep 18, 2013 at 10:28:51AM -0400, Michael R. Hines wrote:
>>>>>> On 09/03/2013 10:32 PM, Isaku Yamahata wrote:
>>>>>>> Signed-off-by: Isaku Yamahata <yamahata@private.email.ne.jp>
>>>> There's no need to rebase against github or track my branches.
>>>>
>>>> Just use qemu.org master.
>>> Michael,  I sent this on my pull request (it was trivial enough).
>>> How do you want to track migration-rdma patches?  Should they pass
>>> through you,  or should I pick them depending on your Ack/Nack?
>>>
>>> Later,  Juan.
>>>
>> That's a good question - as I'm also new to the maintenance process,
>> what would you recommend?
>>
>> I will definitely be contributing/monitoring/reviewing the RDMA code
>> for the forseeable future....
> I integrate it,  and in migration-rdma.c,  I wait for your nack/ack.
> what do you think?
>
> Later,  Juan.
>
Sounds like a plan. Thank you =)

- Michael

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2013-09-24 17:45 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-04  2:32 [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Isaku Yamahata
2013-09-04  2:32 ` [Qemu-devel] [PATCH 2/2] rdma: simplify qemu_rdma_register_and_get_keys() Isaku Yamahata
2013-09-18 13:00   ` Juan Quintela
2013-09-18 15:01   ` Michael R. Hines
2013-09-20 16:59     ` Isaku Yamahata
2013-09-20 17:44       ` Michael R. Hines
2013-09-18 12:55 ` [Qemu-devel] [PATCH 1/2] rdma: constify ram_chunk_{index, start, end} Juan Quintela
2013-09-18 14:28 ` Michael R. Hines
2013-09-20  7:55   ` Isaku Yamahata
2013-09-20 14:11     ` Michael R. Hines
2013-09-24 16:36       ` Juan Quintela
2013-09-24 17:21         ` Michael R. Hines
2013-09-24 17:38           ` Juan Quintela
2013-09-24 17:44             ` Michael R. Hines

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.