lkml.org 
[lkml]   [2022]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v6 11/17] s390/mm: KVM: pv: when tearing down, try to destroy protected pages
    From
    On 12/3/21 17:58, Claudio Imbrenda wrote:
    > When ptep_get_and_clear_full is called for a mm teardown, we will now
    > attempt to destroy the secure pages. This will be faster than export.
    >
    > In case it was not a teardown, or if for some reason the destroy page
    > UVC failed, we try with an export page, like before.
    >
    > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

    Acked-by: Janosch Frank <frankja@linux.ibm.com>

    > ---
    > arch/s390/include/asm/pgtable.h | 9 +++++++--
    > 1 file changed, 7 insertions(+), 2 deletions(-)
    >
    > diff --git a/arch/s390/include/asm/pgtable.h b/arch/s390/include/asm/pgtable.h
    > index 23ca0d8e058a..c008b354573e 100644
    > --- a/arch/s390/include/asm/pgtable.h
    > +++ b/arch/s390/include/asm/pgtable.h
    > @@ -1118,9 +1118,14 @@ static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm,
    > } else {
    > res = ptep_xchg_lazy(mm, addr, ptep, __pte(_PAGE_INVALID));
    > }
    > + /* Nothing to do */
    > + if (!mm_is_protected(mm) || !pte_present(res))
    > + return res;
    > /* At this point the reference through the mapping is still present */
    > - if (mm_is_protected(mm) && pte_present(res))
    > - uv_convert_owned_from_secure(pte_val(res) & PAGE_MASK);

    Add comment:
    The notifier should have tried to destroy the cpus which allows us to
    destroy pages. So here we'll try to destroy the pages but if that fails
    we fall back to a normal but slower export.

    > + if (full && !uv_destroy_owned_page(pte_val(res) & PAGE_MASK))
    > + return res;
    > + /* If could not destroy, we try export */
    > + uv_convert_owned_from_secure(pte_val(res) & PAGE_MASK);
    > return res;
    > }
    >
    >

    \
     
     \ /
      Last update: 2022-01-13 11:39    [W:4.169 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site