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

Reply via email to