Message ID | 20170511155028.6543-1-quintela@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, May 11, 2017 at 05:50:28PM +0200, Juan Quintela wrote: > Reflects better what it does now, and avoid confussions with > RAM_SAVE_FLAG_COMPRESS_PAGE. > > Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> > > --- > > Hi > > I always forgot the diffe9rent between COMPRESS and COMPRESS_PAGE. > This patch makes it clean which is which. > > Please, comment. > > Later, Juan. > > > --- > migration/ram.c | 18 ++++++++++++------ > 1 file changed, 12 insertions(+), 6 deletions(-) > > diff --git a/migration/ram.c b/migration/ram.c > index 995d1fc..76c118c 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -48,8 +48,14 @@ > /***********************************************************/ > /* ram save/restore */ > > +/* RAM_SAVE_FLAG_ZERO used to be named RAM_SAVE_FLAG_COMPRESS, it > + * worked for pages that where filled with the same char. We switched > + * it to only search for the zero value. And to avoid confusion with > + * RAM_SSAVE_FLAG_COMPRESS_PAGE just rename it. > + */ > + > #define RAM_SAVE_FLAG_FULL 0x01 /* Obsolete, not used anymore */ > -#define RAM_SAVE_FLAG_COMPRESS 0x02 > +#define RAM_SAVE_FLAG_ZERO 0x02 > #define RAM_SAVE_FLAG_MEM_SIZE 0x04 > #define RAM_SAVE_FLAG_PAGE 0x08 > #define RAM_SAVE_FLAG_EOS 0x10 > @@ -746,7 +752,7 @@ static int save_zero_page(RAMState *rs, RAMBlock *block, ram_addr_t offset, > if (is_zero_range(p, TARGET_PAGE_SIZE)) { > rs->zero_pages++; > rs->bytes_transferred += > - save_page_header(rs, rs->f, block, offset | RAM_SAVE_FLAG_COMPRESS); > + save_page_header(rs, rs->f, block, offset | RAM_SAVE_FLAG_ZERO); > qemu_put_byte(rs->f, 0); > rs->bytes_transferred += 1; > pages = 1; > @@ -2406,7 +2412,7 @@ static int ram_load_postcopy(QEMUFile *f) > > trace_ram_load_postcopy_loop((uint64_t)addr, flags); > place_needed = false; > - if (flags & (RAM_SAVE_FLAG_COMPRESS | RAM_SAVE_FLAG_PAGE)) { > + if (flags & (RAM_SAVE_FLAG_ZERO | RAM_SAVE_FLAG_PAGE)) { > block = ram_block_from_stream(f, flags); > > host = host_from_ram_block_offset(block, addr); > @@ -2453,7 +2459,7 @@ static int ram_load_postcopy(QEMUFile *f) > last_host = host; > > switch (flags & ~RAM_SAVE_FLAG_CONTINUE) { > - case RAM_SAVE_FLAG_COMPRESS: > + case RAM_SAVE_FLAG_ZERO: > ch = qemu_get_byte(f); > memset(page_buffer, ch, TARGET_PAGE_SIZE); > if (ch) { > @@ -2542,7 +2548,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) > flags = addr & ~TARGET_PAGE_MASK; > addr &= TARGET_PAGE_MASK; > > - if (flags & (RAM_SAVE_FLAG_COMPRESS | RAM_SAVE_FLAG_PAGE | > + if (flags & (RAM_SAVE_FLAG_ZERO | RAM_SAVE_FLAG_PAGE | > RAM_SAVE_FLAG_COMPRESS_PAGE | RAM_SAVE_FLAG_XBZRLE)) { > RAMBlock *block = ram_block_from_stream(f, flags); > > @@ -2604,7 +2610,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) > } > break; > > - case RAM_SAVE_FLAG_COMPRESS: > + case RAM_SAVE_FLAG_ZERO: > ch = qemu_get_byte(f); > ram_handle_compressed(host, ch, TARGET_PAGE_SIZE); > break; > -- > 2.9.3 >
diff --git a/migration/ram.c b/migration/ram.c index 995d1fc..76c118c 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -48,8 +48,14 @@ /***********************************************************/ /* ram save/restore */ +/* RAM_SAVE_FLAG_ZERO used to be named RAM_SAVE_FLAG_COMPRESS, it + * worked for pages that where filled with the same char. We switched + * it to only search for the zero value. And to avoid confusion with + * RAM_SSAVE_FLAG_COMPRESS_PAGE just rename it. + */ + #define RAM_SAVE_FLAG_FULL 0x01 /* Obsolete, not used anymore */ -#define RAM_SAVE_FLAG_COMPRESS 0x02 +#define RAM_SAVE_FLAG_ZERO 0x02 #define RAM_SAVE_FLAG_MEM_SIZE 0x04 #define RAM_SAVE_FLAG_PAGE 0x08 #define RAM_SAVE_FLAG_EOS 0x10 @@ -746,7 +752,7 @@ static int save_zero_page(RAMState *rs, RAMBlock *block, ram_addr_t offset, if (is_zero_range(p, TARGET_PAGE_SIZE)) { rs->zero_pages++; rs->bytes_transferred += - save_page_header(rs, rs->f, block, offset | RAM_SAVE_FLAG_COMPRESS); + save_page_header(rs, rs->f, block, offset | RAM_SAVE_FLAG_ZERO); qemu_put_byte(rs->f, 0); rs->bytes_transferred += 1; pages = 1; @@ -2406,7 +2412,7 @@ static int ram_load_postcopy(QEMUFile *f) trace_ram_load_postcopy_loop((uint64_t)addr, flags); place_needed = false; - if (flags & (RAM_SAVE_FLAG_COMPRESS | RAM_SAVE_FLAG_PAGE)) { + if (flags & (RAM_SAVE_FLAG_ZERO | RAM_SAVE_FLAG_PAGE)) { block = ram_block_from_stream(f, flags); host = host_from_ram_block_offset(block, addr); @@ -2453,7 +2459,7 @@ static int ram_load_postcopy(QEMUFile *f) last_host = host; switch (flags & ~RAM_SAVE_FLAG_CONTINUE) { - case RAM_SAVE_FLAG_COMPRESS: + case RAM_SAVE_FLAG_ZERO: ch = qemu_get_byte(f); memset(page_buffer, ch, TARGET_PAGE_SIZE); if (ch) { @@ -2542,7 +2548,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) flags = addr & ~TARGET_PAGE_MASK; addr &= TARGET_PAGE_MASK; - if (flags & (RAM_SAVE_FLAG_COMPRESS | RAM_SAVE_FLAG_PAGE | + if (flags & (RAM_SAVE_FLAG_ZERO | RAM_SAVE_FLAG_PAGE | RAM_SAVE_FLAG_COMPRESS_PAGE | RAM_SAVE_FLAG_XBZRLE)) { RAMBlock *block = ram_block_from_stream(f, flags); @@ -2604,7 +2610,7 @@ static int ram_load(QEMUFile *f, void *opaque, int version_id) } break; - case RAM_SAVE_FLAG_COMPRESS: + case RAM_SAVE_FLAG_ZERO: ch = qemu_get_byte(f); ram_handle_compressed(host, ch, TARGET_PAGE_SIZE); break;
Reflects better what it does now, and avoid confussions with RAM_SAVE_FLAG_COMPRESS_PAGE. Signed-off-by: Juan Quintela <quintela@redhat.com> --- Hi I always forgot the diffe9rent between COMPRESS and COMPRESS_PAGE. This patch makes it clean which is which. Please, comment. Later, Juan. --- migration/ram.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-)