On Wed, 10 Sep 2008 15:56:48 -0700
Dave Hansen <dave@linux.vnet.ibm.com> wrote:
quoted text > On Wed, 2008-09-10 at 15:36 -0700, Balbir Singh wrote:
> > Dave Hansen wrote:
> > > 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.
> > >
> >
> > I would hate to re-implement the entire sparsemem code :(
> > Kame did suggest making the memory controller depend on sparsemem (to hook in
> > from there for allocations)
>
> Yeah, you could just make another mem_section member. Or, you could
> work to abstract the sparsemem code so that other people can use it, or
> maybe make it more dynamic so we can have multiple pfn->object lookups
> in parallel. Adding the struct member is obviously easier.
>
Don't worry. I'll care sparse memory map and hotplug.
But whether making this depends on SPARSEMEM or not is not fixed yet.
I'll try generic one, at first. If it's dirty, start discussion about SPARSEMEM.
(Honestly, I love sparsemem than others ;)
Thanks,
-Kame
--
unsubscribe notice To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Messages in current thread:
Re: [Approach #2] [RFC][PATCH] Remove cgroup member from s ... , KAMEZAWA Hiroyuki , (Wed Sep 10, 6:35 pm)