From: David Hildenbrand <david@redhat.com>
To: osalvador@suse.de, Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>,
dan.j.williams@gmail.com, pasha.tatashin@soleen.com,
linux-mm@kvack.org, owner-linux-mm@kvack.org
Subject: Re: [RFC Get rid of shrink code - memory-hotplug]
Date: Mon, 10 Dec 2018 16:02:19 +0100 [thread overview]
Message-ID: <30a4a367-5c3c-e8ba-7178-063e4396cccb@redhat.com> (raw)
In-Reply-To: <1946d97a057fe8d5953732350fb2a070@suse.de>
On 10.12.18 14:53, osalvador@suse.de wrote:
> On 2018-12-07 11:35, osalvador@suse.de wrote:
>> On 2018-12-07 11:32, Michal Hocko wrote:
>>> On Fri 07-12-18 10:54:50, Vlastimil Babka wrote:
>>>> Well, __pageblock_pfn_to_page() has to be called for each pageblock
>>>> in
>>>> compaction, when zone_contiguous is false. And that's unchanged since
>>>> the introduction of zone_contiguous, so the numbers should still
>>>> hold.
>>>
>>> OK, this means that we have to carefully re-evaluate zone_contiguous
>>> for
>>> each offline operation.
>
> I started to think about this but some questions arose.
>
> Actually, no matter what we do, if we re-evaluate zone_contiguous
> in the offline operation, zone_contiguous will be left unset.
>
> set_zone_contiguous() calls __pageblock_pfn_to_page() in
> pageblock_nr_pages chunks to determine if the zone is contiguous,
> and checks the following:
>
> * first/end pfn of the pageblock are valid sections
> * first pfn of the pageblock is online
> * we do not intersect different zones
> * first/end pfn belong to the same zone
>
> Now, when dropping the shrink code and re-evaluating zone_contiguous in
> offline
> operation, set_zone_contiguous() will return false, leaving us with
> zone_contiguous
> unset.
>
> I wonder if we want that, or we want to stick with the optimization that
> zone_contiguous brings us.
>
> If we do not care, dropping everything and just calling
> clear_zone_contiguous and
> set_zone_contiguous is the right thing to go.
> But, if we want to keep the zone_contiguous optimization, I am afraid
> that we need
> to re-adjust zone boundaries in the offline operation whenever we remove
> first/end
> section.
> In that case, set_zone_contiguous will still keep zone_contiguous as
> set.
>
> So, it seems that the only headache we still have is this
> zone_contiguous thing.
> Ideas? Suggestions?
At least for memory hot(un)plug we always online/offline complete
sections. And they all go to the same zone. However we check on
pageblock granularity. I would assume that we only have mixed zones on
one section for some corner cases sections in our system?
I wonder if we could optimize somehow differently. E.g. mark sections as
belonging completely to a zone. If not, check on pageblock granularity.
E.g. SECTION_SINGLE_ZONE
--
Thanks,
David / dhildenb
next prev parent reply other threads:[~2018-12-10 15:02 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-04 9:26 [RFC Get rid of shrink code - memory-hotplug] osalvador
2018-12-04 11:31 ` David Hildenbrand
2018-12-04 12:43 ` osalvador
2018-12-05 19:12 ` Michal Hocko
2018-12-07 9:54 ` Vlastimil Babka
2018-12-07 10:32 ` Michal Hocko
2018-12-07 10:35 ` osalvador
2018-12-10 13:53 ` osalvador
2018-12-10 15:02 ` David Hildenbrand [this message]
2018-12-10 17:16 ` Michal Hocko
2018-12-12 8:44 ` osalvador
2018-12-05 19:07 ` Michal Hocko
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=30a4a367-5c3c-e8ba-7178-063e4396cccb@redhat.com \
--to=david@redhat.com \
--cc=dan.j.williams@gmail.com \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=osalvador@suse.de \
--cc=owner-linux-mm@kvack.org \
--cc=pasha.tatashin@soleen.com \
--cc=vbabka@suse.cz \
/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.