Hello Simon, Thursday, June 15, 2006, 7:07:55 PM, you wrote:
> It looks like freeAllMBlocks() wouldn't work properly if more than one > 256Mb chunk was allocated, because we don't remember the location of > previous chunks. > Have you tried this? Does it work, apart from freeAllMBlocks()? no. i still don't learned how to compile ghc sources but analyzing the sources you are right. moreover it seems that lines i propose to omit is inserted just as temporary solution what deals with this problem is not it possible just to omit VirtualFree() calls because OS will free this mem anyway? best solution should be to alloc memory in some limited chunks, say 32 mb, even with -M specified. afaiu, mapping large memory block limits memory available for allocation outside of GHC and -M option is not mean "reserve this much memory and don't allow outside-GHC routines to alloc it anyway". adding linked list of such chunks should be no much problem, at least while we don't allow to return to OS currently unused megablocks -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc
