linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Badari Pulavarty <pbadari@gmail.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: linux-mm <linux-mm@kvack.org>
Subject: Re: Hotplug memory remove
Date: Tue, 02 Oct 2007 10:17:34 -0700	[thread overview]
Message-ID: <1191345455.6106.10.camel@dyn9047017100.beaverton.ibm.com> (raw)
In-Reply-To: <20071002095257.5b6e2e4c.kamezawa.hiroyu@jp.fujitsu.com>

On Tue, 2007-10-02 at 09:52 +0900, KAMEZAWA Hiroyuki wrote:
> On Mon, 01 Oct 2007 10:49:46 -0700
> Badari Pulavarty <pbadari@gmail.com> wrote:
> 
> > > 
> > > > 2) I copied remove_memory() from IA64 to PPC64. When I am testing
> > > > hotplug-remove (echo offline > state), I am not able to remove
> > > > any memory at all. I get different type of failures like ..
> > > > 
> > > > memory offlining 6e000 to 6f000 failed
> > > > 
> > > I'm not sure about this...does this memory is in ZONE_MOVABLE ?
> > > If not ZONE_MOVABLE, offlining can be fail because of not-removable
> > > kernel memory. 
> > 
> > I tried offlining different sections of memory. There is no easy 
> > way to tell if it belonged to ZONE_MOVABLE or not. I was
> > using /proc/page_owner to find out suitable sections to offline.
> > 
> Hmm, I myself cat /proc/zoneinfo to know where is ZONE_MOVABLE.
> [start_pfn, start_pfn+spanned) is zone range.
> But I hear PPC? can overlap plural zones' range...
> 
> Some interface like
> /sys/device/system/memory/memoryXXX/zone_id
> is maybe good, but a section can belongs to multiple zones.
> 
> 
> > > Does PPC64 resister conventinal memory to memory resource ?
> > > This information can be shown in /proc/iomem.
> > > In current code, removable memory must be registerred in /proc/iomem.
> > > Could you confirm ?
> > 
> > I am little confused. Can you point me to the code where you have
> > this assumption ? Why does it have to be registered in /proc/meminfo ?
> > You find the section and try to offline it by migrating pages from that
> > section. If its fails to free up the pages, fail the remove. Isn't it ?
> > 
> Maybe already you noticed, walk_memory_resource() handles it.
> 
> Because a section can includes memory hole or memory for I/O,
> we cannot know whether Pg_reserved memory is just reserved or memory hole
> or for I/O.
> 
> /proc/iomem shows the range of conventional memory if configured in sane way.
> For avoiding memory hole, /proc/iomem  gives us very clear resource range
> information.

Kame,

With little bit of hacking /proc/iomem on ppc64, I got hotplug memory
remove working. I didn't have to spend lot of time debugging the
infrastructure you added. Good work !!

Only complaint I have is, the use of /proc/iomem for verification.
I see few issues.

1) On X86-64, /proc/iomem contains all the memory regions, but they
are all marked IORESOURCE_BUSY. So looking for IORESOURCE_MEM wouldn't
work and always fails. Is any one working on x86-64 ? 

2) On ppc64, /proc/iomem shows only io-mapped-memory regions. So I
had to hack it to add all the memory information. I am going to ask
on ppc64 mailing list on how to do it sanely, but I am afraid that
they are going to say "all the information is available in the kernel
data (lmb) structures, parse them - rather than exporting it
to /proc/iomem". 

We may have to have arch-specific hooks to verify a memory region :(
What do you think ?



Thanks,
Badari

--
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>

  parent reply	other threads:[~2007-10-02 17:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-01 15:37 Badari Pulavarty
2007-10-01 16:14 ` KAMEZAWA Hiroyuki
2007-10-01 17:49   ` Badari Pulavarty
2007-10-02  0:52     ` KAMEZAWA Hiroyuki
2007-10-02 14:58       ` Badari Pulavarty
2007-10-02 17:17       ` Badari Pulavarty [this message]
2007-10-03  1:07         ` KAMEZAWA Hiroyuki
2007-10-05 17:21   ` Mark Gross
2007-10-06  0:41     ` KAMEZAWA Hiroyuki
2007-10-08 19:01       ` Mark Gross
2007-10-09  1:10         ` KAMEZAWA Hiroyuki
2007-10-09 10:51           ` Yasunori Goto

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=1191345455.6106.10.camel@dyn9047017100.beaverton.ibm.com \
    --to=pbadari@gmail.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox