From: Mel Gorman <mgorman@techsingularity.net>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: kvm@vger.kernel.org, david@redhat.com, mst@redhat.com,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org, yang.zhang.wz@gmail.com,
pagupta@redhat.com, konrad.wilk@oracle.com, nitesh@redhat.com,
riel@surriel.com, willy@infradead.org, lcapitulino@redhat.com,
dave.hansen@intel.com, wei.w.wang@intel.com, aarcange@redhat.com,
pbonzini@redhat.com, dan.j.williams@intel.com, mhocko@kernel.org,
alexander.h.duyck@linux.intel.com, vbabka@suse.cz,
osalvador@suse.de
Subject: Re: [PATCH v17 8/9] mm/page_reporting: Add budget limit on how many pages can be reported per pass
Date: Wed, 19 Feb 2020 15:02:15 +0000 [thread overview]
Message-ID: <20200219150215.GU3466@techsingularity.net> (raw)
In-Reply-To: <20200211224719.29318.72113.stgit@localhost.localdomain>
On Tue, Feb 11, 2020 at 02:47:19PM -0800, Alexander Duyck wrote:
> From: Alexander Duyck <alexander.h.duyck@linux.intel.com>
>
> In order to keep ourselves from reporting pages that are just going to be
> reused again in the case of heavy churn we can put a limit on how many
> total pages we will process per pass. Doing this will allow the worker
> thread to go into idle much more quickly so that we avoid competing with
> other threads that might be allocating or freeing pages.
>
> The logic added here will limit the worker thread to no more than one
> sixteenth of the total free pages in a given area per list. Once that limit
> is reached it will update the state so that at the end of the pass we will
> reschedule the worker to try again in 2 seconds when the memory churn has
> hopefully settled down.
>
> Again this optimization doesn't show much of a benefit in the standard case
> as the memory churn is minmal. However with page allocator shuffling
> enabled the gain is quite noticeable. Below are the results with a THP
> enabled version of the will-it-scale page_fault1 test showing the
> improvement in iterations for 16 processes or threads.
>
> Without:
> tasks processes processes_idle threads threads_idle
> 16 8283274.75 0.17 5594261.00 38.15
>
> With:
> tasks processes processes_idle threads threads_idle
> 16 8767010.50 0.21 5791312.75 36.98
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Seems fair. The test case you used would have been pounding on the zone
lock at fairly high frequency so it represents a worst-case scenario but
not necessarily an unrealistic one
Acked-by: Mel Gorman <mgorman@techsingularity.net>
--
Mel Gorman
SUSE Labs
next prev parent reply other threads:[~2020-02-19 15:02 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-11 22:45 [PATCH v17 0/9] mm / virtio: Provide support for free page reporting Alexander Duyck
2020-02-11 22:46 ` [PATCH v17 1/9] mm: Adjust shuffle code to allow for future coalescing Alexander Duyck
2020-02-11 22:46 ` [PATCH v17 2/9] mm: Use zone and order instead of free area in free_list manipulators Alexander Duyck
2020-02-11 22:46 ` [PATCH v17 3/9] mm: Add function __putback_isolated_page Alexander Duyck
2020-02-19 14:33 ` Mel Gorman
2020-02-11 22:46 ` [PATCH v17 4/9] mm: Introduce Reported pages Alexander Duyck
2020-02-19 14:55 ` Mel Gorman
2020-02-20 18:44 ` Alexander Duyck
2020-02-20 22:35 ` Mel Gorman
2020-02-21 19:25 ` Alexander Duyck
2020-02-21 20:19 ` Mel Gorman
2020-02-11 22:46 ` [PATCH v17 5/9] virtio-balloon: Pull page poisoning config out of free page hinting Alexander Duyck
2020-02-11 22:46 ` [PATCH v17 6/9] virtio-balloon: Add support for providing free page reports to host Alexander Duyck
2020-02-11 22:47 ` [PATCH v17 7/9] mm/page_reporting: Rotate reported pages to the tail of the list Alexander Duyck
2020-02-19 14:59 ` Mel Gorman
2020-02-11 22:47 ` [PATCH v17 8/9] mm/page_reporting: Add budget limit on how many pages can be reported per pass Alexander Duyck
2020-02-19 15:02 ` Mel Gorman [this message]
2020-02-11 22:47 ` [PATCH v17 9/9] mm/page_reporting: Add free page reporting documentation Alexander Duyck
2020-02-11 22:51 ` [virtio-dev] [PATCH v17 QEMU 1/3] virtio-ballon: Implement support for page poison tracking feature Alexander Duyck
2020-02-11 22:51 ` Alexander Duyck
2020-02-11 22:51 ` [virtio-dev] [PATCH v17 QEMU 2/3] virtio-balloon: Add support for providing free page reports to host Alexander Duyck
2020-02-11 22:51 ` Alexander Duyck
2020-02-11 22:51 ` [virtio-dev] [PATCH v17 QEMU 3/3] virtio-balloon: Provide a interface for free page reporting Alexander Duyck
2020-02-11 22:51 ` Alexander Duyck
2020-02-11 22:53 ` [virtio-dev] [PATCH v17 QEMU 4/3 RFC] memory: Add support for MADV_FREE as mechanism to lazy discard pages Alexander Duyck
2020-02-11 22:53 ` Alexander Duyck
2020-02-11 23:05 ` [PATCH v17 0/9] mm / virtio: Provide support for free page reporting Andrew Morton
2020-02-11 23:55 ` Alexander Duyck
2020-02-12 0:19 ` Andrew Morton
2020-02-12 1:19 ` Alexander Duyck
2020-02-18 16:37 ` Alexander Duyck
2020-02-19 8:49 ` Mel Gorman
2020-02-19 15:06 ` Mel Gorman
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=20200219150215.GU3466@techsingularity.net \
--to=mgorman@techsingularity.net \
--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-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=mst@redhat.com \
--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=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.