All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: Janosch Frank <frankja@linux.ibm.com>
Cc: kvm@vger.kernel.org, borntraeger@de.ibm.com, thuth@redhat.com,
	pasic@linux.ibm.com, david@redhat.com,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	scgl@linux.ibm.com
Subject: Re: [PATCH v7 15/17] KVM: s390: pv: api documentation for asynchronous destroy
Date: Mon, 7 Feb 2022 16:17:19 +0100	[thread overview]
Message-ID: <20220207161719.5147058a@p-imbrenda> (raw)
In-Reply-To: <99296cad-5f74-d9ab-544c-b2d1a557b226@linux.ibm.com>

On Mon, 7 Feb 2022 15:52:37 +0100
Janosch Frank <frankja@linux.ibm.com> wrote:

> On 2/4/22 16:53, Claudio Imbrenda wrote:
> > Add documentation for the new commands added to the KVM_S390_PV_COMMAND
> > ioctl.
> > 
> > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> > ---
> >   Documentation/virt/kvm/api.rst | 21 ++++++++++++++++++---
> >   1 file changed, 18 insertions(+), 3 deletions(-)
> > 
> > diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst
> > index a4267104db50..3b9068aceead 100644
> > --- a/Documentation/virt/kvm/api.rst
> > +++ b/Documentation/virt/kvm/api.rst
> > @@ -5010,11 +5010,13 @@ KVM_PV_ENABLE
> >     =====      =============================
> >   
> >   KVM_PV_DISABLE
> > -
> >     Deregister the VM from the Ultravisor and reclaim the memory that
> >     had been donated to the Ultravisor, making it usable by the kernel
> > -  again.  All registered VCPUs are converted back to non-protected
> > -  ones.
> > +  again. All registered VCPUs are converted back to non-protected
> > +  ones. If a previous VM had been prepared for asynchonous teardown
> > +  with KVM_PV_ASYNC_DISABLE_PREPARE and not actually torn down with
> > +  KVM_PV_ASYNC_DISABLE, it will be torn down in this call together with
> > +  the current VM.
> >   
> >   KVM_PV_VM_SET_SEC_PARMS
> >     Pass the image header from VM memory to the Ultravisor in
> > @@ -5027,6 +5029,19 @@ KVM_PV_VM_VERIFY
> >     Verify the integrity of the unpacked image. Only if this succeeds,
> >     KVM is allowed to start protected VCPUs.
> >   
> > +KVM_PV_ASYNC_DISABLE_PREPARE
> > +  Prepare the current protected VM for asynchronous teardown. The current  
> 
> I think the first sentence needs a few more examples of what we do so 
> the second sentence makes more sense.
> 
> ...by setting aside the pointers to the donated storage, replacing the 
> top most page table, destroying the first 2GB of memory and zeroing the 
> KVM PV structs.

I'm not sure we should give out implementation details, which might
change with newer kernel and/or hardware versions

> 
> 
> Or something which sounds a bit nicer.
> 
> > +  VM will then continue immediately as non-protected. If a protected VM had
> > +  already been set aside without starting the teardown process, this call
> > +  will fail. In this case the userspace process should issue a normal
> > +  KVM_PV_DISABLE.
> > +
> > +KVM_PV_ASYNC_DISABLE
> > +  Tear down the protected VM previously set aside for asynchronous teardown.
> > +  This PV command should ideally be issued by userspace from a separate
> > +  thread. If a fatal signal is received (or the process terminates
> > +  naturally), the command will terminate immediately without completing.
> > +
> >   4.126 KVM_X86_SET_MSR_FILTER
> >   ----------------------------
> >   
> >   
> 


  reply	other threads:[~2022-02-07 15:32 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-04 15:53 [PATCH v7 00/17] KVM: s390: pv: implement lazy destroy for reboot Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 01/17] KVM: s390: pv: leak the topmost page table when destroy fails Claudio Imbrenda
2022-02-07  8:56   ` Janosch Frank
2022-02-07  9:02     ` Claudio Imbrenda
2022-02-07 14:33     ` Heiko Carstens
2022-02-07 14:49       ` Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 02/17] KVM: s390: pv: handle secure storage violations for protected guests Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 03/17] KVM: s390: pv: handle secure storage exceptions for normal guests Claudio Imbrenda
2022-02-04 19:51   ` kernel test robot
2022-02-04 19:51     ` kernel test robot
2022-02-07  9:40   ` Janosch Frank
2022-02-04 15:53 ` [PATCH v7 04/17] KVM: s390: pv: refactor s390_reset_acc Claudio Imbrenda
2022-02-07 10:02   ` Janosch Frank
2022-02-07 10:47     ` Claudio Imbrenda
2022-02-07 10:56       ` Janosch Frank
2022-02-07 11:01         ` Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 05/17] KVM: s390: pv: usage counter instead of flag Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 06/17] KVM: s390: pv: add export before import Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 07/17] KVM: s390: pv: module parameter to fence lazy destroy Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 08/17] KVM: s390: pv: make kvm_s390_cpus_from_pv global Claudio Imbrenda
2022-02-07 10:15   ` Janosch Frank
2022-02-04 15:53 ` [PATCH v7 09/17] KVM: s390: pv: clear the state without memset Claudio Imbrenda
2022-02-07 10:09   ` Janosch Frank
2022-02-04 15:53 ` [PATCH v7 10/17] KVM: s390: pv: add mmu_notifier Claudio Imbrenda
2022-02-04 21:22   ` kernel test robot
2022-02-04 21:22     ` kernel test robot
2022-02-04 21:22   ` kernel test robot
2022-02-04 21:22     ` kernel test robot
2022-02-07 11:04   ` Janosch Frank
2022-02-07 12:16     ` Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 11/17] s390/mm: KVM: pv: when tearing down, try to destroy protected pages Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 12/17] KVM: s390: pv: refactoring of kvm_s390_pv_deinit_vm Claudio Imbrenda
2022-02-07 11:06   ` Janosch Frank
2022-02-04 15:53 ` [PATCH v7 13/17] KVM: s390: pv: cleanup leftover protected VMs if needed Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 14/17] KVM: s390: pv: asynchronous destroy for reboot Claudio Imbrenda
2022-02-04 15:53 ` [PATCH v7 15/17] KVM: s390: pv: api documentation for asynchronous destroy Claudio Imbrenda
2022-02-07 14:52   ` Janosch Frank
2022-02-07 15:17     ` Claudio Imbrenda [this message]
2022-02-04 15:53 ` [PATCH v7 16/17] KVM: s390: pv: add KVM_CAP_S390_PROT_REBOOT_ASYNC Claudio Imbrenda
2022-02-07 14:37   ` Janosch Frank
2022-02-07 15:19     ` Claudio Imbrenda
2022-02-07 15:40       ` Janosch Frank
2022-02-04 15:53 ` [PATCH v7 17/17] KVM: s390: pv: avoid export before import if possible Claudio Imbrenda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220207161719.5147058a@p-imbrenda \
    --to=imbrenda@linux.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pasic@linux.ibm.com \
    --cc=scgl@linux.ibm.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.