> It turns out that this exhaustion of the 32-bit address space happens > due to a combination of three issues: > > * the SPARC pagesize of 8 kB, > > * ggc-page.cc's chunk size of 512 * pagesize, i.e. 4 MB, and > > * mmap adding two 8 kB unmapped red-zone pages to each mapping > > which result in the 4 MB mappings to actually consume 4.5 MB of address > space. > > To avoid this, this patch reduces the chunk size so it remains at 4 MB > even when combined with the red-zone pages, as recommended by mmap(2).
Nice investigation! This size is a host parameter rather than a target one though, so config/sparc/sol2.h is probably not the most appropriate place to override it, but I personally do not mind. -- Eric Botcazou