linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mike Kravetz <kravetz@us.ibm.com>
To: "Martin J. Bligh" <mbligh@aracnet.com>
Cc: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>,
	linux-kernel@vger.kernel.org, lhms-devel@lists.sourceforge.net
Subject: Re: [Lhms-devel] Re: [patch 0/3] memory hotplug prototype
Date: Wed, 7 Apr 2004 11:59:53 -0700	[thread overview]
Message-ID: <20040407185953.GC4292@w-mikek2.beaverton.ibm.com> (raw)
In-Reply-To: <29700000.1081361575@flay>

On Wed, Apr 07, 2004 at 11:12:55AM -0700, Martin J. Bligh wrote:
> > This is an updated version of memory hotplug prototype patch, which I
> > have posted here several times.
> 
> I really, really suggest you take a look at Dave McCracken's work, which
> he posted as "Basic nonlinear for x86" recently. It's going to be much
> much easier to use this abstraction than creating 1000s of zones ...
> 

I agree.  However, one could argue that taking a zone offline is 'easier'
than taking a 'section' offline: at least right now.  Note that I said
easier NOT better.  Currently a section represents a subset of one or more
zones.  Ideally, these sections represent units that can be added or
removed.  IIRC these sections only define a range of physical memory.
To determine if it is possible to take a section offline, one needs to
dig into the zone(s) that the section may be associated with.  We'll
have to do things like:
- Stop allocations of pages associated with the section.
- Grab all 'free pages' associated with the section.
- Try to reclaim/free all pages associated with the section.
  - Work on this until all pages in the section are not in use (or free).
  - OR give up if we know we will not succeed.

My claim of zones being easier to work with today is due to the
fact that zones contain much of the data/infrastructure to make
these types of operations easy.  For example, in IWAMOTO's code a
node/zone can be take offline when 'z->present_pages == z->free_pages'.

I've been thinking about how to take a section (or any 'block') of
memory offline.  To do this the offlining code needs to somehow
'allocate' all the pages associated with the section.  After
'allocation', the code knows the pages are not 'in use' and safely
offline.  Any suggestions on how to approach this?  I don't think
we can add any infrastructure to section definitions as these will
need to be relatively small.  Do we need to teach some of the code
paths that currently understand zones about sections?

Thanks,
-- 
Mike

  reply	other threads:[~2004-04-07 19:00 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-06 10:53 [patch 0/3] memory hotplug prototype IWAMOTO Toshihiro
2004-04-06 10:56 ` [patch 1/3] " IWAMOTO Toshihiro
2004-04-06 17:12   ` Dave Hansen
2004-04-07  6:10     ` IWAMOTO Toshihiro
2004-04-06 10:58 ` [patch 2/3] " IWAMOTO Toshihiro
2004-04-06 10:59 ` [patch 3/3] " IWAMOTO Toshihiro
2004-04-06 11:47 ` [patch 0/3] " IWAMOTO Toshihiro
2004-04-06 12:41 ` [patch 0/6] memory hotplug for hugetlbpages Hirokazu Takahashi
2004-04-06 12:44   ` [patch 1/6] " Hirokazu Takahashi
2004-04-06 12:45   ` [patch 2/6] " Hirokazu Takahashi
2004-04-06 12:45   ` [patch 3/6] " Hirokazu Takahashi
2004-04-06 12:48   ` [Lhms-devel] [patch 4/6] " Hirokazu Takahashi
2004-04-06 13:02     ` Russell King
2004-04-06 13:11       ` Hirokazu Takahashi
2004-04-06 12:49   ` [patch 5/6] " Hirokazu Takahashi
2004-04-06 12:50   ` [patch 6/6] " Hirokazu Takahashi
2004-04-07 18:12 ` [patch 0/3] memory hotplug prototype Martin J. Bligh
2004-04-07 18:59   ` Mike Kravetz [this message]
2004-04-07 19:20     ` [Lhms-devel] " Dave Hansen
2004-04-07 22:33     ` Martin J. Bligh
2004-04-08 12:41       ` Hirokazu Takahashi
2004-04-08  9:16   ` IWAMOTO Toshihiro
2004-04-08 10:19     ` [Lhms-devel] " IWAMOTO Toshihiro
2004-04-08 12:10       ` Hirokazu Takahashi
2004-04-08 16:56     ` Martin J. Bligh
2004-04-09  2:37       ` IWAMOTO Toshihiro
2004-04-09  5:18         ` Martin J. Bligh

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=20040407185953.GC4292@w-mikek2.beaverton.ibm.com \
    --to=kravetz@us.ibm.com \
    --cc=iwamoto@valinux.co.jp \
    --cc=lhms-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.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).