[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1221085260.6781.69.camel@nimitz>
Date: Wed, 10 Sep 2008 15:21:00 -0700
From: Dave Hansen <dave@...ux.vnet.ibm.com>
To: balbir@...ux.vnet.ibm.com
Cc: kamezawa.hiroyu@...fujitsu.com,
Nick Piggin <nickpiggin@...oo.com.au>,
Andrew Morton <akpm@...ux-foundation.org>, hugh@...itas.com,
menage@...gle.com, xemul@...nvz.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [Approach #2] [RFC][PATCH] Remove cgroup member from struct
page
On Tue, 2008-09-09 at 18:20 -0700, Balbir Singh wrote:
> + start = pgdat->node_start_pfn;
> + end = pgdat->node_start_pfn + pgdat->node_spanned_pages;
> + size = (end - start) * sizeof(struct page_cgroup);
> + printk("Allocating %lu bytes for node %d\n", size, n);
> + pcg_map[n] = alloc_bootmem_node(pgdat, size);
> + /*
> + * We can do smoother recovery
> + */
> + BUG_ON(!pcg_map[n]);
> + return 0;
> }
This will really suck for sparse memory machines. Imagine a machine
with 1GB of memory at 0x0 and another 1GB of memory at 1TB up in the
address space.
You also need to consider how it works with memory hotplug and how
you're going to grow it at runtime.
Oh, and doesn't alloc_bootmem() panic() if it fails internally anyway?
I need to look at your other approach. :)
-- 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