On Mon, 30 May 2022 09:37:37 +0200 Nico Boehr <nrb@xxxxxxxxxxxxx> wrote: > On Thu, 2022-04-14 at 10:03 +0200, Claudio Imbrenda wrote: > > Move the Destroy Secure Configuration UVC before the loop to destroy > > the memory. If the protected VM has memory, it will be cleaned up and > > made accessible by the Destroy Secure Configuraion UVC. The struct > > page for the relevant pages will still have the protected bit set, so > > the loop is still needed to clean that up. > > > > Switching the order of those two operations does not change the > > outcome, but it is significantly faster. > > > > Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > > Reviewed-by: Nico Boehr <nrb@xxxxxxxxxxxxx> > > See one tiny thing below. > > > diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c > > index be3b467f8feb..bd850be08c86 100644 > > --- a/arch/s390/kvm/pv.c > > +++ b/arch/s390/kvm/pv.c > [...] > > - cc = uv_cmd_nodata(kvm_s390_pv_get_handle(kvm), > > - UVC_CMD_DESTROY_SEC_CONF, rc, rrc); > > WRITE_ONCE(kvm->arch.gmap->guest_handle, 0); > > Maybe it makes sense to also move the WRITE_ONCE up. yes, I'll move it up, so that it is right after the UVC again