From: dave@linux.vnet.ibm.com (Dave Hansen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 04/12] mm: alloc_contig_freed_pages() added
Date: Thu, 31 Mar 2011 14:14:38 -0700 [thread overview]
Message-ID: <1301606078.31087.1275.camel@nimitz> (raw)
In-Reply-To: <op.vs77qfx03l0zgt@mnazarewicz-glaptop>
On Thu, 2011-03-31 at 23:09 +0200, Michal Nazarewicz wrote:
> On Thu, 31 Mar 2011 17:58:03 +0200, Dave Hansen <dave@linux.vnet.ibm.com>
> wrote:
> > On Thu, 2011-03-31 at 15:16 +0200, Marek Szyprowski wrote:
> >> +unsigned long alloc_contig_freed_pages(unsigned long start, unsigned
> >> long end,
> >> + gfp_t flag)
> >> +{
> >> + unsigned long pfn = start, count;
> >> + struct page *page;
> >> + struct zone *zone;
> >> + int order;
> >> +
> >> + VM_BUG_ON(!pfn_valid(start));
> >
> > This seems kinda mean. Could we return an error? I understand that
> > this is largely going to be an early-boot thing, but surely trying to
> > punt on crappy input beats a full-on BUG().
>
> Actually, I would have to check but I think that the usage of this function
> (in this patchset) is that the caller expects the function to succeed. It
> is quite a low-level function so before running it a lot of preparation is
> needed and the caller must make sure that several conditions are met. I don't
> really see advantage of returning a value rather then BUG()ing.
>
> Also, CMA does not call this function at boot time.
We BUG_ON() in bootmem. Basically if we try to allocate an early-boot
structure and fail, we're screwed. We can't keep running without an
inode hash, or a mem_map[].
This looks like it's going to at least get partially used in drivers, at
least from the examples. Are these kinds of things that, if the driver
fails to load, that the system is useless and hosed? Or, is it
something where we might limp along to figure out what went wrong before
we reboot?
-- Dave
next prev parent reply other threads:[~2011-03-31 21:14 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 [this message]
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
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=1301606078.31087.1275.camel@nimitz \
--to=dave@linux.vnet.ibm.com \
--cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).