From mboxrd@z Thu Jan 1 00:00:00 1970 From: rminnich@gmail.com (ron minnich) Date: Mon, 4 Apr 2011 08:18:09 -0700 Subject: [9fans] Go Plan 9 In-Reply-To: <946377fc99d55f66708553c16bb698de@coraid.com> References: <20110403211333.GA3905@dinah> <946377fc99d55f66708553c16bb698de@coraid.com> Message-ID: Topicbox-Message-UUID: c81db652-ead6-11e9-9d60-3106f5b1d025 On Sun, Apr 3, 2011 at 2:24 PM, erik quanstrom wrote: >> The reason it doesn't work on 9vx is because the 32 bit Go runtime >> reserves a large chunk of address space (currently 768mb). ?On all >> other platforms, this is accomplised with an mmap equivalient, which >> we all know won't work on Plan 9. >> > > if i read the thread on this topic correctly, this reservation > isn't necessary on plan 9, since there are no shared libraries > and the heap will always be contiguous. > no, the shared libraries are not going to affect the heap size. Certainly not to this scale. My understanding was that Go used this large sparse address space to effect for its garbage collection; the fact that it is backed by mmap of anonymous memory is what makes it work, since pages are not allocated until touched. Russ? ron