On 04/04/2014 03:57 AM, arei.gonglei@huawei.com wrote: > From: ChenLiang > > V5-->V4 > * Fix two issues: one is cache_insert don't update the page which > has been in the cache. Another avoiding the risk that run > xbzrle_encode_buffer on changing data. Is all or part of this series essential to have in 2.0 to avoid having a regression? > > > a. Optimization the xbzrle remarkable decrease the cache misses. > The efficiency of compress increases more than fifty times. > Before the patch set, the cache almost totally miss when the > number of cache item less than the dirty page number. Now the > hot pages in the cache will not be replaced by other pages. > > b. Reducing the data copy > > c. Fix one corruption issues. > > ChenLiang (10): > XBZRLE: Fix one XBZRLE corruption issues Based on name, this patch is worth including in the release, if it is not too late. > migration: Add counts of updating the dirty bitmap > migration: expose the bitmap_sync_count to the end user > migration: expose xbzrle cache miss rate whereas these names sound like new features, and thus should wait for 2.1. > XBZRLE: optimize XBZRLE to decrease the cache misses > XBZRLE: rebuild the cache_is_cached function > xbzrle: don't check the value in the vm ram repeatedly > xbzrle: check 8 bytes at a time after an concurrency scene > migration: optimize xbzrle by reducing data copy > migration: clear the dead code > > arch_init.c | 74 +++++++++++++++++------------- > docs/xbzrle.txt | 8 ++++ > hmp.c | 4 ++ > include/migration/migration.h | 2 + > include/migration/page_cache.h | 10 ++-- > migration.c | 3 ++ > page_cache.c | 101 +++++++++++------------------------------ > qapi-schema.json | 9 +++- > qmp-commands.hx | 15 ++++-- > xbzrle.c | 48 ++++++++++++++------ > 10 files changed, 144 insertions(+), 130 deletions(-) > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org