Re: [PATCH 2 of 4] hotplug-memory: adding non-section-aligned memoryis bad
From: Jeremy Fitzhardinge
Date: Fri Mar 28 2008 - 00:20:58 EST
KAMEZAWA Hiroyuki wrote:
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 ?
You're saying that using online_page() on each page on its own is not
sufficient?
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.
==
I'm not sure what you mean by "capture" here. Do you mean a hook? I'd
rather not have to put some Xen-specific hook in here.
What would happen if I did online_pages(pfn, 1) on each page as I
populate it?
J
--
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/