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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>