Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Make sure packedgitwindowsize is multiple of (pagesize * 2)
author
Junio C Hamano
<junkio@cox.net>
Wed, 14 Feb 2007 21:20:41 +0000
(13:20 -0800)
committer
Junio C Hamano
<junkio@cox.net>
Wed, 14 Feb 2007 21:20:41 +0000
(13:20 -0800)
The next patch depends on this.
Signed-off-by: Junio C Hamano <junkio@cox.net>
config.c
patch
|
blob
|
history
git-compat-util.h
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
bd07326
)
diff --git
a/config.c
b/config.c
index d82107124a53bca99ee65ea31dceb3871bf6796f..c938aa0b15513265866b88dbb9b8217958cac376 100644
(file)
--- a/
config.c
+++ b/
config.c
@@
-310,12
+310,14
@@
int git_default_config(const char *var, const char *value)
}
if (!strcmp(var, "core.packedgitwindowsize")) {
}
if (!strcmp(var, "core.packedgitwindowsize")) {
- int pgsz
= getpagesize()
;
+ int pgsz
_x2 = getpagesize() * 2
;
packed_git_window_size = git_config_int(var, value);
packed_git_window_size = git_config_int(var, value);
- packed_git_window_size /= pgsz;
- if (packed_git_window_size < 2)
- packed_git_window_size = 2;
- packed_git_window_size *= pgsz;
+
+ /* This value must be multiple of (pagesize * 2) */
+ packed_git_window_size /= pgsz_x2;
+ if (packed_git_window_size < 1)
+ packed_git_window_size = 1;
+ packed_git_window_size *= pgsz_x2;
return 0;
}
return 0;
}
diff --git
a/git-compat-util.h
b/git-compat-util.h
index c1bcb001a51324ebcb66bfb0a695e20ff366df02..105ac28f9766cb8800fcf6071fd94ed0e3cdf90a 100644
(file)
--- a/
git-compat-util.h
+++ b/
git-compat-util.h
@@
-96,11
+96,14
@@
extern void set_warn_routine(void (*routine)(const char *warn, va_list params));
extern void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);
extern int git_munmap(void *start, size_t length);
extern void *git_mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset);
extern int git_munmap(void *start, size_t length);
+/* This value must be multiple of (pagesize * 2) */
#define DEFAULT_PACKED_GIT_WINDOW_SIZE (1 * 1024 * 1024)
#else /* NO_MMAP */
#include <sys/mman.h>
#define DEFAULT_PACKED_GIT_WINDOW_SIZE (1 * 1024 * 1024)
#else /* NO_MMAP */
#include <sys/mman.h>
+
+/* This value must be multiple of (pagesize * 2) */
#define DEFAULT_PACKED_GIT_WINDOW_SIZE \
(sizeof(void*) >= 8 \
? 1 * 1024 * 1024 * 1024 \
#define DEFAULT_PACKED_GIT_WINDOW_SIZE \
(sizeof(void*) >= 8 \
? 1 * 1024 * 1024 * 1024 \