lkml.org 
[lkml]   [2012]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: x86-64: memset()/memcpy() not fully standards compliant
>>> On 06.01.12 at 12:08, Andi Kleen <andi@firstfloor.org> wrote:
>> It's not the traditional bootmem implementation anymore, but
>> alloc_bootmem() et al still exist, and still clear the allocated memory
>> (in __alloc_memory_core_early()). So there is a code path that can
>> validly be used (and it is this code path that is presenting one of the
>> problems with the non-pv-ops Xen kernels, as they're using flatmem
>> rather than sparsemem since their physical address space is always
>> fully continuous).
>
> Yes but there should be no callers that do alloc_bootmem(4G)
> The biggest ones afak are the 1GB pages I added some time ago.
>
> How is it a problem in the non pv Xen kernels?

pgdat->node_mem_map[] exceeds 4G when total memory goes far
enough beyond 292G. At some later point ->node_page_cgroup[]
also exceeds 4G. Finally, the phys-to-machine mapping (which gets
resized during boot) exceeds 4G when crossing the 2T boundary.

Jan



\
 
 \ /
  Last update: 2012-01-06 13:27    [W:0.066 / U:0.472 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site