From: Alexander Duyck <alexander.h.duyck@linux.intel.com>
To: Nitesh Narayan Lal <nitesh@redhat.com>,
Alexander Duyck <alexander.duyck@gmail.com>,
kvm@vger.kernel.org, david@redhat.com, mst@redhat.com,
dave.hansen@intel.com, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, akpm@linux-foundation.org
Cc: yang.zhang.wz@gmail.com, pagupta@redhat.com, riel@surriel.com,
konrad.wilk@oracle.com, willy@infradead.org,
lcapitulino@redhat.com, wei.w.wang@intel.com,
aarcange@redhat.com, pbonzini@redhat.com,
dan.j.williams@intel.com
Subject: Re: [PATCH v3 0/6] mm / virtio: Provide support for unused page reporting
Date: Fri, 02 Aug 2019 16:15:23 -0700 [thread overview]
Message-ID: <c43723f2acdf257309dca55eac900dc71bca31c3.camel@linux.intel.com> (raw)
In-Reply-To: <ac434f1cad234920c0e75fe809ac05053395524b.camel@linux.intel.com>
On Fri, 2019-08-02 at 10:28 -0700, Alexander Duyck wrote:
> On Fri, 2019-08-02 at 12:19 -0400, Nitesh Narayan Lal wrote:
> > On 8/2/19 11:13 AM, Alexander Duyck wrote:
> > > On Fri, 2019-08-02 at 10:41 -0400, Nitesh Narayan Lal wrote:
> > > > On 8/1/19 6:24 PM, Alexander Duyck wrote:
> > > > >
<snip>
> > > > > One side effect of these patches is that the guest becomes much more
> > > > > resilient in terms of NUMA locality. With the pages being freed and then
> > > > > reallocated when used it allows for the pages to be much closer to the
> > > > > active thread, and as a result there can be situations where this patch
> > > > > set will out-perform the stock kernel when the guest memory is not local
> > > > > to the guest vCPUs.
> > > > Was this the reason because of which you were seeing better results for
> > > > page_fault1 earlier?
> > > Yes I am thinking so. What I have found is that in the case where the
> > > patches are not applied on the guest it takes a few runs for the numbers
> > > to stabilize. What I think was going on is that I was running memhog to
> > > initially fill the guest and that was placing all the pages on one node or
> > > the other and as such was causing additional variability as the pages were
> > > slowly being migrated over to the other node to rebalance the workload.
> > > One way I tested it was by trying the unpatched case with a direct-
> > > assigned device since that forces it to pin the memory. In that case I was
> > > getting bad results consistently as all the memory was forced to come from
> > > one node during the pre-allocation process.
> > >
> >
> > I have also seen that the page_fault1 values take some time to get stabilize on
> > an unmodified kernel.
> > What I am wondering here is that if on a single NUMA guest doing the following
> > will give the right/better idea or not:
> >
> > 1. Pin the guest to a single NUMA node.
> > 2. Run memhog so that it touches all the guest memory.
> > 3. Run will-it-scale/page_fault1.
> >
> > Compare/observe the values for the last core (this is considering the other core
> > values doesn't drastically differ).
>
> I'll rerun the test with qemu affinitized to one specific socket. It will
> cut the core/thread count down to 8/16 on my test system. Also I will try
> with THP and page shuffling enabled.
Okay so results with 8/16 all affinitized to one socket, THP enabled
page_fault1, and shuffling enabled:
With page reporting disabled in the hypervisor there wasn't much
difference. I saw a range of 0.69% to -1.35% versus baseline, and an
average of 0.16% improvement. So effectively no change.
With page reporting enabled I saw a range of -2.10% to -4.50%, with an
average of -3.05% regression. This is much closer to what I would expect
for this patch set as the page faulting, double zeroing (once in host, and
once in guest), and hinting process itself should have some overhead.
prev parent reply other threads:[~2019-08-02 23:15 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-01 22:24 [PATCH v3 0/6] mm / virtio: Provide support for unused page reporting Alexander Duyck
2019-08-01 22:27 ` [PATCH v3 1/6] mm: Adjust shuffle code to allow for future coalescing Alexander Duyck
2019-08-01 22:29 ` [PATCH v3 2/6] mm: Move set/get_pcppage_migratetype to mmzone.h Alexander Duyck
2019-08-01 22:31 ` [PATCH v3 3/6] mm: Use zone and order instead of free area in free_list manipulators Alexander Duyck
2019-08-01 22:33 ` [PATCH v3 4/6] mm: Introduce Reported pages Alexander Duyck
2019-08-05 14:05 ` Nitesh Narayan Lal
2019-08-05 15:11 ` Alexander Duyck
2019-08-01 22:36 ` [PATCH v3 5/6] virtio-balloon: Pull page poisoning config out of free page hinting Alexander Duyck
2019-08-01 22:38 ` [PATCH v3 6/6] virtio-balloon: Add support for providing unused page reports to host Alexander Duyck
2019-08-05 16:00 ` Nitesh Narayan Lal
2019-08-05 16:27 ` Alexander Duyck
2019-08-06 11:31 ` Michael S. Tsirkin
2019-08-06 15:16 ` Alexander Duyck
2019-08-06 15:40 ` Nitesh Narayan Lal
2019-08-01 22:41 ` [PATCH v3 QEMU 1/2] virtio-ballon: Implement support for page poison tracking feature Alexander Duyck
2019-08-01 22:43 ` [PATCH v3 QEMU 2/2] virtio-balloon: Provide a interface for unused page reporting Alexander Duyck
2019-08-02 20:40 ` Nitesh Narayan Lal
2019-08-02 20:58 ` Alexander Duyck
2019-08-02 14:41 ` [PATCH v3 0/6] mm / virtio: Provide support " Nitesh Narayan Lal
2019-08-02 15:13 ` Alexander Duyck
2019-08-02 16:19 ` Nitesh Narayan Lal
2019-08-02 17:28 ` Alexander Duyck
2019-08-02 23:15 ` Alexander Duyck [this message]
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=c43723f2acdf257309dca55eac900dc71bca31c3.camel@linux.intel.com \
--to=alexander.h.duyck@linux.intel.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.duyck@gmail.com \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@intel.com \
--cc=david@redhat.com \
--cc=konrad.wilk@oracle.com \
--cc=kvm@vger.kernel.org \
--cc=lcapitulino@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mst@redhat.com \
--cc=nitesh@redhat.com \
--cc=pagupta@redhat.com \
--cc=pbonzini@redhat.com \
--cc=riel@surriel.com \
--cc=wei.w.wang@intel.com \
--cc=willy@infradead.org \
--cc=yang.zhang.wz@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).