From: rdparker AT butlermfg DOT org (Parker, Ron) Subject: RE: Question about Sergey's heap change 8 Apr 1998 13:53:34 -0700 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BD62FE.7497C2C0" To: "'noer AT cygnus DOT com'" , Ian Lance Taylor Cc: "'cygwin32-developers'" This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------ =_NextPart_000_01BD62FE.7497C2C0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit As long as the heap space is only being reserved and not committed, no swap space is used for it. If you look at heap_init() in heap.c you will see that the heap is being allocated in virtual memory by VirtualAlloc. When a process is not the result of a fork, this is being allocated with MEM_RESERVE, so no swap space is used, only page table entries are set up for it. In commit_and_inc() the swap space is being committed. -----Original Message----- From: Ian Lance Taylor [mailto:ian AT cygnus DOT com] Sent: Tuesday, April 07, 1998 10:54 PM To: noer AT cygnus DOT com Cc: cygwin32-developers AT cygnus DOT com; noer AT cygnus DOT com Subject: Re: Question about Sergey's heap change From: Geoffrey Noer Date: Tue, 7 Apr 1998 18:41:15 -0700 (PDT) Sergey Okhapkin wrote: > > Now I know why _every_ cygwin process have a splitted heap if it allocates > more than heap_chunk_size bytes of memory (but I will not tell you why this > happens - think yourself!-) Here is the temporary fix - reserve a large > amount of memory for heap to avoid fork problem. The fix doesn't affect > performance. > > H:\usr\src\cygnus\cdk\winsup>diff -u shared.cc.orig shared.cc > --- shared.cc.orig Wed Feb 11 06:15:08 1998 > +++ shared.cc Tue Mar 24 10:44:55 1998 > @@ -96,7 +96,7 @@ > > reg_session reg; > > - heap_chunk_in_mb = reg.get_key ().get_int ("heap_chunk_in_mb", 8); > + heap_chunk_in_mb = reg.get_key ().get_int ("heap_chunk_in_mb", 128); > if (heap_chunk_in_mb < 4) > { > heap_chunk_in_mb = 4; Are there reasons why I shouldn't make this change? On a traditional Unix system, making this change would mean that every process would require 128 MB in the swap file, and your system would rapidly run out of swap space. I don't know how the Windows equivalent of a swap file works, so I don't know whether there would be any equivalent problem. Ian ------ =_NextPart_000_01BD62FE.7497C2C0 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IgYTAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQmAAQAhAAAARkM4RkYwRDMyOUNFRDExMThBQUEwMDYwMDhDNzcx MjkANAcBIIADAA4AAADOBwQACAAOADgAAQADACsBAQWAAwAOAAAAzgcEAAgACgAWACoAAwAuAQEN gAQAAgAAAAIAAgABBIABACgAAABSRTogUXVlc3Rpb24gYWJvdXQgU2VyZ2V5J3MgaGVhcCBjaGFu Z2UA8Q0BA5AGAHAKAAArAAAACwACAAEAAAALACsAAAAAAAMALgAAAAAAQAA5AGAbnSwCY70BHgBw AAEAAAAkAAAAUXVlc3Rpb24gYWJvdXQgU2VyZ2V5J3MgaGVhcCBjaGFuZ2UAAgFxAAEAAAAbAAAA Ab1io6xm8jUKoM1cEdGALggACeAbgQAVTu8gAAMABhBo8RcCAwAHEJ0FAAAeAAgQAQAAAGUAAABB U0xPTkdBU1RIRUhFQVBTUEFDRUlTT05MWUJFSU5HUkVTRVJWRURBTkROT1RDT01NSVRURUQsTk9T V0FQU1BBQ0VJU1VTRURGT1JJVElGWU9VTE9PS0FUSEVBUElOSVQoKUlOAAAAAAMAEBAAAAAAAwAR EAAAAAACAQkQAQAAAKcFAACjBQAAigkAAExaRnUOWu0QAwAKAHJjcGcxMjXiMgNDdGV4BUEBAwH3 /wqAAqQD5AcTAoAP8wBQBFY/CFUHshElDlEDAQIAY2jhCsBzZXQyBgAGwxEl9jMERhO3MBIsETMI 7wn3tjsYHw4wNREiDGBjAFCzCwkBZDM2FlALp2MBMIcQwAQgF7BuZyBhBCAQdGhlIB3wYXAgWnMK sGMeAAQAIAIgbPB5IGJlC4AdkBggFBAscnYJgB2gbiAgbm9jBUAFoG1taQJACYAs6yBxHmB3Hkp1 FBAgIAIQcwXAIQAuIArjCoQKgEmYZiB5CGAdUW9rHaCbBUAeIl8LgCEAKCkewLMDoB4iLmMkQwPw bAMg/xQQHgAd4CThHece0R9UB0CdF7BjJOAgESXRdmkAINp1B0AgB4AEYHIfMR8w2lYplEEowiMx Vx3wA6D4YSBwA2AeoAQRHtEggtMd4h+xdWwFQG8kMCvg/SLRayFQHeAe0SgvICAD8AMd4AXQRU1f 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 cmc+AAAAAEuw ------ =_NextPart_000_01BD62FE.7497C2C0--