[2/2] migration/multifd: not use multifd during postcopy
diff mbox series

Message ID 20191025232000.25857-3-richardw.yang@linux.intel.com
State New
Headers show
Series
  • not use multifd during postcopy
Related show

Commit Message

Wei Yang Oct. 25, 2019, 11:20 p.m. UTC
We don't support multifd during postcopy, but user still could enable
both multifd and postcopy. This leads to migration failure.

Skip multifd during postcopy.

Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
 migration/ram.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Juan Quintela Nov. 19, 2019, 10:55 a.m. UTC | #1
Wei Yang <richardw.yang@linux.intel.com> wrote:
> We don't support multifd during postcopy, but user still could enable
> both multifd and postcopy. This leads to migration failure.
>
> Skip multifd during postcopy.
>
> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

I was working in a different implementation, but I agree with the idea.

My patch series try to decide during negotiation if multifd + everything
else is setup or not.

Thanks, Juan.
Wei Yang Nov. 20, 2019, 12:35 a.m. UTC | #2
On Tue, Nov 19, 2019 at 11:55:52AM +0100, Juan Quintela wrote:
>Wei Yang <richardw.yang@linux.intel.com> wrote:
>> We don't support multifd during postcopy, but user still could enable
>> both multifd and postcopy. This leads to migration failure.
>>
>> Skip multifd during postcopy.
>>
>> Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
>
>Reviewed-by: Juan Quintela <quintela@redhat.com>
>
>I was working in a different implementation, but I agree with the idea.
>
>My patch series try to decide during negotiation if multifd + everything
>else is setup or not.
>

Look forward your approach :-)

>Thanks, Juan.

Patch
diff mbox series

diff --git a/migration/ram.c b/migration/ram.c
index 7087bb73ed..5876054195 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2547,10 +2547,13 @@  static int ram_save_target_page(RAMState *rs, PageSearchStatus *pss,
     }
 
     /*
-     * do not use multifd for compression as the first page in the new
-     * block should be posted out before sending the compressed page
+     * Do not use multifd for:
+     * 1. Compression as the first page in the new block should be posted out
+     *    before sending the compressed page
+     * 2. In postcopy as one whole host page should be placed
      */
-    if (!save_page_use_compression(rs) && migrate_use_multifd()) {
+    if (!save_page_use_compression(rs) && migrate_use_multifd()
+        && !migration_in_postcopy()) {
         return ram_save_multifd_page(rs, block, offset);
     }