mmap failure after changing kernel start address

0

I'm using Linux 32bit v4.1.8 on PowerPC p4080DS CPU and external GPU. Until now with "regular" (some pre-defined settings and device tree) I managed to create a shared memory region between the CPU and GPU. For some reasons I changed the Linux kernel start address from 0xc0000000 to 0x80000000 and increased lowmemsize from 0x30000000 to 0x60000000 (page_offset = 0x80000000 , user task_size = 0x80000000 , lowmemsize = 0x60000000) and now the mmap failes returning MAP_FAILED.

The device tree contains the same information (physical address and length) of the GPU and shared memory areas as before - I didn't change it.

Is there any reason for the mmap to fail following the kernel virtual address relocation?

linux
kernel
mmap
asked on Stack Overflow Oct 22, 2019 by hutcruchi • edited Oct 22, 2019 by Pibben

1 Answer

0

The answer is that I didn't leave enough virtual space as the process require. The mmap failed because the process run out of virtual memory regardless the kernel's relocation.

answered on Stack Overflow Oct 31, 2019 by hutcruchi

User contributions licensed under CC BY-SA 3.0