From: Dan Williams <dan.j.williams@intel.com>
To: David Hildenbrand <david@redhat.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
Alexander Duyck <alexander.h.duyck@linux.intel.com>,
Michal Hocko <mhocko@suse.com>
Subject: Re: [PATCH v2 2/3] mm/memory_hotplug: document why shuffle_zone() is relevant
Date: Fri, 19 Jun 2020 18:41:21 -0700 [thread overview]
Message-ID: <CAPcyv4hgHmnKd-isUbSy5PjohjhhCL03Y00x0NO8=JOvexvUtw@mail.gmail.com> (raw)
In-Reply-To: <20200619125923.22602-3-david@redhat.com>
On Fri, Jun 19, 2020 at 6:00 AM David Hildenbrand <david@redhat.com> wrote:
>
> It's not completely obvious why we have to shuffle the complete zone, as
> some sort of shuffling is already performed when onlining pages via
> __free_one_page(), placing MAX_ORDER-1 pages either to the head or the tail
> of the freelist. Let's document why we have to shuffle the complete zone
> when exposing larger, contiguous physical memory areas to the buddy.
>
How about?
Fixes: e900a918b098 ("mm: shuffle initial free memory to improve
memory-side-cache utilization")
...just like Patch1 since that original commit was missing the proper
commentary in the code?
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Alexander Duyck <alexander.h.duyck@linux.intel.com>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Cc: Michal Hocko <mhocko@suse.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> mm/memory_hotplug.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index 9b34e03e730a4..a0d81d404823d 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -822,6 +822,14 @@ int __ref online_pages(unsigned long pfn, unsigned long nr_pages,
> zone->zone_pgdat->node_present_pages += onlined_pages;
> pgdat_resize_unlock(zone->zone_pgdat, &flags);
>
> + /*
> + * When exposing larger, physically contiguous memory areas to the
> + * buddy, shuffling in the buddy (when freeing onlined pages, putting
> + * them either to the head or the tail of the freelist) is only helpful
> + * for mainining the shuffle, but not for creating the initial shuffle.
s/mainining/maintaining/
> + * Shuffle the whole zone to make sure the just onlined pages are
> + * properly distributed across the whole freelist.
> + */
> shuffle_zone(zone);
>
> node_states_set_node(nid, &arg);
Other than the above minor fixups you can add:
Acked-by: Dan Williams <dan.j.williams@intel.com>
next prev parent reply other threads:[~2020-06-20 1:41 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-19 12:59 [PATCH v2 0/3] mm/shuffle: fix and cleanups David Hildenbrand
2020-06-19 12:59 ` [PATCH v2 1/3] mm/shuffle: don't move pages between zones and don't read garbage memmaps David Hildenbrand
2020-06-20 1:37 ` Williams, Dan J
2020-06-22 8:26 ` Wei Yang
2020-06-22 8:43 ` David Hildenbrand
2020-06-22 9:22 ` Wei Yang
2020-06-22 9:51 ` David Hildenbrand
2020-06-22 13:10 ` Wei Yang
2020-06-22 14:06 ` David Hildenbrand
2020-06-22 21:55 ` Wei Yang
2020-06-23 7:39 ` David Hildenbrand
2020-06-23 7:55 ` David Hildenbrand
2020-06-23 9:30 ` Wei Yang
2020-07-24 3:08 ` Andrew Morton
2020-07-24 5:45 ` Wei Yang
2020-07-24 8:20 ` David Hildenbrand
2020-06-22 14:11 ` David Hildenbrand
2020-06-19 12:59 ` [PATCH v2 2/3] mm/memory_hotplug: document why shuffle_zone() is relevant David Hildenbrand
2020-06-20 1:41 ` Dan Williams [this message]
2020-06-22 7:27 ` David Hildenbrand
2020-06-23 21:15 ` Dan Williams
2020-06-24 9:31 ` David Hildenbrand
2020-06-22 15:32 ` Michal Hocko
2020-06-19 12:59 ` [PATCH v2 3/3] mm/shuffle: remove dynamic reconfiguration David Hildenbrand
2020-06-20 1:49 ` Dan Williams
2020-06-22 7:33 ` David Hildenbrand
2020-06-22 8:37 ` Wei Yang
2020-06-23 22:18 ` Dan Williams
2020-06-22 15:37 ` Michal Hocko
2020-06-23 1:22 ` Wei Yang
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='CAPcyv4hgHmnKd-isUbSy5PjohjhhCL03Y00x0NO8=JOvexvUtw@mail.gmail.com' \
--to=dan.j.williams@intel.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.h.duyck@linux.intel.com \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.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).