linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Michal Nazarewicz" <mina86@mina86.com>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-samsung-soc@vger.kernel.org, linux-media@vger.kernel.org,
	linux-mm@kvack.org, Kyungmin Park <kyungmin.park@samsung.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Ankita Garg <ankita@in.ibm.com>,
	Daniel Walker <dwalker@codeaurora.org>,
	Johan MOSSBERG <johan.xx.mossberg@stericsson.com>,
	Mel Gorman <mel@csn.ul.ie>, Pawel Osciak <pawel@osciak.com>
Subject: Re: [PATCH 04/12] mm: alloc_contig_freed_pages() added
Date: Mon, 04 Apr 2011 15:15:07 +0200	[thread overview]
Message-ID: <op.vte0fgez3l0zgt@mnazarewicz-glaptop> (raw)
In-Reply-To: <1301666596.30870.176.camel@nimitz>

> On Fri, 2011-04-01 at 00:51 +0200, Michal Nazarewicz wrote:
>> 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 MIGRATE_ISOLATE so that page allocator won't
>> touch them.

On Fri, 01 Apr 2011 16:03:16 +0200, Dave Hansen wrote:
> 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.

Yes, it's not really for general use.  Comment may indeed be useful here.

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

I'm not sure what you are asking.

The function requires the range to be marked as MIGRATE_ISOLATE and all
pages being free, so nothing can be allocated there while the function
is running.

If you are asking about CMA in general, the range that CMA uses is marked
as MIGRATE_CMA (a new migrate type) which means that only MIGRATE_MOVABLE
pages can be allocated there.  This means, that in theory, if there is
enough memory the pages can always be moved out of the region.  At leasts
that's my understanding of the type.  If this is correct, the allocation
should always succeed provided enough memory for the pages within the
region to be moved to is available.

As of practice, I have run some simple test to see if the code works and
they succeeded.  Also, Marek has run some test with actual hardware and
those worked well as well (but I'll let Marek talk about any details).

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michal "mina86" Nazarewicz    (o o)
ooo +-----<email/xmpp: mnazarewicz@google.com>-----ooO--(_)--Ooo--

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-04-04 13:18 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-31 13:15 [PATCHv9 0/12] Contiguous Memory Allocator Marek Szyprowski
2011-03-31 13:15 ` [PATCH 01/12] lib: bitmap: Added alignment offset for bitmap_find_next_zero_area() Marek Szyprowski
2011-03-31 13:15 ` [PATCH 02/12] lib: genalloc: Generic allocator improvements Marek Szyprowski
2011-03-31 13:15 ` [PATCH 03/12] mm: move some functions from memory_hotplug.c to page_isolation.c Marek Szyprowski
2011-03-31 13:16 ` [PATCH 04/12] mm: alloc_contig_freed_pages() added Marek Szyprowski
2011-03-31 15:58   ` Dave Hansen
2011-03-31 19:24     ` Steven Rostedt
2011-03-31 20:33       ` Dave Hansen
2011-03-31 21:09     ` Michal Nazarewicz
2011-03-31 21:14       ` Dave Hansen
2011-03-31 22:18         ` Michal Nazarewicz
2011-03-31 22:26           ` Dave Hansen
2011-03-31 22:51             ` Michal Nazarewicz
2011-04-01 14:03               ` Dave Hansen
2011-04-04 13:15                 ` Michal Nazarewicz [this message]
2011-04-05  7:23                   ` Marek Szyprowski
2011-03-31 13:16 ` [PATCH 05/12] mm: alloc_contig_range() added Marek Szyprowski
2011-03-31 16:02   ` Dave Hansen
2011-03-31 16:26     ` Michal Nazarewicz
2011-03-31 19:28       ` Steven Rostedt
2011-03-31 19:52         ` Michal Nazarewicz
2011-03-31 20:28       ` Dave Hansen
2011-03-31 21:17         ` Michal Nazarewicz
2011-03-31 19:26     ` Steven Rostedt
2011-03-31 16:04   ` Dave Hansen
2011-03-31 13:16 ` [PATCH 06/12] mm: cma: Contiguous Memory Allocator added Marek Szyprowski
2011-03-31 13:16 ` [PATCH 07/12] mm: MIGRATE_CMA migration type added Marek Szyprowski
2011-03-31 13:16 ` [PATCH 08/12] mm: MIGRATE_CMA isolation functions added Marek Szyprowski
2011-03-31 13:16 ` [PATCH 09/12] mm: MIGRATE_CMA support added to CMA Marek Szyprowski
2011-03-31 13:16 ` [PATCH 10/12] mm: cma: add CMA 'regions style' API (for testing) Marek Szyprowski
2011-03-31 13:16 ` [PATCH 11/12] v4l: videobuf2: add CMA allocator " Marek Szyprowski
2011-03-31 13:16 ` [PATCH 12/12] ARM: S5PC110: Added CMA regions to Aquila and Goni boards Marek Szyprowski

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=op.vte0fgez3l0zgt@mnazarewicz-glaptop \
    --to=mina86@mina86.com \
    --cc=akpm@linux-foundation.org \
    --cc=ankita@in.ibm.com \
    --cc=dave@linux.vnet.ibm.com \
    --cc=dwalker@codeaurora.org \
    --cc=johan.xx.mossberg@stericsson.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mel@csn.ul.ie \
    --cc=pawel@osciak.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