Virtual Accelerator Switchboard (VAS) is an engine stays on the chip. So all windows opened on a specific engine belongs to VAS the chip. The hypervisor expects the partition to close all active windows on the sources system and reopen them after migration on the destination machine.
This patch series adds VAS support with the partition migration. When the migration initiates, the VAS migration handler will be invoked before pseries_suspend() to close all active windows and mark them in-active with VAS_WIN_MIGRATE_CLOSE status. Whereas this migration handler is called after migration to reopen all windows which has VAS_WIN_MIGRATE_CLOSE status and make them active again. The user space gets paste instruction failure when it sends requests on these in-active windows. These patches depend on VAS/DLPAR support patch series Changes in v2: - Added new patch "Define global hv_cop_caps struct" to eliminate memory allocation failure during migration (suggestion by Nathan Lynch) Changes in v3: - Rebase on 5.17-rc4 - Naming changes for VAS capability struct elemets based on the V4 DLPAR support patch series. Changes in v4: - Rebase on 5.17-rc5 - Include migration_in_progress enable patch in "VAS migration handler" and other changes as suggested by Nicholas Piggin Haren Myneni (3): powerpc/pseries/vas: Define global hv_cop_caps struct powerpc/pseries/vas: Modify reconfig open/close functions for migration powerpc/pseries/vas: Add VAS migration handler arch/powerpc/include/asm/vas.h | 2 + arch/powerpc/platforms/pseries/mobility.c | 5 + arch/powerpc/platforms/pseries/vas.c | 233 +++++++++++++++++----- arch/powerpc/platforms/pseries/vas.h | 6 + 4 files changed, 201 insertions(+), 45 deletions(-) -- 2.27.0