[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100826133954.4433fdf2.kamezawa.hiroyu@jp.fujitsu.com>
Date: Thu, 26 Aug 2010 13:39:54 +0900
From: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To: Michał Nazarewicz <m.nazarewicz@...sung.com>
Cc: FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>,
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, Mel Gorman <mel@....ul.ie>,
Hans Verkuil <hverkuil@...all.nl>, linux-mm@...ck.org,
Kyungmin Park <kyungmin.park@...sung.com>,
Zach Pfeffer <zpfeffer@...eaurora.org>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
linux-arm-kernel@...ts.infradead.org, linux-media@...r.kernel.org
Subject: Re: [PATCH/RFCv4 0/6] The Contiguous Memory Allocator framework
On Thu, 26 Aug 2010 06:01:56 +0200
Michał Nazarewicz <m.nazarewicz@...sung.com> wrote:
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> wrote:
> > 128MB...too big ? But it's depend on config.
>
> On embedded systems it may be like half of the RAM. Or a quarter. So bigger
> granularity could be desired on some platforms.
>
> > 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.
>
> That's how CMA works at the moment. But if I understand you correctly, what
> you are proposing would allow to reserve memory *at* *runtime* long after system
> has booted. This would be a nice feature as well though.
>
Yes, my proposal is that.
> > But yes, complicated and need some works.
>
> > Ah, I need to clarify what I want to say.
> >
> > With compaction, it's helpful, but you can't get contiguous memory larger
> > than MAX_ORDER, I think. To get memory larger than MAX_ORDER on demand,
> > memory hot-plug code has almost all necessary things.
>
> I'll try to look at it then.
>
mm/memory_hotplug.c::offline_pages() does
1. disallow new allocation of memory in [start_pfn...end_pfn)
2. move all LRU pages to other regions than [start_pfn...end_pfn)
3. finally, mark all pages as PG_reserved (see __offline_isolated_pages())
What's required for cma will be
a. remove _section_ limitation, which is done as BUG_ON().
b. replace 'step 3' with cma code.
Maybe you can do similar just using compaction logic. The biggest difference will
be 'step 1'.
> > BTW, just curious...the memory for cma need not to be saved at
> > hibernation ? Or drivers has to write its own hibernation ops by driver suspend
> > udev or some ?
>
> Hibernation was not considered as of yet but I think it's device driver's
> responsibility more then CMA's especially since it may make little sense to save
> some of the buffers -- ie. no need to keep a frame from camera since it'll be
> overwritten just after system wakes up from hibernation. It may also be better
> to stop playback and resume it later on rather than trying to save decoder's
> state. Again though, I haven't thought about hibernation as of yet.
>
Hmm, ok, use-case dependent and it's a job of a driver.
Thanks,
-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