From: Sean Christopherson <seanjc@google.com>
To: "wangyanan (Y)" <wangyanan55@huawei.com>
Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
Ben Gardon <bgardon@google.com>,
Andrew Jones <drjones@redhat.com>, Peter Xu <peterx@redhat.com>,
Aaron Lewis <aaronlewis@google.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [PATCH 04/15] KVM: selftests: Force stronger HVA alignment (1gb) for hugepages
Date: Fri, 12 Mar 2021 16:26:36 -0800 [thread overview]
Message-ID: <YEwGvHe+wcaEG0W8@google.com> (raw)
In-Reply-To: <9a870968-f381-3e0b-2840-62b7c2b2e032@huawei.com>
On Thu, Feb 25, 2021, wangyanan (Y) wrote:
>
> On 2021/2/11 7:06, Sean Christopherson wrote:
> > Align the HVA for hugepage memslots to 1gb, as opposed to incorrectly
> > assuming all architectures' hugepages are 512*page_size.
> >
> > For x86, multiplying by 512 is correct, but only for 2mb pages, e.g.
> > systems that support 1gb pages will never be able to use them for mapping
> > guest memory, and thus those flows will not be exercised.
> >
> > For arm64, powerpc, and s390 (and mips?), hardcoding the multiplier to
> > 512 is either flat out wrong, or at best correct only in certain
> > configurations.
> >
> > Hardcoding the _alignment_ to 1gb is a compromise between correctness and
> > simplicity. Due to the myriad flavors of hugepages across architectures,
> > attempting to enumerate the exact hugepage size is difficult, and likely
> > requires probing the kernel.
> >
> > But, there is no need for precision since a stronger alignment will not
> > prevent creating a smaller hugepage. For all but the most extreme cases,
> > e.g. arm64's 16gb contiguous PMDs, aligning to 1gb is sufficient to allow
> > KVM to back the guest with hugepages.
> I have implemented a helper get_backing_src_pagesz() to get granularity of
> different
> backing src types (anonymous/thp/hugetlb) which is suitable for different
> architectures.
> See:
> https://lore.kernel.org/lkml/20210225055940.18748-6-wangyanan55@huawei.com/
> if it looks fine for you, maybe we can use the accurate page sizes for
> GPA/HVA alignment:).
Works for me. I'll probably just wait until your series is queued to send v2.
Thanks again!
next prev parent reply other threads:[~2021-03-13 0:30 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-10 23:06 [PATCH 00/15] VM: selftests: Hugepage fixes and cleanups Sean Christopherson
2021-02-10 23:06 ` [PATCH 01/15] KVM: selftests: Explicitly state indicies for vm_guest_mode_params array Sean Christopherson
2021-02-11 0:50 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 02/15] KVM: selftests: Expose align() helpers to tests Sean Christopherson
2021-02-11 0:49 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 03/15] KVM: selftests: Align HVA for HugeTLB-backed memslots Sean Christopherson
2021-02-11 0:52 ` Ben Gardon
2021-02-25 7:40 ` wangyanan (Y)
2021-03-13 0:17 ` Sean Christopherson
2021-02-10 23:06 ` [PATCH 04/15] KVM: selftests: Force stronger HVA alignment (1gb) for hugepages Sean Christopherson
2021-02-25 7:57 ` wangyanan (Y)
2021-03-13 0:26 ` Sean Christopherson [this message]
2021-02-10 23:06 ` [PATCH 05/15] KVM: selftests: Require GPA to be aligned when backed by hugepages Sean Christopherson
2021-02-11 1:01 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 06/15] KVM: selftests: Use shorthand local var to access struct perf_tests_args Sean Christopherson
2021-02-11 1:09 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 07/15] KVM: selftests: Capture per-vCPU GPA in perf_test_vcpu_args Sean Christopherson
2021-02-11 1:24 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 08/15] KVM: selftests: Use perf util's per-vCPU GPA/pages in demand paging test Sean Christopherson
2021-02-11 1:23 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 09/15] KVM: selftests: Move per-VM GPA into perf_test_args Sean Christopherson
2021-02-11 1:22 ` Ben Gardon
2021-02-11 1:56 ` Sean Christopherson
2021-02-11 13:12 ` Paolo Bonzini
2021-02-11 15:57 ` Sean Christopherson
2021-02-11 17:33 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 10/15] KVM: selftests: Remove perf_test_args.host_page_size Sean Christopherson
2021-02-11 1:26 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 11/15] KVM: selftests: Create VM with adjusted number of guest pages for perf tests Sean Christopherson
2021-02-11 1:32 ` Ben Gardon
2021-02-10 23:06 ` [PATCH 12/15] KVM: selftests: Fill per-vCPU struct during "perf_test" VM creation Sean Christopherson
2021-02-10 23:06 ` [PATCH 13/15] KVM: selftests: Sync perf_test_args to guest during " Sean Christopherson
2021-02-10 23:06 ` [PATCH 14/15] KVM: selftests: Track size of per-VM memslot in perf_test_args Sean Christopherson
2021-02-10 23:06 ` [PATCH 15/15] KVM: selftests: Get rid of gorilla math in memslots modification test Sean Christopherson
2021-02-11 11:58 ` [PATCH 00/15] VM: selftests: Hugepage fixes and cleanups Andrew Jones
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=YEwGvHe+wcaEG0W8@google.com \
--to=seanjc@google.com \
--cc=aaronlewis@google.com \
--cc=bgardon@google.com \
--cc=drjones@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=wangyanan55@huawei.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.