[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/12] migration: do not flush_compressed_data at th
From: |
guangrong . xiao |
Subject: |
[Qemu-devel] [PATCH 08/12] migration: do not flush_compressed_data at the end of each iteration |
Date: |
Mon, 4 Jun 2018 17:55:16 +0800 |
From: Xiao Guangrong <address@hidden>
flush_compressed_data() needs to wait all compression threads to
finish their work, after that all threads are free until the
migration feed new request to them, reducing its call can improve
the throughput and use CPU resource more effectively
We do not need to flush all threads at the end of iteration, the
data can be kept locally until the memory block is changed
Signed-off-by: Xiao Guangrong <address@hidden>
---
migration/ram.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/migration/ram.c b/migration/ram.c
index f9a8646520..0a38c1c61e 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1994,6 +1994,7 @@ static void ram_save_cleanup(void *opaque)
}
xbzrle_cleanup();
+ flush_compressed_data(*rsp);
compress_threads_save_cleanup();
ram_state_cleanup(rsp);
}
@@ -2690,7 +2691,6 @@ static int ram_save_iterate(QEMUFile *f, void *opaque)
}
i++;
}
- flush_compressed_data(rs);
rcu_read_unlock();
/*
--
2.14.4
- Re: [Qemu-devel] [PATCH 06/12] migration: do not detect zero page for compression, (continued)
[Qemu-devel] [PATCH 07/12] migration: hold the lock only if it is really needed, guangrong . xiao, 2018/06/04
[Qemu-devel] [PATCH 08/12] migration: do not flush_compressed_data at the end of each iteration,
guangrong . xiao <=
[Qemu-devel] [PATCH 09/12] ring: introduce lockless ring buffer, guangrong . xiao, 2018/06/04
Re: [Qemu-devel] [PATCH 09/12] ring: introduce lockless ring buffer, Peter Xu, 2018/06/20
Re: [Qemu-devel] [PATCH 09/12] ring: introduce lockless ring buffer, Michael S. Tsirkin, 2018/06/20