[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1301666596.30870.176.camel@nimitz>
Date: Fri, 01 Apr 2011 07:03:16 -0700
From: Dave Hansen <dave@...ux.vnet.ibm.com>
To: Michal Nazarewicz <mina86@...a86.com>
Cc: Marek Szyprowski <m.szyprowski@...sung.com>,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, linux-media@...r.kernel.org,
linux-mm@...ck.org, Kyungmin Park <kyungmin.park@...sung.com>,
Andrew Morton <akpm@...ux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Ankita Garg <ankita@...ibm.com>,
Daniel Walker <dwalker@...eaurora.org>,
Johan MOSSBERG <johan.xx.mossberg@...ricsson.com>,
Mel Gorman <mel@....ul.ie>, Pawel Osciak <pawel@...iak.com>
Subject: Re: [PATCH 04/12] mm: alloc_contig_freed_pages() added
On Fri, 2011-04-01 at 00:51 +0200, Michal Nazarewicz wrote:
> On Fri, 01 Apr 2011 00:26:51 +0200, Dave Hansen <dave@...ux.vnet.ibm.com>
> wrote:
> >> Bug in the above place does not mean that we could not allocate
> >> memory. It means caller is broken.
> >
> > Could you explain that a bit?
> >
> > Is this a case where a device is mapped to a very *specific* range of
> > physical memory and no where else? What are the reasons for not marking
> > it off limits at boot? I also saw some bits of isolation and migration
> > in those patches. Can't the migration fail?
>
> The function is called from alloc_contig_range() (see patch 05/12) which
> makes sure that the PFN is valid. Situation where there is not enough
> space is caught earlier in alloc_contig_range().
>
> alloc_contig_freed_pages() must be given a valid PFN range such that all
> the pages in that range are free (as in are within the region tracked by
> page allocator) and of MIGRATETYPE_ISOLATE so that page allocator won't
> touch them.
OK, so it really is a low-level function only. How about a comment that
explicitly says this? "Only called from $FOO with the area already
isolated." It probably also deserves an __ prefix.
> That's why invalid PFN is a bug in the caller and not an exception that
> has to be handled.
>
> Also, the function is not called during boot time. It is called while
> system is already running.
What kind of success have you had running this in practice? I'd be
worried that some silly task or a sticky dentry would end up in the
range that you want to allocate in.
-- Dave
--
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