[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 34/51] migration: Cleanup xbzrle zero page cache update logic
From: |
Juan Quintela |
Subject: |
[PATCH v2 34/51] migration: Cleanup xbzrle zero page cache update logic |
Date: |
Mon, 5 Dec 2022 10:52:11 +0100 |
From: Peter Xu <peterx@redhat.com>
The major change is to replace "!save_page_use_compression()" with
"xbzrle_enabled" to make it clear.
Reasonings:
(1) When compression enabled, "!save_page_use_compression()" is exactly the
same as checking "xbzrle_enabled".
(2) When compression disabled, "!save_page_use_compression()" always return
true. We used to try calling the xbzrle code, but after this change we
won't, and we shouldn't need to.
Since at it, drop the xbzrle_enabled check in xbzrle_cache_zero_page()
because with this change it's not needed anymore.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
---
migration/ram.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index 00a2e30322..7124ff531c 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -741,10 +741,6 @@ void mig_throttle_counter_reset(void)
*/
static void xbzrle_cache_zero_page(RAMState *rs, ram_addr_t current_addr)
{
- if (!rs->xbzrle_enabled) {
- return;
- }
-
/* We don't care if this fails to allocate a new cache page
* as long as it updated an old one */
cache_insert(XBZRLE.cache, current_addr, XBZRLE.zero_target_page,
@@ -2301,7 +2297,7 @@ static int ram_save_target_page(RAMState *rs,
PageSearchStatus *pss)
/* Must let xbzrle know, otherwise a previous (now 0'd) cached
* page would be stale
*/
- if (!save_page_use_compression(rs)) {
+ if (rs->xbzrle_enabled) {
XBZRLE_cache_lock();
xbzrle_cache_zero_page(rs, block->offset + offset);
XBZRLE_cache_unlock();
--
2.38.1
- [PATCH v2 25/51] tests/qtest/migration-test: Fix unlink error and memory leaks, (continued)
- [PATCH v2 25/51] tests/qtest/migration-test: Fix unlink error and memory leaks, Juan Quintela, 2022/12/05
- [PATCH v2 26/51] target/s390x/tcg: Fix and improve the SACF instruction, Juan Quintela, 2022/12/05
- [PATCH v2 27/51] hw/display/next-fb: Fix comment typo, Juan Quintela, 2022/12/05
- [PATCH v2 28/51] multifd: Create page_size fields into both MultiFD{Recv, Send}Params, Juan Quintela, 2022/12/05
- [PATCH v2 29/51] multifd: Create page_count fields into both MultiFD{Recv, Send}Params, Juan Quintela, 2022/12/05
- [PATCH v2 30/51] migration: Export ram_transferred_ram(), Juan Quintela, 2022/12/05
- [PATCH v2 31/51] migration: Export ram_release_page(), Juan Quintela, 2022/12/05
- Re: [PATCH v2 00/51] migration patches for VFIO, Juan Quintela, 2022/12/05
- [PATCH v2 32/51] migration: Take bitmap mutex when completing ram migration, Juan Quintela, 2022/12/05
- [PATCH v2 33/51] migration: Add postcopy_preempt_active(), Juan Quintela, 2022/12/05
- [PATCH v2 34/51] migration: Cleanup xbzrle zero page cache update logic,
Juan Quintela <=
- [PATCH v2 36/51] migration: Remove RAMState.f references in compression code, Juan Quintela, 2022/12/05
- [PATCH v2 35/51] migration: Trivial cleanup save_page_header() on same block check, Juan Quintela, 2022/12/05
- [PATCH v2 39/51] migration: Teach PSS about host page, Juan Quintela, 2022/12/05
- [PATCH v2 37/51] migration: Yield bitmap_mutex properly when sending/sleeping, Juan Quintela, 2022/12/05
- [PATCH v2 38/51] migration: Use atomic ops properly for page accountings, Juan Quintela, 2022/12/05
- [PATCH v2 40/51] migration: Introduce pss_channel, Juan Quintela, 2022/12/05
- [PATCH v2 41/51] migration: Add pss_init(), Juan Quintela, 2022/12/05
- [PATCH v2 42/51] migration: Make PageSearchStatus part of RAMState, Juan Quintela, 2022/12/05
- [PATCH v2 43/51] migration: Move last_sent_block into PageSearchStatus, Juan Quintela, 2022/12/05
- [PATCH v2 44/51] migration: Send requested page directly in rp-return thread, Juan Quintela, 2022/12/05