[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100826115017.04f6f707.kamezawa.hiroyu@jp.fujitsu.com>
Date: Thu, 26 Aug 2010 11:50:17 +0900
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To: Michał Nazarewicz <m.nazarewicz@...sung.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Hans Verkuil <hverkuil@...all.nl>,
Daniel Walker <dwalker@...eaurora.org>,
Russell King <linux@....linux.org.uk>,
Jonathan Corbet <corbet@....net>,
Peter Zijlstra <peterz@...radead.org>,
Pawel Osciak <p.osciak@...sung.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
linux-kernel@...r.kernel.org,
FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>,
linux-mm@...ck.org, Kyungmin Park <kyungmin.park@...sung.com>,
Zach Pfeffer <zpfeffer@...eaurora.org>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Mel Gorman <mel@....ul.ie>, linux-media@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Marek Szyprowski <m.szyprowski@...sung.com>
Subject: Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator framework
On Thu, 26 Aug 2010 04:12:10 +0200
Michał Nazarewicz <m.nazarewicz@...sung.com> wrote:
> On Thu, 26 Aug 2010 02:58:57 +0200, KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> wrote:
> > Hmm, you may not like this..but how about following kind of interface ?
> >
> > Now, memoyr hotplug supports following operation to free and _isolate_
> > memory region.
> > # echo offline > /sys/devices/system/memory/memoryX/state
> >
> > Then, a region of memory will be isolated. (This succeeds if there are free
> > memory.)
> >
> > Add a new interface.
> >
> > % echo offline > /sys/devices/system/memory/memoryX/state
> > # extract memory from System RAM and make them invisible from buddy allocator.
> >
> > % echo cma > /sys/devices/system/memory/memoryX/state
> > # move invisible memory to cma.
>
> At this point I need to say that I have no experience with hotplug memory but
> I think that for this to make sense the regions of memory would have to be
> smaller. Unless I'm misunderstanding something, the above would convert
> a region of sizes in order of GiBs to use for CMA.
>
Now, x86's section size is
==
#ifdef CONFIG_X86_32
# ifdef CONFIG_X86_PAE
# define SECTION_SIZE_BITS 29
# define MAX_PHYSADDR_BITS 36
# define MAX_PHYSMEM_BITS 36
# else
# define SECTION_SIZE_BITS 26
# define MAX_PHYSADDR_BITS 32
# define MAX_PHYSMEM_BITS 32
# endif
#else /* CONFIG_X86_32 */
# define SECTION_SIZE_BITS 27 /* matt - 128 is convenient right now */
# define MAX_PHYSADDR_BITS 44
# define MAX_PHYSMEM_BITS 46
#endif
==
128MB...too big ? But it's depend on config.
IBM's ppc guys used 16MB section, and recently, a new interface to shrink
the number of /sys files are added, maybe usable.
Something good with this approach will be you can create "cma" memory
before installing driver.
But yes, complicated and need some works.
Bye,
-Kame
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists