On Tue, May 03, 2011 at 09:32:33AM -0700, Dave Hansen wrote:
> On Tue, 2011-05-03 at 00:01 +0200, Daniel Kiper wrote:
> > @@ -448,6 +575,14 @@ static int __init balloon_init(void)
> > balloon_stats.retry_count = 1;
> > balloon_stats.max_retry_count = RETRY_UNLIMITED;
> >
> > +#ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
> > + balloon_stats.hotplug_pages = 0;
> > + balloon_stats.balloon_hotplug = 0;
> > +
> > + register_online_page_callback(&xen_online_page);
> > + register_memory_notifier(&xen_memory_nb);
> > +#endif
>
> This is 100% static, apparently. XEN_BALLOON can't be a module, so I
> still don't see the point of having the un/register stuff.
You are right to some extent. However, xen_online_page() is registered
as page onlining function only on Xen hypervisor. On bare metal
generic_online_page() is only valid page onlining function.
Additionally, I think this callback mechanism enable other balloon
implementations (KVM, VMware, ...) to easily integrate with memory
hotplug. If it comes true (I am going to propose relevant solution
maybe with more generic balloon driver for Linux Kernel somewhen;
I have some ideas, however, I must focus on more important issues
for me now) proper page onlining function (for Xen, KVM, ...) should
be registered at boot time or module load/unload (after hypervisor
detection). That is why I am insisting on run time solution.
It is an investment into the future.
Daniel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|