On 2026/8/18 22:43, Peter Xu wrote:
I actually don't know why RDMA_CONTROL_COMPRESS is only used in !pin_all, do you know?
my understanding is that with RDMA_CONTROL_COMPRESS, the corresponding MR isn't registered, so the memset(0) in destination side can be guaranteed to complete before the next RDMA write to the same chunk. Or it needs an extra ack from destionation for the memset(0) complation.
I can only guess RDMA WRITEs were fast and need no round-robin chats, so it's faster than RDMA_CONTROL_COMPRESS, but you seem to say it's not true.
if most of guest's pages are not being allocated yet or are zero page, RDMA_CONTROL_COMPRESS works more efficient.
Meanwhile, I would expect pin-all=off ultimately should meet the same perf over pin-all=on.. so I don't really know how needs pin-all=on... maybe it's useful when one is looking for minimum total migration time when VMs are required to be evicted from one host? Feel free to share if you have more data points; I'm almost speaking from reading the code, so it could be wrong.
Hah, I am new to RDMA live migration, glad to discuss ^_^ Yanfei
