Re: [rfc][patch 0/3] bootmem2: a memory block-oriented boot time allocator

Johannes Weiner
2008-05-05T11:23:30Z

Hi,

Johannes Weiner <hannes@saeurebad.de> writes:

> The problem is that memory nodes are not anymore garuanteed to be
> linear on certain configurations, they may overlap each other and a
> node might span page ranges that are not physically residing on it.
>
> Note that this is in no way theoretical only, bootmem suffers from
> this fact right now: A pfn range has to be operated on on every node
> that holds it (because a PFN is not unique anymore) and bootmem can
> not garuantee that the memory allocated from a specific node actually
> resides on that node.
>
> For example:
>
> node 0: 0-2G, 4-6G
> node 1: 2-4G, 6-8G
>
> Bootmem currently sees the 2-4G range twice (and has to operate on
> both node's bitmaps) and if memory is allocated on node 1, it may
> return memory that is between the 2-4G range and actually resides on
> node 0.

Uh, mixup. The memory resides on node 1 but may get allocated from
node 0.

Hannes