Skip to content

Commit

Permalink
powerpc/pseries: Move vas_migration_handler early during migration
Browse files Browse the repository at this point in the history
When the migration is initiated, the hypervisor changes VAS
mappings as part of pre-migration event. Then the OS gets the
migration event which closes all VAS windows before the migration
starts. NX generates continuous faults until windows are closed
and the user space can not differentiate these NX faults coming
from the actual migration. So to reduce this time window, close
VAS windows first in pseries_migrate_partition().

Signed-off-by: Haren Myneni <haren@linux.ibm.com>
Reviewed-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/d8efade91dda831c9ed4abb226dab627da594c5f.camel@linux.ibm.com
  • Loading branch information
Haren Myneni authored and Michael Ellerman committed Sep 28, 2022
1 parent 1da5351 commit 465dda9
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions arch/powerpc/platforms/pseries/mobility.c
Original file line number Diff line number Diff line change
Expand Up @@ -740,11 +740,19 @@ static int pseries_migrate_partition(u64 handle)
#ifdef CONFIG_PPC_WATCHDOG
factor = nmi_wd_lpm_factor;
#endif
/*
* When the migration is initiated, the hypervisor changes VAS
* mappings to prepare before OS gets the notification and
* closes all VAS windows. NX generates continuous faults during
* this time and the user space can not differentiate these
* faults from the migration event. So reduce this time window
* by closing VAS windows at the beginning of this function.
*/
vas_migration_handler(VAS_SUSPEND);

ret = wait_for_vasi_session_suspending(handle);
if (ret)
return ret;

vas_migration_handler(VAS_SUSPEND);
goto out;

if (factor)
watchdog_nmi_set_timeout_pct(factor);
Expand All @@ -765,6 +773,7 @@ static int pseries_migrate_partition(u64 handle)
if (factor)
watchdog_nmi_set_timeout_pct(0);

out:
vas_migration_handler(VAS_RESUME);

return ret;
Expand Down

0 comments on commit 465dda9

Please sign in to comment.