From: Baoquan He <bhe@redhat.com>
To: Wei Yang <richardw.yang@linux.intel.com>
Cc: David Hildenbrand <david@redhat.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Segher Boessenkool <segher@kernel.crashing.org>,
Andrew Morton <akpm@linux-foundation.org>,
Michal Hocko <mhocko@kernel.org>,
Oscar Salvador <osalvador@suse.de>
Subject: Re: [PATCH v1] mm/memory_hotplug: Easier calculation to get pages to next section boundary
Date: Thu, 6 Feb 2020 08:37:36 +0800 [thread overview]
Message-ID: <20200206003736.GI8965@MiWiFi-R3L-srv> (raw)
In-Reply-To: <20200206001317.GH8965@MiWiFi-R3L-srv>
On 02/06/20 at 08:13am, Baoquan He wrote:
> On 02/06/20 at 07:50am, Wei Yang wrote:
> > On Thu, Feb 06, 2020 at 07:19:45AM +0800, Wei Yang wrote:
> > >On Wed, Feb 05, 2020 at 02:52:51PM +0100, David Hildenbrand wrote:
> > >>Let's use a calculation that's easier to understand and calculates the
> > >>same result. Reusing existing macros makes this look nicer.
> > >>
> > >>We always want to have the number of pages (> 0) to the next section
> > >>boundary, starting from the current pfn.
> > >>
> > >>Suggested-by: Segher Boessenkool <segher@kernel.crashing.org>
> > >>Cc: Andrew Morton <akpm@linux-foundation.org>
> > >>Cc: Michal Hocko <mhocko@kernel.org>
> > >>Cc: Oscar Salvador <osalvador@suse.de>
> > >>Cc: Baoquan He <bhe@redhat.com>
> > >>Cc: Wei Yang <richardw.yang@linux.intel.com>
> > >>Signed-off-by: David Hildenbrand <david@redhat.com>
> > >
> > >Reviewed-by: Wei Yang <richardw.yang@linux.intel.com>
> > >
> > >BTW, I got one question about hotplug size requirement.
> > >
> > >I thought the hotplug range should be section size aligned, while taking a
> > >look into current code function check_hotplug_memory_range() guard the range.
>
> A good question. The current code should be block size aligned. I
> remember in some places we assume each block comprise all the sections.
> Can't imagine one or some of them are half section filled.
I could be wrong, half filled block may not cause problem.
>
> It truly has a risk that system ram is very huge to make the block
> size is 2G, someone try to insert a 1G memory board. However, it should
> only exist in experiment environment, e.g build a guest with enough ram,
> then hot add 1G DIMM. In reality, we don't need to worry about it, at
> least what I saw is 512G order of magnitude.
>
> > >
> > >This function says the range should be block_size aligned. And if I am
> > >correct, block size on x86 should be in the range
> > >
> > > [MIN_MEMORY_BLOCK_SIZE, MEM_SIZE_FOR_LARGE_BLOCK]
> > >
> > >And MIN_MEMORY_BLOCK_SIZE is section size.
>
> No, if I got it right, the range on x86 is
> [MIN_MEMORY_BLOCK_SIZE, MAX_BLOCK_SIZE].
>
> MEM_SIZE_FOR_LARGE_BLOCK is the starting point from which block size can
> be adjusted. Otherwise it's MIN_MEMORY_BLOCK_SIZE.
>
> /* Amount of ram needed to start using large blocks */
> #define MEM_SIZE_FOR_LARGE_BLOCK (64UL << 30)
>
> > >
> > >Seems currently we support subsection hotplug? Then how a subsection range got
> > >hotplug? Or this patch is a pre-requisite?
>
> The sub-section hotplug feature was added by your colleague Dan
> Williams. It intends to fix a nvdimms issue that nvdimms device could be
> mapped into a non section size aligned starting address. And nvdimms
> makes use of the existing memory hotplug mechanism to manage pages.
> Not sure if we are saying the same thing.
>
> > >
> >
> > One more question is we support hot-add subsection memory but not support
> > hot-online subsection memory.
> >
> > Is my understanding correct?
> >
> > --
> > Wei Yang
> > Help you, Help me
> >
next prev parent reply other threads:[~2020-02-06 0:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-05 13:52 [PATCH v1] mm/memory_hotplug: Easier calculation to get pages to next section boundary David Hildenbrand
2020-02-05 23:19 ` Wei Yang
2020-02-05 23:50 ` Wei Yang
2020-02-06 0:13 ` Baoquan He
2020-02-06 0:37 ` Baoquan He [this message]
2020-02-06 2:26 ` Wei Yang
2020-02-06 2:48 ` Baoquan He
2020-02-06 4:34 ` Wei Yang
2020-02-06 4:39 ` Baoquan He
2020-02-06 9:01 ` David Hildenbrand
2020-02-06 11:38 ` Wei Yang
2020-02-06 1:46 ` Baoquan He
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=20200206003736.GI8965@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@kernel.org \
--cc=osalvador@suse.de \
--cc=richardw.yang@linux.intel.com \
--cc=segher@kernel.crashing.org \
/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.