Re: Funny error with git gc...
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- May 15, 2009, 19:16 UTC
- Message-ID
- <alpine.LFD.2.01.0905151212160.3343@localhost.localdomain>
- In-Reply-To
- <alpine.DEB.1.00.0905152105340.26154@pacific.mpi-cbg.de>
On Fri, 15 May 2009, Johannes Schindelin wrote:
Show 10 quoted lines
> > > > [core] > > packedGitWindowSize = 16k > > packedGitLimit = 1M > > > > you should hopefully be able to repack (slowly) even with a low file > > descriptor limit, because of the total limit on the size. > > I don't think so, because the window size has nothing to do with the > amount of open windows, right?
No, but the packedGitLimit does.
So the argument is that you can't fit all that many open windows in 1M.
> No, in this case, nothing was disabled. auto-gc did not kick in, probably > due to funny Git usage in hg2git.
Ahh. Scripting.
> > Dscho? What are your pack-file statistics in this case? > > Mostly around 50kB.
Can you give us an approximation for how many are under 16kB or so?
The 16kB cutoff is where it's usually just better to malloc+read (because even if you don't end up using all the 16kB, just a page-fault or two is already more expensive than just doing the memcpy implied in a 16k read() system call).
> But using malloc()+read() to avoid my use case sounds not > straight-forward; it is rather a work-around than a proper solution.
Well, it's a workaround that is correct for other reasons too. So it's likely worth doing.
The "proper solution" is likely to not avoid repacking. Scripted stuff that does that is buggy.
Linus