[PATCH RFC 02/13] migration: Add postcopy_preempt_active()

Peter Xu posted 13 patches 3 years, 5 months ago
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, Peter Xu <peterx@redhat.com>, David Hildenbrand <david@redhat.com>, "Philippe Mathieu-Daudé" <f4bug@amsat.org>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>
There is a newer version of this series
[PATCH RFC 02/13] migration: Add postcopy_preempt_active()
Posted by Peter Xu 3 years, 5 months ago
Add the helper to show that postcopy preempt enabled, meanwhile active.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 migration/ram.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/migration/ram.c b/migration/ram.c
index dc1de9ddbc..8c5d5332e8 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -162,6 +162,11 @@ out:
     return ret;
 }
 
+static bool postcopy_preempt_active(void)
+{
+    return migrate_postcopy_preempt() && migration_in_postcopy();
+}
+
 bool ramblock_is_ignored(RAMBlock *block)
 {
     return !qemu_ram_is_migratable(block) ||
@@ -2434,7 +2439,7 @@ static void postcopy_preempt_choose_channel(RAMState *rs, PageSearchStatus *pss)
 /* We need to make sure rs->f always points to the default channel elsewhere */
 static void postcopy_preempt_reset_channel(RAMState *rs)
 {
-    if (migrate_postcopy_preempt() && migration_in_postcopy()) {
+    if (postcopy_preempt_active()) {
         rs->postcopy_channel = RAM_CHANNEL_PRECOPY;
         rs->f = migrate_get_current()->to_dst_file;
         trace_postcopy_preempt_reset_channel();
@@ -2472,7 +2477,7 @@ static int ram_save_host_page(RAMState *rs, PageSearchStatus *pss)
         return 0;
     }
 
-    if (migrate_postcopy_preempt() && migration_in_postcopy()) {
+    if (postcopy_preempt_active()) {
         postcopy_preempt_choose_channel(rs, pss);
     }
 
-- 
2.32.0
Re: [PATCH RFC 02/13] migration: Add postcopy_preempt_active()
Posted by Dr. David Alan Gilbert 3 years, 4 months ago
* Peter Xu (peterx@redhat.com) wrote:
> Add the helper to show that postcopy preempt enabled, meanwhile active.
> 
> Signed-off-by: Peter Xu <peterx@redhat.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  migration/ram.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index dc1de9ddbc..8c5d5332e8 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -162,6 +162,11 @@ out:
>      return ret;
>  }
>  
> +static bool postcopy_preempt_active(void)
> +{
> +    return migrate_postcopy_preempt() && migration_in_postcopy();
> +}
> +
>  bool ramblock_is_ignored(RAMBlock *block)
>  {
>      return !qemu_ram_is_migratable(block) ||
> @@ -2434,7 +2439,7 @@ static void postcopy_preempt_choose_channel(RAMState *rs, PageSearchStatus *pss)
>  /* We need to make sure rs->f always points to the default channel elsewhere */
>  static void postcopy_preempt_reset_channel(RAMState *rs)
>  {
> -    if (migrate_postcopy_preempt() && migration_in_postcopy()) {
> +    if (postcopy_preempt_active()) {
>          rs->postcopy_channel = RAM_CHANNEL_PRECOPY;
>          rs->f = migrate_get_current()->to_dst_file;
>          trace_postcopy_preempt_reset_channel();
> @@ -2472,7 +2477,7 @@ static int ram_save_host_page(RAMState *rs, PageSearchStatus *pss)
>          return 0;
>      }
>  
> -    if (migrate_postcopy_preempt() && migration_in_postcopy()) {
> +    if (postcopy_preempt_active()) {
>          postcopy_preempt_choose_channel(rs, pss);
>      }
>  
> -- 
> 2.32.0
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK