On 03/30/2010 01:09 PM, Juergen Lock wrote: > Oh sorry if that was not clear, things go into swap if I _replace_ the > endaddr ~0ul (which caused the assert) with the max value the assert > still tolerates i.e. > ((abi_ulong)1 << L1_MAP_ADDR_SPACE_BITS) - 1 > which in this case seems to be 0x7fffffffffff:
Yes, I got that. And I see from ... > #3 0x0000000060012731 in page_set_flags (start=140737488224256, > end=18446744073709551615, flags=32) ... here that the range we're reserving is 0x7ffffffe0000 ... 0x7fffffffffff which is a mere 128k range. Which ought to allocate no more than a single leaf page table (and thus N-1 pages for the N-level table). Which doesn't answer the question of why you'd wind up running out of memory. r~