Re: [PATCH v3 2/2] KVM: s390: fix for hugepage vmalloc

Claudio Imbrenda
2021-06-10T16:50:31Z

On Thu, 10 Jun 2021 17:56:58 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> On 10.06.21 17:42, Claudio Imbrenda wrote:
> > The Create Secure Configuration Ultravisor Call does not support
> > using large pages for the virtual memory area. This is a hardware
> > limitation.
> >
> > This patch replaces the vzalloc call with an almost equivalent call
> > to the newly introduced vmalloc_no_huge function, which guarantees
> > that only small pages will be used for the backing.
> >
> > The new call will not clear the allocated memory, but that has never
> > been an actual requirement.

^ here

> > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> > Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
> > Cc: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Nicholas Piggin <npiggin@gmail.com>
> > Cc: Uladzislau Rezki (Sony) <urezki@gmail.com>
> > Cc: Catalin Marinas <catalin.marinas@arm.com>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Ingo Molnar <mingo@redhat.com>
> > Cc: David Rientjes <rientjes@google.com>
> > Cc: Christoph Hellwig <hch@infradead.org>
> > ---
> > arch/s390/kvm/pv.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c
> > index 813b6e93dc83..ad7c6d7cc90b 100644
> > --- a/arch/s390/kvm/pv.c
> > +++ b/arch/s390/kvm/pv.c
> > @@ -140,7 +140,7 @@ static int kvm_s390_pv_alloc_vm(struct kvm *kvm)
> > /* Allocate variable storage */
> > vlen = ALIGN(virt * ((npages * PAGE_SIZE) / HPAGE_SIZE),
> > PAGE_SIZE); vlen += uv_info.guest_virt_base_stor_len;
> > - kvm->arch.pv.stor_var = vzalloc(vlen);
> > + kvm->arch.pv.stor_var = vmalloc_no_huge(vlen);
>
> dont we need a memset now?

no, as explained above

> > if (!kvm->arch.pv.stor_var)
> > goto out_err;
> > return 0;
> >