mbox series

[v3,0/4] powerpc/pseries/vas: VAS/NXGZIP support with LPM

Message ID 4a23d5ec655fd00da97b0b0b46174a3a3894bfb0.camel@linux.ibm.com (mailing list archive)
Headers show
Series powerpc/pseries/vas: VAS/NXGZIP support with LPM | expand

Message

Haren Myneni Feb. 19, 2022, 8:04 p.m. UTC
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.

Haren Myneni (4):
  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
  powerpc/pseries/vas: Disable window open during migration

 arch/powerpc/include/asm/vas.h            |   2 +
 arch/powerpc/platforms/pseries/mobility.c |   5 +
 arch/powerpc/platforms/pseries/vas.c      | 234 +++++++++++++++++-----
 arch/powerpc/platforms/pseries/vas.h      |   6 +
 4 files changed, 201 insertions(+), 46 deletions(-)

Comments

Nicholas Piggin Feb. 23, 2022, 9:38 a.m. UTC | #1
Excerpts from Haren Myneni's message of February 20, 2022 6:04 am:
> 
> 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 problem is more that PAPR does not virtualise the VAS windows,
right? That's a whole other gripe but nothing you can do about it
here.

Thanks,
Nick

> 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.
> 
> Haren Myneni (4):
>   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
>   powerpc/pseries/vas: Disable window open during migration
> 
>  arch/powerpc/include/asm/vas.h            |   2 +
>  arch/powerpc/platforms/pseries/mobility.c |   5 +
>  arch/powerpc/platforms/pseries/vas.c      | 234 +++++++++++++++++-----
>  arch/powerpc/platforms/pseries/vas.h      |   6 +
>  4 files changed, 201 insertions(+), 46 deletions(-)
> 
> -- 
> 2.27.0
> 
> 
>
Haren Myneni Feb. 23, 2022, 9:43 a.m. UTC | #2
On Wed, 2022-02-23 at 19:38 +1000, Nicholas Piggin wrote:
> Excerpts from Haren Myneni's message of February 20, 2022 6:04 am:
> > 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 problem is more that PAPR does not virtualise the VAS windows,
> right? That's a whole other gripe but nothing you can do about it
> here.

Yes, There is no virtualization with VAS windows and they are specific
to the chip. 

> 
> Thanks,
> Nick
> 
> > 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.
> > 
> > Haren Myneni (4):
> >   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
> >   powerpc/pseries/vas: Disable window open during migration
> > 
> >  arch/powerpc/include/asm/vas.h            |   2 +
> >  arch/powerpc/platforms/pseries/mobility.c |   5 +
> >  arch/powerpc/platforms/pseries/vas.c      | 234 +++++++++++++++++-
> > ----
> >  arch/powerpc/platforms/pseries/vas.h      |   6 +
> >  4 files changed, 201 insertions(+), 46 deletions(-)
> > 
> > -- 
> > 2.27.0
> > 
> > 
> >