Skip to content

Commit

Permalink
migration: Remove save_page_use_compression()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Juan Quintela committed Oct 24, 2023
1 parent 9698440 commit 3089e11
Showing 1 changed file with 7 additions and 27 deletions.
34 changes: 7 additions & 27 deletions migration/ram.c
Original file line number Diff line number Diff line change
Expand Up @@ -1291,8 +1291,6 @@ static int ram_save_multifd_page(QEMUFile *file, RAMBlock *block,
return 1;
}

static bool save_page_use_compression(RAMState *rs);

static int send_queued_data(CompressParam *param)
{
PageSearchStatus *pss = &ram_state->pss[RAM_CHANNEL_PRECOPY];
Expand Down Expand Up @@ -1329,9 +1327,9 @@ static int send_queued_data(CompressParam *param)
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;
}

Expand Down Expand Up @@ -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
* point. In theory, xbzrle can do better than compression.
*/
ram_flush_compressed_data(rs);
ram_flush_compressed_data();

/* Hit the end of the list */
pss->block = QLIST_FIRST_RCU(&ram_list.blocks);
Expand Down Expand Up @@ -2042,24 +2040,6 @@ int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t len)
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
* has been properly handled by compression, otherwise needs other
Expand All @@ -2068,7 +2048,7 @@ static bool save_page_use_compression(RAMState *rs)
static bool save_compress_page(RAMState *rs, PageSearchStatus *pss,
ram_addr_t offset)
{
if (!save_page_use_compression(rs)) {
if (!migrate_compress()) {
return false;
}

Expand All @@ -2083,7 +2063,7 @@ static bool save_compress_page(RAMState *rs, PageSearchStatus *pss,
* much CPU resource.
*/
if (pss->block != pss->last_sent_block) {
ram_flush_compressed_data(rs);
ram_flush_compressed_data();
return false;
}

Expand Down Expand Up @@ -3135,7 +3115,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
* page is sent in one chunk.
*/
if (migrate_postcopy_ram()) {
ram_flush_compressed_data(rs);
ram_flush_compressed_data();
}

/*
Expand Down Expand Up @@ -3236,7 +3216,7 @@ static int ram_save_complete(QEMUFile *f, void *opaque)
}
qemu_mutex_unlock(&rs->bitmap_mutex);

ram_flush_compressed_data(rs);
ram_flush_compressed_data();

int ret = rdma_registration_stop(f, RAM_CONTROL_FINISH);
if (ret < 0) {
Expand Down

0 comments on commit 3089e11

Please sign in to comment.