> > (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.>

How about capturing online_page() by balloon ?ex.)==call add_memory() to create mem_mapcall 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.==