Hi, all, this patchset add support so that we can add memory dynamically to the
system. This can be used for memory hot add.
The change includes
a) changes to boot allocator, frametable setup, m2p table setup, so that they
will be called not-only when system boot up, but also when hot add happens
b) Changes to page fault handler, to propgate changes to frametable/m2p table
to all guest.
Please review it and gives feedback.
Thanks
Yunhong Jiang
BTW, we also want to have some discussion on how to support memory hot add. The
main challenges comes from ACPI.
When memory hot add happen, it will trigger an ACPI event. The ACPI driver will
get memory device's resource information, including start/end address, NUMA
informatin (proximity domain information) etc and in the end add the memory to
OSPM.
In Xen, the ACPI event will be handled firstly by Dom0 , but dom0 have no idea
of physical memory. The real memory adding should happen in Xen HV.
There are several option to support it.
a) Move the ACPI event to Xen HV, that is sure to be a big changes.
b) Add some hook in Dom0, so that instead of add the new memory to dom0, it
will use hypercall to notify Xen HV.
c) Change current dom0 implementation. When dom0 get the ACPI event and get the
memory device's resource, it will not directly add the memry to system,
instead, it will notify user space with uevent. The uevent script will ask
kernel to add the new memory to system. In Xen environment, the uevent script
will notify Xen HV. We are still investigating on this option.
We are in early stage . any suggestion or new idea will be helpful to us and
welcome.
Of course, no matter how to support memory hotadd, this patchset is not
impacted . For example, following usage model will require this function: an
"mem=" optoin .is used to limit xen's memory, and later, we want to bring all
memory to xen.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|