Subject: Re: [PATCH 3/5] autoconf: Preliminary check for working mmap

From: Shawn Pearce <[email-masked]>
Date: Mon, 4 Sep 2006 23:09:29 -0400

Jakub Narebski <[email-masked]> wrote:
> Junio C Hamano wrote:
> 
> > Jakub Narebski <[email-masked]> writes:
> > 
> >> This patch sent earlier in other patch series and dropped,
> >> as git uses private mapping, not private fixed. I think
> >> that this check is better than no check at all...
> > 
> > I think the next major change that is needed fairly soon is to
> > be able to mmap parts of a large pack file (even with 32-bit
> > offset).  I haven't loooked into it deeply enough but it may or
> > may not turn out to be beneficial if we map at fixed location so
> > the requirements of "working mmap()" might change.  I'd be
> > happier if you held onto this part of the patch before that
> > happens.
> 
> Well, this patch perhaps not always would set NO_MMAP when it should 
> (some broken mmap that does private+fixed but not private), but I guess that
> if it would set NO_MMAP then mmap is broken (or doesn't exist at all).
> 
> I have noticed AC_FUNC_MMAP test, and thought why not to use it?
> The simplest check if mmap exist would be to check libc for mmap function.

Are there really mmap implementations that will only do
private+fixed?  Sick.

I'm maybe only 1/3 of the way through the sliding window mmap
implementation.  I've got a good chunk of sha1_file.c converted but I
still have to deal with the copying in pack-objects.c and the verify
code in verify-pack.c.  I'm hoping I can send a preliminary patch
series tomorrow as I'm going to work on it more tonight and tomorrow.

-- 
Shawn.