summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: bac2614)
raw | patch | inline | side by side (parent: bac2614)
author | Shawn O. Pearce <spearce@spearce.org> | |
Sat, 23 Dec 2006 07:34:38 +0000 (02:34 -0500) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Fri, 29 Dec 2006 19:36:45 +0000 (11:36 -0800) |
We cannot allow a window to be smaller than 2 system pages.
This limitation is necessary to support the feature of use_pack()
where we always supply at least 20 bytes after the offset to help
the object header and delta base parsing routines.
If packedGitWindowSize were allowed to be as small as 1 system page
then we would be completely unable to access an object header which
spanned over a page as we would never be able to arrange a mapping
such that the header was contiguous in virtual memory.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This limitation is necessary to support the feature of use_pack()
where we always supply at least 20 bytes after the offset to help
the object header and delta base parsing routines.
If packedGitWindowSize were allowed to be as small as 1 system page
then we would be completely unable to access an object header which
spanned over a page as we would never be able to arrange a mapping
such that the header was contiguous in virtual memory.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
config.c | patch | blob | history |
diff --git a/config.c b/config.c
index 21f166e60881f2144b1f54c21262937b5f8b5877..3b8da569fa72f88023cfab597d0ca9e42a051619 100644 (file)
--- a/config.c
+++ b/config.c
int pgsz = getpagesize();
packed_git_window_size = git_config_int(var, value);
packed_git_window_size /= pgsz;
- if (!packed_git_window_size)
- packed_git_window_size = 1;
+ if (packed_git_window_size < 2)
+ packed_git_window_size = 2;
packed_git_window_size *= pgsz;
return 0;
}