git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Cygwin can't handle huge packfiles?

From
CFChristopher Faylor <me@cgf.cx>
Date
Apr 5, 2006, 21:08 UTC
Message-ID
<20060405210844.GN26780@trixie.casa.cgf.cx>
In-Reply-To
<Pine.LNX.4.63.0604051612200.25304@wbgn013.biozentrum.uni-wuerzburg.de>
On Wed, Apr 05, 2006 at 04:14:20PM +0200, Johannes Schindelin wrote:
Show 11 quoted lines
>> Inspired by a patch of Alex Riesen (thanks, Alex), I tried to use the
>> regular mmap for mapping pack files, only to discover that I compile
>> without defining "NO_MMAP", so I've been using the stock mmap all
>> along. So now I'm thinking that the cygwin mmap also does a
>> malloc-and-read, just like git does with NO_MMAP. So I'll continue to
>> investigate in that direction.
>
>I think cygwin's mmap() is based on the Win32 API equivalent, which could 
>mean that it *is* memory mapped, but in a special area (which is smaller 
>than 1.5 gigabyte). In this case, it would make sense to limit the pack 
>size, thereby having several packs, and mmap() them as they are needed.

Yes, cygwin's mmap uses CreateFileMapping and MapViewOfFile. IIRC, Windows might have a 2G limitation lurking under the hood somewhere but I think that might be tweakable with some registry setting.

cgf
Previous: Johannes SchindelinNext: Rutger Nijlunsing
Message 8 of 18 in “Cygwin can't handle huge packfiles?”
  1. Kees-Jan DijkzeulApr 3, 2006
  2. Johannes SchindelinApr 3, 2006
  3. Morten WelinderApr 3, 2006
  4. Linus TorvaldsApr 3, 2006
  5. Linus TorvaldsApr 3, 2006
  6. Kees-Jan DijkzeulApr 5, 2006
  7. Johannes SchindelinApr 5, 2006
  8. Christopher FaylorApr 5, 2006
  9. Rutger NijlunsingApr 5, 2006
  10. Christopher FaylorApr 6, 2006
  11. Junio C HamanoApr 6, 2006
  12. Junio C HamanoApr 7, 2006
  13. Jakub NarebskiApr 7, 2006
  14. Nicolas PitreApr 7, 2006
  15. Junio C HamanoApr 7, 2006
  16. Nicolas PitreApr 7, 2006
  17. Johannes SchindelinApr 3, 2006
  18. Alex RiesenApr 3, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.