linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@suse.com>
To: Wei Yang <richard.weiyang@gmail.com>
Cc: linux-mm@kvack.org
Subject: Re: [RFC PATCH 0/4] mm/hotplug: make hotplug memory_block alligned
Date: Wed, 28 Jun 2017 11:43:09 +0200	[thread overview]
Message-ID: <20170628094309.GD5225@dhcp22.suse.cz> (raw)
In-Reply-To: <20170627021335.GA62718@WeideMBP.lan>

On Tue 27-06-17 10:13:35, Wei Yang wrote:
> On Mon, Jun 26, 2017 at 09:46:35AM +0200, Michal Hocko wrote:
> >On Sun 25-06-17 10:52:23, Wei Yang wrote:
> >> Michal & all
> >> 
> >> Previously we found the hotplug range is mem_section aligned instead of
> >> memory_block.
> >> 
> >> Here is several draft patches to fix that. To make sure I am getting your
> >> point correctly, I post it here before further investigation.
> >
> >This description doesn't explain what the problem is and why do we want
> >to fix it. Before diving into the code and review changes it would help
> >a lot to give a short introduction and explain your intention and your
> >assumptions you base your changes on.
> >
> >So please start with a highlevel description first.
> >
> 
> Here is the high level description in my mind, glad to see your comment.
> 
> 
> The minimum unit of memory hotplug is memory_block instead of mem_section.
> While in current implementation, we see several concept misunderstanding.
> 
> For example:
> 1. The alignment check is based on mem_section instead of memory_block
> 2. Online memory range on section base instead of memory_block base
> 
> Even memory_block and mem_section are close related, they are two concepts. It
> is possible to initialize and register them respectively.
> 
> For example:
> 1. In __add_section(), it tries to register these two in one place.
> 
> This patch generally does the following:
> 1. Aligned the range with memory_block
> 2. Online rage with memory_block base
> 3. Split the registration of memory_block and mem_section

OK this is slightly better but from a quick glance over cumulative diff
(sorry I didn't have time to look at separate patches yet) you only go
half way through there. E.g. register_new_memory still uses section_nr.
Basically would I would love to see is to make section implementation
details and get it out of any hotplug APIs. Sections are a sparse
concept and they should stay there and in few hotplug functions which
talk to sparse.

Also you have surely noticed that this area is full of subtle code so it
will take a lot of testing to uncover subtle dependencies. I remember
hitting many of them while touching this area. I would encourage you to
read previous discussions for the rework to see which different setups
broke and why.

Thanks!
-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

      reply	other threads:[~2017-06-28  9:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-25  2:52 [RFC PATCH 0/4] mm/hotplug: make hotplug memory_block alligned Wei Yang
2017-06-25  2:52 ` [RFC PATCH 1/4] mm/hotplug: aligne the hotplugable range with memory_block Wei Yang
2017-06-25  3:31   ` John Hubbard
2017-06-26  0:20     ` Wei Yang
2017-06-26  6:49       ` John Hubbard
2017-06-26 23:21         ` Wei Yang
2017-06-25  2:52 ` [RFC PATCH 2/4] mm/hotplug: walk_memroy_range on memory_block uit Wei Yang
2017-06-26  7:32   ` John Hubbard
2017-06-26 23:40     ` Wei Yang
2017-06-27  6:59       ` John Hubbard
2017-06-28  0:11         ` Wei Yang
2017-06-25  2:52 ` [RFC PATCH 3/4] mm/hotplug: make __add_pages() iterate on memory_block and split __add_section() Wei Yang
2017-06-26  7:50   ` John Hubbard
2017-06-26 23:53     ` Wei Yang
2017-06-27  6:47       ` John Hubbard
2017-06-28  0:16         ` Wei Yang
2017-06-28  0:22   ` Wei Yang
2017-06-25  2:52 ` [RFC PATCH 4/4] base/memory: pass start_section_nr to init_memory_block() Wei Yang
2017-06-27  7:11   ` John Hubbard
2017-06-28  0:18     ` Wei Yang
2017-06-26  7:46 ` [RFC PATCH 0/4] mm/hotplug: make hotplug memory_block alligned Michal Hocko
2017-06-27  2:13   ` Wei Yang
2017-06-28  9:43     ` Michal Hocko [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=20170628094309.GD5225@dhcp22.suse.cz \
    --to=mhocko@suse.com \
    --cc=linux-mm@kvack.org \
    --cc=richard.weiyang@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).