From: Dave Hansen <dave@linux.vnet.ibm.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Yasunori Goto <y-goto@jp.fujitsu.com>,
Christoph Lameter <clameter@sgi.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Anthony Liguori <anthony@codemonkey.ws>,
Mel Gorman <mel@csn.ul.ie>
Subject: Re: [PATCH RFC] hotplug-memory: refactor online_pages to separate zone growth from page onlining
Date: Wed, 02 Apr 2008 11:46:02 -0700 [thread overview]
Message-ID: <1207161962.23710.23.camel@nimitz.home.sr71.net> (raw)
In-Reply-To: <47F1282E.3020503@goop.org>
On Mon, 2008-03-31 at 11:06 -0700, Jeremy Fitzhardinge wrote:
> >> That said, if (partial-)sections were much smaller - say 2-4 meg -
> and
> >> page migration/defrag worked reliably, then we could probably do
> without
> >> the balloon driver and do it all in terms of memory hot plug/unplug.
> >> That would give us a general mechanism which could either be driven from
> >> userspace, and/or have in-kernel Xen/kvm/s390/etc policy modules. Aside
> >> from small sections, the only additional requirement would be an online
> >> hook which can actually attach backing memory to the pages being
> >> onlined, rather than just assuming an underlying DIMM as current code does.
> >>
> >
> > Even with 1MB sections
>
> 1MB is too small. It shouldn't be smaller than the size of a large page.
Oh, I was just using 1MB as an easy-to-do-math-on-a-napkin number. :)
> > and a flat sparsemem map, you're only looking at
> > ~500k of overhead for the sparsemem storage. Less if you use vmemmap.
> >
>
> At the moment my concern is 32-bit x86, which doesn't support vmemmap or
> sections smaller than 512MB because of the shortage of page flags bits.
Yeah, I forgot that we didn't have vmemmap on x86-32. Ugh.
OK, here's another idea: Xen (and the balloon driver) already handle a
case where a guest boots up with 2GB of memory but only needs 1GB,
right? It will balloon the guest down to 1GB from 2GB.
Why don't we just have hotplug work that way? When we want to take a
guest from 1GB to 1GB+1 page (or whatever), we just hotplug the entire
section (512MB or 1GB or whatever), actually online the whole thing,
then make the balloon driver take it back to where it *should* be. That
way we're completely reusing existing components that have do be able to
handle this case anyway.
Yeah, this is suboptimal, an it has a possibility of fragmenting the
memory, but it will only be used for the x86-32 case.
-- Dave
next prev parent reply other threads:[~2008-04-02 18:46 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-29 0:00 Jeremy Fitzhardinge
2008-03-29 0:47 ` Dave Hansen
2008-03-29 2:08 ` Jeremy Fitzhardinge
2008-03-29 6:01 ` Dave Hansen
2008-03-29 16:06 ` Dave Hansen
2008-03-29 23:53 ` Jeremy Fitzhardinge
2008-03-30 0:26 ` Anthony Liguori
2008-03-31 16:42 ` Dave Hansen
2008-03-31 18:06 ` Jeremy Fitzhardinge
2008-04-01 7:17 ` Yasunori Goto
2008-04-02 18:46 ` Dave Hansen [this message]
2008-04-02 18:52 ` Jeremy Fitzhardinge
2008-04-02 18:59 ` Dave Hansen
2008-04-02 21:03 ` Jeremy Fitzhardinge
2008-04-02 21:17 ` Dave Hansen
2008-04-02 21:35 ` Jeremy Fitzhardinge
2008-04-02 21:43 ` Dave Hansen
2008-04-02 22:13 ` Jeremy Fitzhardinge
2008-04-02 23:27 ` Dave Hansen
2008-04-03 7:03 ` KAMEZAWA Hiroyuki
2008-04-02 21:36 ` Anthony Liguori
2008-03-29 4:38 ` KAMEZAWA Hiroyuki
2008-03-29 5:48 ` Jeremy Fitzhardinge
2008-03-29 6:26 ` KAMEZAWA Hiroyuki
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=1207161962.23710.23.camel@nimitz.home.sr71.net \
--to=dave@linux.vnet.ibm.com \
--cc=anthony@codemonkey.ws \
--cc=clameter@sgi.com \
--cc=jeremy@goop.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mel@csn.ul.ie \
--cc=y-goto@jp.fujitsu.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
all inboxes | Powered by JetHome®