From: Ricardo Koller <ricarkol@google.com>
To: David Matlack <dmatlack@google.com>
Cc: Ben Gardon <bgardon@google.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
Paolo Bonzini <pbonzini@redhat.com>, Peter Xu <peterx@redhat.com>,
Sean Christopherson <seanjc@google.com>,
Vipin Sharma <vipinsh@google.com>
Subject: Re: [PATCH 2/2] selftests: KVM: Add page splitting test
Date: Tue, 24 Jan 2023 07:54:48 -0800 [thread overview]
Message-ID: <Y8//SKBTT2h2m8Cz@google.com> (raw)
In-Reply-To: <Y87UzmpCg9hXO2NI@google.com>
On Mon, Jan 23, 2023 at 10:41:18AM -0800, David Matlack wrote:
> On Fri, Jan 20, 2023 at 12:04:04PM -0800, Ben Gardon wrote:
> > On Fri, Jan 20, 2023 at 6:34 AM Ricardo Koller <ricarkol@google.com> wrote:
> > >
> > ...
> > > > > > > +
> > > > > > > + run_test(&p);
> > > > > >
> > > > > > Use for_each_guest_mode() to run against all supported guest modes.
> > > > >
> > > > > I'm not sure that would actually improve coverage. None of the page
> > > > > splitting behavior depends on the mode AFAICT.
> > > >
> > > > You need to use for_each_guest_mode() for the ARM case. The issue is
> > > > that whatever mode (guest page size and VA size) you pick might not be
> > > > supported by the host. So, you first to explore what's available (via
> > > > for_each_guest_mode()).
> > >
> > > Actually, that's fixed by using the default mode, which picks the
> > > first available
> > > mode. I would prefer to use for_each_guest_mode() though, who knows and
> > > something fails with some specific guest page size for some reason.
> >
> > Okay, will do. I wasn't sure if we did eager page splitting on ARM, so
>
> Ricardo is in the process of upstreaming eager page splitting for ARM:
>
> https://lore.kernel.org/kvm/20230113035000.480021-1-ricarkol@google.com/
>
> > I was only planning on making this test for x86_64 initially, hence it
> > being in that directory. If ARM rolls with the same behavior, then
> > I'll add the for_each_mode bit and move the test up a directory.
>
> In addition to for_each_guest_mode(), KVM/ARM will need to expose page
> size stats so the test can verify the splitting (yet another reason to
> have a common MMU).
>
> Ricardo, if you're interested in adding page size stats to KVM/ARM ahead
> of the Common MMU, e.g. to test eager page splitting, let me know.
Sure, I can do that. Sounds pretty useful too.
> I
> want to make sure we align on the userspace-visible stat names to avoid
> churn down the road. Specifically, do we want to expose neutral names
> like pages_{pte,pmd,pud} or expand the KVM/x86 list to include all of
> ARM's possible pages sizes like pages_{4k,16k,64k,...} (or both)?
I would prefer the latter, mainly to match the x86 names:
+ stats->pages_4k = vm_get_stat(vm, "pages_4k");
+ stats->pages_2m = vm_get_stat(vm, "pages_2m");
+ stats->pages_1g = vm_get_stat(vm, "pages_1g");
(from this patch)
but pages_{pte,pmd,pud} would certainly make this test simpler
as it would handle all guest page sizes:
+ stats->pages_pte = vm_get_stat(vm, "pages_pte");
next prev parent reply other threads:[~2023-01-24 15:54 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-19 21:25 [PATCH 0/2] selftests: KVM: Add a test for eager page splitting Ben Gardon
2023-01-19 21:25 ` [PATCH 1/2] selftests: KVM: Move dirty logging functions to memstress.(c|h) Ben Gardon
2023-01-19 21:25 ` [PATCH 2/2] selftests: KVM: Add page splitting test Ben Gardon
2023-01-19 22:55 ` David Matlack
2023-01-19 23:48 ` Ben Gardon
2023-01-20 14:23 ` Ricardo Koller
2023-01-20 14:33 ` Ricardo Koller
2023-01-20 20:04 ` Ben Gardon
2023-01-23 18:41 ` David Matlack
2023-01-24 15:54 ` Ricardo Koller [this message]
2023-01-24 17:15 ` David Matlack
2023-01-24 15:40 ` Ricardo Koller
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=Y8//SKBTT2h2m8Cz@google.com \
--to=ricarkol@google.com \
--cc=bgardon@google.com \
--cc=dmatlack@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=seanjc@google.com \
--cc=vipinsh@google.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.