* [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 = ®isters[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, ®_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 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, ®_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 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 = ®isters[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, ®_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 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-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 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 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 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).