From: Andy Whitcroft <apw@shadowen.org>
To: Shawn Pearce <spearce@spearce.org>
Cc: Francis Moreau <francis.moro@gmail.com>,
Junio C Hamano <junkio@cox.net>,
git@vger.kernel.org
Subject: Re: [PATCH 0/17] Sliding window mmap for packfiles.
Date: Tue, 02 Jan 2007 15:28:33 +0000 [thread overview]
Message-ID: <459A7A21.4060901@shadowen.org> (raw)
In-Reply-To: <20061224094959.GA7814@spearce.org>
Shawn Pearce wrote:
> Francis Moreau <francis.moro@gmail.com> wrote:
>> On 12/24/06, Shawn Pearce <spearce@spearce.org> wrote:
>>> However with this series even a 32 bit OS which only permits
>>> processes to have at most 2 GiB of address space (2 GiB split
>>> between kernel space and userspace) can access packfiles up
>>> to 4 GiB in size. That seems to be the split most OSes wind
>>> up using, if they didn't push it out to 3.2 GiB like Linux
>>> and Solaris have done.
>>>
>> Does it still needed for 64 bit OS ?
>
> Not really. Almost any reasonable 64 bit OS which is also running
> a Git compiled for 64 bit userspace would be able to mmap multiple
> 4 GiB packfiles without this series.
>
>> if not, can the overhead (if there is a significant one) implied by
>> your rework be avoid for such cases ?
>
> The overhead is rather low. I did try hard to make it only a handful
> of machine instructions worth of additional work, and even then I
> tried to ammortize those over relatively large blocks of data to
> reduce the impact. But yes, there is an overhead over the current
> shipping version of Git.
>
> However at least some of the overhead can be avoided by setting
> core.packedGitWindowSize and core.packedGitLimit to higher values.
> This will allow the implementation to mmap() larger windows of the
> packfiles and retain a greater number of windows in memory at once.
>
> If core.packedGitWindowSize is larger than your largest packfile
> then most of the code will just "shutoff" and won't get in the way.
> Its default is 32 MiB (see Documentation/config.txt).
>
> I think the additional overhead added by this series is neglible
> and worth the more graceful degredation it allows when virtual
> address space becomes limited.
You now change the default size based on NO_MMAP, could you not just
bump the window size to 4GiB on 64 bit?
-apw
next prev parent reply other threads:[~2007-01-02 15:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-23 7:33 [PATCH 0/17] Sliding window mmap for packfiles Shawn O. Pearce
2006-12-23 9:37 ` Junio C Hamano
2006-12-23 9:42 ` Shawn Pearce
2006-12-24 8:56 ` Francis Moreau
2006-12-24 9:05 ` Shawn Pearce
2006-12-24 9:36 ` Francis Moreau
2006-12-24 9:49 ` Shawn Pearce
2007-01-02 15:28 ` Andy Whitcroft [this message]
2006-12-24 9:29 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=459A7A21.4060901@shadowen.org \
--to=apw@shadowen.org \
--cc=francis.moro@gmail.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).