diff mbox series

[v2,13/13] KVM: s390: pv: add support for UV feature bits

Message ID 20210728142631.41860-14-imbrenda@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series KVM: s390: pv: implement lazy destroy | expand

Commit Message

Claudio Imbrenda July 28, 2021, 2:26 p.m. UTC
Add support for Ultravisor feature bits, and take advantage of the
functionality advertised to speed up the lazy destroy mechanism.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
 arch/s390/kernel/uv.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Janosch Frank July 29, 2021, 9:52 a.m. UTC | #1
On 7/28/21 4:26 PM, Claudio Imbrenda wrote:
> Add support for Ultravisor feature bits, and take advantage of the
> functionality advertised to speed up the lazy destroy mechanism.

UV feature bit support is already merged please fix the description and
subject.

> 
> Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
>  arch/s390/kernel/uv.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c
> index f0af49b09a91..6ec3d7338ec8 100644
> --- a/arch/s390/kernel/uv.c
> +++ b/arch/s390/kernel/uv.c
> @@ -290,7 +290,8 @@ static int make_secure_pte(pte_t *ptep, unsigned long addr,
>  
>  static bool should_export_before_import(struct uv_cb_header *uvcb, struct mm_struct *mm)
>  {
> -	return uvcb->cmd != UVC_CMD_UNPIN_PAGE_SHARED &&
> +	return !test_bit_inv(BIT_UV_FEAT_MISC, &uv_info.uv_feature_indications) &&
> +		uvcb->cmd != UVC_CMD_UNPIN_PAGE_SHARED &&
>  		atomic_read(&mm->context.is_protected) > 1;
>  }
>  
>
Claudio Imbrenda July 29, 2021, 1:28 p.m. UTC | #2
On Thu, 29 Jul 2021 11:52:58 +0200
Janosch Frank <frankja@linux.ibm.com> wrote:

> On 7/28/21 4:26 PM, Claudio Imbrenda wrote:
> > Add support for Ultravisor feature bits, and take advantage of the
> > functionality advertised to speed up the lazy destroy mechanism.  
> 
> UV feature bit support is already merged please fix the description
> and subject.

oops, will be fixed

> > 
> > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> > ---
> >  arch/s390/kernel/uv.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c
> > index f0af49b09a91..6ec3d7338ec8 100644
> > --- a/arch/s390/kernel/uv.c
> > +++ b/arch/s390/kernel/uv.c
> > @@ -290,7 +290,8 @@ static int make_secure_pte(pte_t *ptep,
> > unsigned long addr, 
> >  static bool should_export_before_import(struct uv_cb_header *uvcb,
> > struct mm_struct *mm) {
> > -	return uvcb->cmd != UVC_CMD_UNPIN_PAGE_SHARED &&
> > +	return !test_bit_inv(BIT_UV_FEAT_MISC,
> > &uv_info.uv_feature_indications) &&
> > +		uvcb->cmd != UVC_CMD_UNPIN_PAGE_SHARED &&
> >  		atomic_read(&mm->context.is_protected) > 1;
> >  }
> >  
> >   
>
diff mbox series

Patch

diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c
index f0af49b09a91..6ec3d7338ec8 100644
--- a/arch/s390/kernel/uv.c
+++ b/arch/s390/kernel/uv.c
@@ -290,7 +290,8 @@  static int make_secure_pte(pte_t *ptep, unsigned long addr,
 
 static bool should_export_before_import(struct uv_cb_header *uvcb, struct mm_struct *mm)
 {
-	return uvcb->cmd != UVC_CMD_UNPIN_PAGE_SHARED &&
+	return !test_bit_inv(BIT_UV_FEAT_MISC, &uv_info.uv_feature_indications) &&
+		uvcb->cmd != UVC_CMD_UNPIN_PAGE_SHARED &&
 		atomic_read(&mm->context.is_protected) > 1;
 }