On Thu, 27 Mar 2008 19:51:26 -0700
Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
yes, I see.(I wrote online_page() in above, but online_pages() is maybe better.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.
It does all what you want.)
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.
==