Re: [PATCH 2 of 4] hotplug-memory: adding non-section-alignedmemory is bad

From: KAMEZAWA Hiroyuki
Date: Thu Mar 27 2008 - 23:17:19 EST


On Thu, 27 Mar 2008 19:51:26 -0700
Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> > (I wrote online_page() in above, but online_pages() is maybe better.
> > It does all what you want.)
> >
>
> No, for my use-case the pages must be onlined one by one as they get
> some physical memory assigned to them. At the time I do add_memory(),
> I'm just allocating page structures, but there's no memory backing that
> range.
>
yes, I see.

> That's why I need to disable the sysfs onlining interface, because it
> bulk onlines the pages before there's anything behind them.
>

My point is. online_pages() does following things.

- call notifier
- update information , total_pages etc...
- re-configure zonelist if necessary...

But online_page() not. Hmm...

How about capturing online_page() by balloon ?
ex.)
==
call add_memory() to create mem_map
call online_pages() against the whole section. <=== call this without sysfs.
online_pages() do misc. jobs
call online_page() one by one (arch dependent) called by walk_memory_resource.
online_page() will finally call free_page(page).
<=========== Xen capture here.
Don't free onlined page and swallow them into baloon driver.
==

Thanks,
-Kame

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/