mirror of https://github.com/xemu-project/xemu.git
migration: Remove save_page_use_compression()
After previous patch, we disable the posiblity that we use compression together with xbzrle. So we can use directly migrate_compress(). Once there, now we don't need the rs parameter, so remove it. Reviewed-by: Fabiano Rosas <farosas@suse.de> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-ID: <20231019110724.15324-4-quintela@redhat.com>
This commit is contained in:
parent
0e19562996
commit
4e400f9091
|
@ -1291,8 +1291,6 @@ static int ram_save_multifd_page(QEMUFile *file, RAMBlock *block,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool save_page_use_compression(RAMState *rs);
|
|
||||||
|
|
||||||
static int send_queued_data(CompressParam *param)
|
static int send_queued_data(CompressParam *param)
|
||||||
{
|
{
|
||||||
PageSearchStatus *pss = &ram_state->pss[RAM_CHANNEL_PRECOPY];
|
PageSearchStatus *pss = &ram_state->pss[RAM_CHANNEL_PRECOPY];
|
||||||
|
@ -1329,9 +1327,9 @@ static int send_queued_data(CompressParam *param)
|
||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ram_flush_compressed_data(RAMState *rs)
|
static void ram_flush_compressed_data(void)
|
||||||
{
|
{
|
||||||
if (!save_page_use_compression(rs)) {
|
if (!migrate_compress()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1393,7 +1391,7 @@ static int find_dirty_block(RAMState *rs, PageSearchStatus *pss)
|
||||||
* Also If xbzrle is on, stop using the data compression at this
|
* Also If xbzrle is on, stop using the data compression at this
|
||||||
* point. In theory, xbzrle can do better than compression.
|
* point. In theory, xbzrle can do better than compression.
|
||||||
*/
|
*/
|
||||||
ram_flush_compressed_data(rs);
|
ram_flush_compressed_data();
|
||||||
|
|
||||||
/* Hit the end of the list */
|
/* Hit the end of the list */
|
||||||
pss->block = QLIST_FIRST_RCU(&ram_list.blocks);
|
pss->block = QLIST_FIRST_RCU(&ram_list.blocks);
|
||||||
|
@ -2042,24 +2040,6 @@ int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t len)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool save_page_use_compression(RAMState *rs)
|
|
||||||
{
|
|
||||||
if (!migrate_compress()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If xbzrle is enabled (e.g., after first round of migration), stop
|
|
||||||
* using the data compression. In theory, xbzrle can do better than
|
|
||||||
* compression.
|
|
||||||
*/
|
|
||||||
if (rs->xbzrle_started) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* try to compress the page before posting it out, return true if the page
|
* try to compress the page before posting it out, return true if the page
|
||||||
* has been properly handled by compression, otherwise needs other
|
* has been properly handled by compression, otherwise needs other
|
||||||
|
@ -2068,7 +2048,7 @@ static bool save_page_use_compression(RAMState *rs)
|
||||||
static bool save_compress_page(RAMState *rs, PageSearchStatus *pss,
|
static bool save_compress_page(RAMState *rs, PageSearchStatus *pss,
|
||||||
ram_addr_t offset)
|
ram_addr_t offset)
|
||||||
{
|
{
|
||||||
if (!save_page_use_compression(rs)) {
|
if (!migrate_compress()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2083,7 +2063,7 @@ static bool save_compress_page(RAMState *rs, PageSearchStatus *pss,
|
||||||
* much CPU resource.
|
* much CPU resource.
|
||||||
*/
|
*/
|
||||||
if (pss->block != pss->last_sent_block) {
|
if (pss->block != pss->last_sent_block) {
|
||||||
ram_flush_compressed_data(rs);
|
ram_flush_compressed_data();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3135,7 +3115,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
|
||||||
* page is sent in one chunk.
|
* page is sent in one chunk.
|
||||||
*/
|
*/
|
||||||
if (migrate_postcopy_ram()) {
|
if (migrate_postcopy_ram()) {
|
||||||
ram_flush_compressed_data(rs);
|
ram_flush_compressed_data();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -3236,7 +3216,7 @@ static int ram_save_complete(QEMUFile *f, void *opaque)
|
||||||
}
|
}
|
||||||
qemu_mutex_unlock(&rs->bitmap_mutex);
|
qemu_mutex_unlock(&rs->bitmap_mutex);
|
||||||
|
|
||||||
ram_flush_compressed_data(rs);
|
ram_flush_compressed_data();
|
||||||
|
|
||||||
int ret = rdma_registration_stop(f, RAM_CONTROL_FINISH);
|
int ret = rdma_registration_stop(f, RAM_CONTROL_FINISH);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
|
Loading…
Reference in New Issue