Daniel P. Berrangé <berra...@redhat.com> wrote: > The QEMUFile 'save_hook' callback has a 'size_t size' parameter. > > The RDMA impl of this has logic that takes different actions > depending on whether the value is zero or non-zero. It has > commented out logic that would have taken further actions > if the value was negative. > > The only place where the 'save_hook' callback is invoked is > the ram_control_save_page() method, which passes 'size' > through from its caller. The only caller of this method is > in turn control_save_page(). This method unconditionally > passes the 'TARGET_PAGE_SIZE' constant for the 'size' parameter. > > IOW, the only scenario for 'size' that can execute in the > qemu_rdma_save_page method is 'size > 0'. The remaining code > has been unreachable since RDMA support was first introduced > 9 years ago. > > Reviewed-by: Eric Blake <ebl...@redhat.com> > Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
Reviewed-by: Juan Quintela <quint...@redhat.com> You missed this call: @@ -1571,18 +1547,6 @@ static uint64_t qemu_rdma_poll(RDMAContext *rdma, struct ibv_cq *cq, if (rdma->nb_sent > 0) { rdma->nb_sent--; } - - if (!rdma->pin_all) { - /* - * FYI: If one wanted to signal a specific chunk to be unregistered - * using LRU or workload-specific information, this is the function - * you would call to do so. That chunk would then get asynchronously - * unregistered later. - */ -#ifdef RDMA_UNREGISTRATION_EXAMPLE - qemu_rdma_signal_unregister(rdma, index, chunk, wc.wr_id); -#endif - } But as RDMA_UNREGISTRATION_EXAMPLE has never been set, I am sending a separate patch to remove it. Later, Juan.