|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
RE: [Xen-ia64-devel]Found the lost memory.
>From: Alex Williamson [mailto:alex.williamson@xxxxxx]
>Sent: 2006年2月28日 11:04
>To: Xu, Anthony
>Cc: dan.magenheimer@xxxxxx; xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
>Subject: Re: [Xen-ia64-devel]Found the lost memory.
>
>On Tue, 2006-02-28 at 10:41 +0800, Xu, Anthony wrote:
>> Unfortunately memory space for dom0 image and initrd is at very high
>> address, which is conflict with memory space reversed for dom0 to
>> avoid CONFIG_VIRTUAL_MEM_MAP isse, see below code segment:
>> /* this is a bad hack. see dom_fw.c creation of EFI map for dom0 */
>> max_page = (GRANULEROUNDDOWN(max_page << PAGE_SHIFT)
>> - IA64_GRANULE_SIZE) >> PAGE_SHIFT;
>>
>> Alex/Dan:
>> I have no idea about how to handle this, what's your thought about this
>> issue?
>
>Anthony,
>
> Good find! I think we should definitely fix this even if the memory
>gain may not be realized until we solve the virtual memmap/discontig
>memory issues. Thanks,
>
The problem is ia64_boot_param->domain_start may exceed max_page<<PAGE_SHIFT,
Calling init_domheap_pages() to reclaim memory may cause machine crash.
Another issue is:
In file arch/ia64/linux-xen/efi.c
// this is a temporary hack to avoid CONFIG_VIRTUAL_MEM_MAP
if (md->phys_addr >= 0x100000000) continue;
This code segment will limit platform memory size less than 4G, if a platform
has memory more than 4G, ia64_boot_param->domain_start may exceed 4G, due to
efi allocate memory from high end to low end, VMM can't use
init_domheap_pages()
to reclaim this memory.
The possible solution is to put correct code there, comment this code segment
and add comments to describe this issue.
Is this OK?
Thanks,
Anthony
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|