From: Oscar Salvador <osalvador@suse.de>
To: David Hildenbrand <david@redhat.com>
Cc: akpm@linux-foundation.org, dan.j.williams@intel.com,
pasha.tatashin@soleen.com, mhocko@suse.com,
anshuman.khandual@arm.com, Jonathan.Cameron@huawei.com,
vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/5] mm,memory_hotplug: Introduce MHP_MEMMAP_ON_MEMORY
Date: Fri, 26 Jul 2019 11:29:59 +0200 [thread overview]
Message-ID: <20190726092959.GB26268@linux> (raw)
In-Reply-To: <8b60e40a-1e8a-1f7c-a31d-ad2e511decd5@redhat.com>
On Fri, Jul 26, 2019 at 10:34:47AM +0200, David Hildenbrand wrote:
> > Want to add 384MB (3 sections, 3 memory-blocks)
> > e.g:
> >
> > add_memory(0x1000, size_memory_block);
> > add_memory(0x2000, size_memory_block);
> > add_memory(0x3000, size_memory_block);
> >
> > [memblock#0 ]
> > [0 - 511 pfns ] - vmemmaps for section#0
> > [512 - 32767 pfns ] - normal memory
> >
> > [memblock#1 ]
> > [32768 - 33279 pfns] - vmemmaps for section#1
> > [33280 - 65535 pfns] - normal memory
> >
> > [memblock#2 ]
> > [65536 - 66047 pfns] - vmemmap for section#2
> > [66048 - 98304 pfns] - normal memory
>
> I wouldn't even care about documenting this right now. We have no user
> so far, so spending 50% of the description on this topic isn't really
> needed IMHO :)
Fair enough, I could drop it.
Was just trying to be extra clear.
>
> >
> > or
> > add_memory(0x1000, size_memory_block * 3);
> >
> > [memblock #0 ]
> > [0 - 1533 pfns ] - vmemmap for section#{0-2}
> > [1534 - 98304 pfns] - normal memory
> >
> > When using larger memory blocks (1GB or 2GB), the principle is the same.
> >
> > Of course, per whole-range granularity is nicer when it comes to have a large
> > contigous area, while per memory-block granularity allows us to have flexibility
> > when removing the memory.
>
> E.g., in my virtio-mem I am currently adding all memory blocks
> separately either way (to guranatee that remove_memory() works cleanly -
> see __release_memory_resource()), and to control the amount of
> not-offlined memory blocks (e.g., to make user space is actually
> onlining them). As it's just a prototype, this might change of course in
> the future.
What is virtio-mem for? Did it that raised from a need?
Is it something you could try this patch on?
> > /*
> > + * We want memmap (struct page array) to be allocated from the hotadded range.
> > + * To do so, there are two possible ways depending on what the caller wants.
> > + * 1) Allocate memmap pages whole hot-added range.
> > + * Here the caller will only call any add_memory() variant with the whole
> > + * memory address.
> > + * 2) Allocate memmap pages per memblock
> > + * Here, the caller will call any add_memory() variant per memblock
> > + * granularity.
> > + * The former implies that we will use the beginning of the hot-added range
> > + * to store the memmap pages of the whole range, while the latter implies
> > + * that we will use the beginning of each memblock to store its own memmap
> > + * pages.
>
> Can you make this documentation only state how MHP_MEMMAP_ON_MEMORY
> works? (IOW, shrink it heavily to what we actually implement)
Sure.
> Apart from the requested description/documentation changes
>
> Reviewed-by: David Hildenbrand <david@redhat.com>
Thanks for having a look David ;-)
>
> --
>
> Thanks,
>
> David / dhildenb
--
Oscar Salvador
SUSE L3
next prev parent reply other threads:[~2019-07-26 9:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-25 16:02 [PATCH v3 0/5] Allocate memmap from hotadded memory Oscar Salvador
2019-07-25 16:02 ` [PATCH v3 1/5] mm,memory_hotplug: Introduce MHP_MEMMAP_ON_MEMORY Oscar Salvador
2019-07-26 8:34 ` David Hildenbrand
2019-07-26 9:29 ` Oscar Salvador [this message]
2019-07-26 9:37 ` David Hildenbrand
2019-07-25 16:02 ` [PATCH v3 2/5] mm: Introduce a new Vmemmap page-type Oscar Salvador
2019-07-26 8:48 ` David Hildenbrand
2019-07-26 9:25 ` Oscar Salvador
2019-07-26 9:41 ` David Hildenbrand
2019-07-26 10:11 ` Oscar Salvador
2019-07-25 16:02 ` [PATCH v3 3/5] mm,sparse: Add SECTION_USE_VMEMMAP flag Oscar Salvador
2019-08-01 14:45 ` David Hildenbrand
2019-07-25 16:02 ` [PATCH v3 4/5] mm,memory_hotplug: Allocate memmap from the added memory range for sparse-vmemmap Oscar Salvador
2019-08-01 15:04 ` David Hildenbrand
2019-07-25 16:02 ` [PATCH v3 5/5] mm,memory_hotplug: Allow userspace to enable/disable vmemmap Oscar Salvador
2019-08-01 15:07 ` David Hildenbrand
2019-07-25 16:56 ` [PATCH v3 0/5] Allocate memmap from hotadded memory David Hildenbrand
2019-08-01 7:39 ` Oscar Salvador
2019-08-01 8:17 ` David Hildenbrand
2019-08-01 8:39 ` Oscar Salvador
2019-08-01 8:44 ` David Hildenbrand
2019-08-01 18:46 ` David Hildenbrand
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=20190726092959.GB26268@linux \
--to=osalvador@suse.de \
--cc=Jonathan.Cameron@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=anshuman.khandual@arm.com \
--cc=dan.j.williams@intel.com \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--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 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).