From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: virtio-dev@lists.oasis-open.org, kvm list <kvm@vger.kernel.org>,
David Hildenbrand <david@redhat.com>,
Dave Hansen <dave.hansen@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Matthew Wilcox <willy@infradead.org>,
Michal Hocko <mhocko@kernel.org>, linux-mm <linux-mm@kvack.org>,
Vlastimil Babka <vbabka@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@techsingularity.net>,
linux-arm-kernel@lists.infradead.org,
Oscar Salvador <osalvador@suse.de>,
Yang Zhang <yang.zhang.wz@gmail.com>,
Pankaj Gupta <pagupta@redhat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Nitesh Narayan Lal <nitesh@redhat.com>,
Rik van Riel <riel@surriel.com>,
lcapitulino@redhat.com, "Wang, Wei W" <wei.w.wang@intel.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Dan Williams <dan.j.williams@intel.com>,
Alexander Duyck <alexander.h.duyck@linux.intel.com>
Subject: [virtio-dev] Re: [PATCH v10 3/6] mm: Introduce Reported pages
Date: Mon, 23 Sep 2019 11:37:45 -0400 [thread overview]
Message-ID: <20190923113722-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAKgT0Ufp0bdz3YkbAoKWd5DALFjAkHaSUn_UywW1+3hk4tjPSQ@mail.gmail.com>
On Mon, Sep 23, 2019 at 08:28:00AM -0700, Alexander Duyck wrote:
> On Mon, Sep 23, 2019 at 8:00 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Mon, Sep 23, 2019 at 07:50:15AM -0700, Alexander Duyck wrote:
> > > > > +static inline void
> > > > > +page_reporting_reset_boundary(struct zone *zone, unsigned int order, int mt)
> > > > > +{
> > > > > + int index;
> > > > > +
> > > > > + if (order < PAGE_REPORTING_MIN_ORDER)
> > > > > + return;
> > > > > + if (!test_bit(ZONE_PAGE_REPORTING_ACTIVE, &zone->flags))
> > > > > + return;
> > > > > +
> > > > > + index = get_reporting_index(order, mt);
> > > > > + reported_boundary[index] = &zone->free_area[order].free_list[mt];
> > > > > +}
> > > >
> > > > So this seems to be costly.
> > > > I'm guessing it's the access to flags:
> > > >
> > > >
> > > > /* zone flags, see below */
> > > > unsigned long flags;
> > > >
> > > > /* Primarily protects free_area */
> > > > spinlock_t lock;
> > > >
> > > >
> > > >
> > > > which is in the same cache line as the lock.
> > >
> > > I'm not sure what you mean by this being costly?
> >
> > I've just been wondering why does will it scale report a 1.5% regression
> > with this patch.
>
> Are you talking about data you have collected from a test you have
> run, or the data I have run?
About the kernel test robot auto report that was sent recently.
> In the case of the data I have run I notice almost no difference as
> long as the pages are not actually being madvised. Once I turn on the
> madvise then I start seeing the regression, but almost all of that is
> due to page zeroing/faulting. There isn't expected to be a gain from
> this patchset until you start having guests dealing with memory
> overcommit on the host. Then at that point the patch set should start
> showing gains when the madvise bits are enabled in QEMU.
>
> Also the test I have been running is a modified version of the
> page_fault1 test to specifically target transparent huge pages in
> order to make this test that much more difficult, the standard
> page_fault1 test wasn't showing much of anything since the overhead
> for breaking a 2M page into 512 4K pages and zeroing those
> individually in the guest was essentially drowning out the effect of
> the patches themselves.
>
> - Alex
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Yang Zhang <yang.zhang.wz@gmail.com>,
Pankaj Gupta <pagupta@redhat.com>, kvm list <kvm@vger.kernel.org>,
David Hildenbrand <david@redhat.com>,
Michal Hocko <mhocko@kernel.org>, linux-mm <linux-mm@kvack.org>,
Alexander Duyck <alexander.h.duyck@linux.intel.com>,
Andrea Arcangeli <aarcange@redhat.com>,
virtio-dev@lists.oasis-open.org,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Matthew Wilcox <willy@infradead.org>,
"Wang, Wei W" <wei.w.wang@intel.com>,
Vlastimil Babka <vbabka@suse.cz>, Rik van Riel <riel@surriel.com>,
Dan Williams <dan.j.williams@intel.com>,
lcapitulino@redhat.com, linux-arm-kernel@lists.infradead.org,
Oscar Salvador <osalvador@suse.de>,
Nitesh Narayan Lal <nitesh@redhat.com>,
Dave Hansen <dave.hansen@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@techsingularity.net>
Subject: Re: [PATCH v10 3/6] mm: Introduce Reported pages
Date: Mon, 23 Sep 2019 11:37:45 -0400 [thread overview]
Message-ID: <20190923113722-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAKgT0Ufp0bdz3YkbAoKWd5DALFjAkHaSUn_UywW1+3hk4tjPSQ@mail.gmail.com>
On Mon, Sep 23, 2019 at 08:28:00AM -0700, Alexander Duyck wrote:
> On Mon, Sep 23, 2019 at 8:00 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Mon, Sep 23, 2019 at 07:50:15AM -0700, Alexander Duyck wrote:
> > > > > +static inline void
> > > > > +page_reporting_reset_boundary(struct zone *zone, unsigned int order, int mt)
> > > > > +{
> > > > > + int index;
> > > > > +
> > > > > + if (order < PAGE_REPORTING_MIN_ORDER)
> > > > > + return;
> > > > > + if (!test_bit(ZONE_PAGE_REPORTING_ACTIVE, &zone->flags))
> > > > > + return;
> > > > > +
> > > > > + index = get_reporting_index(order, mt);
> > > > > + reported_boundary[index] = &zone->free_area[order].free_list[mt];
> > > > > +}
> > > >
> > > > So this seems to be costly.
> > > > I'm guessing it's the access to flags:
> > > >
> > > >
> > > > /* zone flags, see below */
> > > > unsigned long flags;
> > > >
> > > > /* Primarily protects free_area */
> > > > spinlock_t lock;
> > > >
> > > >
> > > >
> > > > which is in the same cache line as the lock.
> > >
> > > I'm not sure what you mean by this being costly?
> >
> > I've just been wondering why does will it scale report a 1.5% regression
> > with this patch.
>
> Are you talking about data you have collected from a test you have
> run, or the data I have run?
About the kernel test robot auto report that was sent recently.
> In the case of the data I have run I notice almost no difference as
> long as the pages are not actually being madvised. Once I turn on the
> madvise then I start seeing the regression, but almost all of that is
> due to page zeroing/faulting. There isn't expected to be a gain from
> this patchset until you start having guests dealing with memory
> overcommit on the host. Then at that point the patch set should start
> showing gains when the madvise bits are enabled in QEMU.
>
> Also the test I have been running is a modified version of the
> page_fault1 test to specifically target transparent huge pages in
> order to make this test that much more difficult, the standard
> page_fault1 test wasn't showing much of anything since the overhead
> for breaking a 2M page into 512 4K pages and zeroing those
> individually in the guest was essentially drowning out the effect of
> the patches themselves.
>
> - Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: virtio-dev@lists.oasis-open.org, kvm list <kvm@vger.kernel.org>,
David Hildenbrand <david@redhat.com>,
Dave Hansen <dave.hansen@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Matthew Wilcox <willy@infradead.org>,
Michal Hocko <mhocko@kernel.org>, linux-mm <linux-mm@kvack.org>,
Vlastimil Babka <vbabka@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@techsingularity.net>,
linux-arm-kernel@lists.infradead.org,
Oscar Salvador <osalvador@suse.de>,
Yang Zhang <yang.zhang.wz@gmail.com>,
Pankaj Gupta <pagupta@redhat.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Nitesh Narayan Lal <nitesh@redhat.com>,
Rik van Riel <riel@surriel.com>,
lcapitulino@redhat.com, "Wang, Wei W" <wei.w.wang@intel.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Dan Williams <dan.j.williams@intel.com>,
Alexander Duyck <alexander.h.duyck@linux.intel.com>
Subject: Re: [PATCH v10 3/6] mm: Introduce Reported pages
Date: Mon, 23 Sep 2019 11:37:45 -0400 [thread overview]
Message-ID: <20190923113722-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAKgT0Ufp0bdz3YkbAoKWd5DALFjAkHaSUn_UywW1+3hk4tjPSQ@mail.gmail.com>
On Mon, Sep 23, 2019 at 08:28:00AM -0700, Alexander Duyck wrote:
> On Mon, Sep 23, 2019 at 8:00 AM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Mon, Sep 23, 2019 at 07:50:15AM -0700, Alexander Duyck wrote:
> > > > > +static inline void
> > > > > +page_reporting_reset_boundary(struct zone *zone, unsigned int order, int mt)
> > > > > +{
> > > > > + int index;
> > > > > +
> > > > > + if (order < PAGE_REPORTING_MIN_ORDER)
> > > > > + return;
> > > > > + if (!test_bit(ZONE_PAGE_REPORTING_ACTIVE, &zone->flags))
> > > > > + return;
> > > > > +
> > > > > + index = get_reporting_index(order, mt);
> > > > > + reported_boundary[index] = &zone->free_area[order].free_list[mt];
> > > > > +}
> > > >
> > > > So this seems to be costly.
> > > > I'm guessing it's the access to flags:
> > > >
> > > >
> > > > /* zone flags, see below */
> > > > unsigned long flags;
> > > >
> > > > /* Primarily protects free_area */
> > > > spinlock_t lock;
> > > >
> > > >
> > > >
> > > > which is in the same cache line as the lock.
> > >
> > > I'm not sure what you mean by this being costly?
> >
> > I've just been wondering why does will it scale report a 1.5% regression
> > with this patch.
>
> Are you talking about data you have collected from a test you have
> run, or the data I have run?
About the kernel test robot auto report that was sent recently.
> In the case of the data I have run I notice almost no difference as
> long as the pages are not actually being madvised. Once I turn on the
> madvise then I start seeing the regression, but almost all of that is
> due to page zeroing/faulting. There isn't expected to be a gain from
> this patchset until you start having guests dealing with memory
> overcommit on the host. Then at that point the patch set should start
> showing gains when the madvise bits are enabled in QEMU.
>
> Also the test I have been running is a modified version of the
> page_fault1 test to specifically target transparent huge pages in
> order to make this test that much more difficult, the standard
> page_fault1 test wasn't showing much of anything since the overhead
> for breaking a 2M page into 512 4K pages and zeroing those
> individually in the guest was essentially drowning out the effect of
> the patches themselves.
>
> - Alex
next prev parent reply other threads:[~2019-09-23 15:37 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-18 17:52 [virtio-dev] [PATCH v10 0/6] mm / virtio: Provide support for unused page reporting Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` [virtio-dev] [PATCH v10 1/6] mm: Adjust shuffle code to allow for future coalescing Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` [virtio-dev] [PATCH v10 2/6] mm: Use zone and order instead of free area in free_list manipulators Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` [virtio-dev] [PATCH v10 3/6] mm: Introduce Reported pages Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-21 15:25 ` [mm] 0f5b256b2c: will-it-scale.per_process_ops -1.2% regression kernel test robot
2019-09-21 15:25 ` kernel test robot
2019-09-23 8:15 ` [virtio-dev] Re: [PATCH v10 3/6] mm: Introduce Reported pages Michael S. Tsirkin
2019-09-23 8:15 ` Michael S. Tsirkin
2019-09-23 8:15 ` Michael S. Tsirkin
2019-09-23 14:50 ` [virtio-dev] " Alexander Duyck
2019-09-23 14:50 ` Alexander Duyck
2019-09-23 14:50 ` Alexander Duyck
2019-09-23 15:00 ` [virtio-dev] " Michael S. Tsirkin
2019-09-23 15:00 ` Michael S. Tsirkin
2019-09-23 15:00 ` Michael S. Tsirkin
2019-09-23 15:28 ` [virtio-dev] " Alexander Duyck
2019-09-23 15:28 ` Alexander Duyck
2019-09-23 15:28 ` Alexander Duyck
2019-09-23 15:37 ` Michael S. Tsirkin [this message]
2019-09-23 15:37 ` Michael S. Tsirkin
2019-09-23 15:37 ` Michael S. Tsirkin
2019-09-23 15:45 ` [virtio-dev] " David Hildenbrand
2019-09-23 15:45 ` David Hildenbrand
2019-09-23 15:45 ` David Hildenbrand
2019-09-23 15:47 ` [virtio-dev] " David Hildenbrand
2019-09-23 15:47 ` David Hildenbrand
2019-09-23 15:47 ` David Hildenbrand
2019-09-23 15:50 ` [virtio-dev] " Michael S. Tsirkin
2019-09-23 15:50 ` Michael S. Tsirkin
2019-09-23 15:50 ` Michael S. Tsirkin
2019-09-23 15:53 ` [virtio-dev] " David Hildenbrand
2019-09-23 15:53 ` David Hildenbrand
2019-09-23 15:53 ` David Hildenbrand
2019-09-23 15:49 ` [virtio-dev] " Michael S. Tsirkin
2019-09-23 15:49 ` Michael S. Tsirkin
2019-09-23 15:49 ` Michael S. Tsirkin
2019-09-23 16:39 ` [virtio-dev] " Alexander Duyck
2019-09-23 16:39 ` Alexander Duyck
2019-09-23 16:39 ` Alexander Duyck
2019-09-18 17:52 ` [virtio-dev] [PATCH v10 4/6] mm: Add device side and notifier for unused page reporting Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:52 ` Alexander Duyck
2019-09-18 17:53 ` [virtio-dev] [PATCH v10 5/6] virtio-balloon: Pull page poisoning config out of free page hinting Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:58 ` [virtio-dev] " Michael S. Tsirkin
2019-09-18 17:58 ` Michael S. Tsirkin
2019-09-18 17:58 ` Michael S. Tsirkin
2019-09-18 18:05 ` [virtio-dev] " Alexander Duyck
2019-09-18 18:05 ` Alexander Duyck
2019-09-18 18:05 ` Alexander Duyck
2019-09-18 17:53 ` [virtio-dev] [PATCH v10 6/6] virtio-balloon: Add support for providing unused page reports to host Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` [virtio-dev] [PATCH v10 QEMU 1/3] virtio-ballon: Implement support for page poison tracking feature Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` [virtio-dev] [PATCH v10 QEMU 2/3] virtio-balloon: Add bit to notify guest of unused page reporting Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` [virtio-dev] [PATCH v10 QEMU 3/3] virtio-balloon: Provide a interface for " Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-18 17:53 ` Alexander Duyck
2019-09-24 14:23 ` [PATCH v10 0/6] mm / virtio: Provide support " Michal Hocko
2019-09-24 14:23 ` Michal Hocko
2019-09-24 15:20 ` [virtio-dev] " Alexander Duyck
2019-09-24 15:20 ` Alexander Duyck
2019-09-24 15:20 ` Alexander Duyck
2019-09-26 12:22 ` Michal Hocko
2019-09-26 12:22 ` Michal Hocko
2019-09-26 15:13 ` [virtio-dev] " Alexander Duyck
2019-09-26 15:13 ` Alexander Duyck
2019-09-26 15:13 ` Alexander Duyck
2019-09-24 15:32 ` [virtio-dev] " David Hildenbrand
2019-09-24 15:32 ` David Hildenbrand
2019-09-24 15:32 ` David Hildenbrand
2019-09-24 15:51 ` [virtio-dev] " Nitesh Narayan Lal
2019-09-24 15:51 ` Nitesh Narayan Lal
2019-09-24 15:51 ` Nitesh Narayan Lal
2019-09-24 17:07 ` [virtio-dev] " Alexander Duyck
2019-09-24 17:07 ` Alexander Duyck
2019-09-24 17:07 ` Alexander Duyck
2019-09-24 17:28 ` [virtio-dev] " David Hildenbrand
2019-09-24 17:28 ` David Hildenbrand
2019-09-24 17:28 ` David Hildenbrand
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=20190923113722-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.duyck@gmail.com \
--cc=alexander.h.duyck@linux.intel.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-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=mhocko@kernel.org \
--cc=nitesh@redhat.com \
--cc=osalvador@suse.de \
--cc=pagupta@redhat.com \
--cc=pbonzini@redhat.com \
--cc=riel@surriel.com \
--cc=vbabka@suse.cz \
--cc=virtio-dev@lists.oasis-open.org \
--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 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.