зеркало из https://github.com/microsoft/git.git
Merge branch 'dm/make-threaded-simplify'
* dm/make-threaded-simplify: Make NO_PTHREADS the sole thread configuration variable
This commit is contained in:
Коммит
2ee8c5b647
|
@ -182,6 +182,9 @@ Updates since v1.6.6
|
|||
|
||||
* Many more commands are now built-in.
|
||||
|
||||
* THREADED_DELTA_SEARCH is no more. If you build with threads, delta
|
||||
compression will always take advantage of it.
|
||||
|
||||
Fixes since v1.6.6
|
||||
------------------
|
||||
|
||||
|
|
24
Makefile
24
Makefile
|
@ -180,9 +180,6 @@ all::
|
|||
# If not set it defaults to the bare 'wish'. If it is set to the empty
|
||||
# string then NO_TCLTK will be forced (this is used by configure script).
|
||||
#
|
||||
# Define THREADED_DELTA_SEARCH if you have pthreads and wish to exploit
|
||||
# parallel delta searching when packing objects.
|
||||
#
|
||||
# Define INTERNAL_QSORT to use Git's implementation of qsort(), which
|
||||
# is a simplified version of the merge sort used in glibc. This is
|
||||
# recommended if Git triggers O(n^2) behavior in your platform's qsort().
|
||||
|
@ -722,12 +719,10 @@ EXTLIBS =
|
|||
ifeq ($(uname_S),Linux)
|
||||
NO_STRLCPY = YesPlease
|
||||
NO_MKSTEMPS = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_S),GNU/kFreeBSD)
|
||||
NO_STRLCPY = YesPlease
|
||||
NO_MKSTEMPS = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_S),UnixWare)
|
||||
CC = cc
|
||||
|
@ -781,7 +776,6 @@ ifeq ($(uname_S),Darwin)
|
|||
NO_STRLCPY = YesPlease
|
||||
endif
|
||||
NO_MEMMEM = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
USE_ST_TIMESPEC = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_S),SunOS)
|
||||
|
@ -794,7 +788,6 @@ ifeq ($(uname_S),SunOS)
|
|||
NO_MKDTEMP = YesPlease
|
||||
NO_MKSTEMPS = YesPlease
|
||||
NO_REGEX = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
ifeq ($(uname_R),5.7)
|
||||
NEEDS_RESOLV = YesPlease
|
||||
NO_IPV6 = YesPlease
|
||||
|
@ -850,7 +843,6 @@ ifeq ($(uname_S),FreeBSD)
|
|||
BASIC_LDFLAGS += -L/usr/local/lib
|
||||
DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
|
||||
USE_ST_TIMESPEC = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
ifeq ($(shell expr "$(uname_R)" : '4\.'),2)
|
||||
PTHREAD_LIBS = -pthread
|
||||
NO_UINTMAX_T = YesPlease
|
||||
|
@ -864,7 +856,6 @@ ifeq ($(uname_S),OpenBSD)
|
|||
NEEDS_LIBICONV = YesPlease
|
||||
BASIC_CFLAGS += -I/usr/local/include
|
||||
BASIC_LDFLAGS += -L/usr/local/lib
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_S),NetBSD)
|
||||
ifeq ($(shell expr "$(uname_R)" : '[01]\.'),2)
|
||||
|
@ -872,7 +863,6 @@ ifeq ($(uname_S),NetBSD)
|
|||
endif
|
||||
BASIC_CFLAGS += -I/usr/pkg/include
|
||||
BASIC_LDFLAGS += -L/usr/pkg/lib $(CC_LD_DYNPATH)/usr/pkg/lib
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
USE_ST_TIMESPEC = YesPlease
|
||||
NO_MKSTEMPS = YesPlease
|
||||
endif
|
||||
|
@ -887,9 +877,7 @@ ifeq ($(uname_S),AIX)
|
|||
INTERNAL_QSORT = UnfortunatelyYes
|
||||
NEEDS_LIBICONV=YesPlease
|
||||
BASIC_CFLAGS += -D_LARGE_FILES
|
||||
ifneq ($(shell expr "$(uname_V)" : '[1234]'),1)
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
else
|
||||
ifeq ($(shell expr "$(uname_V)" : '[1234]'),1)
|
||||
NO_PTHREADS = YesPlease
|
||||
endif
|
||||
endif
|
||||
|
@ -915,7 +903,6 @@ ifeq ($(uname_S),IRIX)
|
|||
SNPRINTF_RETURNS_BOGUS = YesPlease
|
||||
SHELL_PATH = /usr/gnu/bin/bash
|
||||
NEEDS_LIBGEN = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_S),IRIX64)
|
||||
NO_SETENV=YesPlease
|
||||
|
@ -934,7 +921,6 @@ ifeq ($(uname_S),IRIX64)
|
|||
SNPRINTF_RETURNS_BOGUS = YesPlease
|
||||
SHELL_PATH=/usr/gnu/bin/bash
|
||||
NEEDS_LIBGEN = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
endif
|
||||
ifeq ($(uname_S),HP-UX)
|
||||
NO_IPV6=YesPlease
|
||||
|
@ -984,7 +970,6 @@ ifeq ($(uname_S),Windows)
|
|||
NO_CURL = YesPlease
|
||||
NO_PYTHON = YesPlease
|
||||
BLK_SHA1 = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
|
||||
CC = compat/vcbuild/scripts/clink.pl
|
||||
AR = compat/vcbuild/scripts/lib.pl
|
||||
|
@ -1036,7 +1021,6 @@ ifneq (,$(findstring MINGW,$(uname_S)))
|
|||
NO_REGEX = YesPlease
|
||||
NO_PYTHON = YesPlease
|
||||
BLK_SHA1 = YesPlease
|
||||
THREADED_DELTA_SEARCH = YesPlease
|
||||
COMPAT_CFLAGS += -D__USE_MINGW_ACCESS -DNOGDI -Icompat -Icompat/fnmatch -Icompat/win32
|
||||
COMPAT_CFLAGS += -DSTRIP_EXTENSION=\".exe\"
|
||||
COMPAT_OBJS += compat/mingw.o compat/fnmatch/fnmatch.o compat/winansi.o \
|
||||
|
@ -1334,16 +1318,12 @@ ifdef RUNTIME_PREFIX
|
|||
endif
|
||||
|
||||
ifdef NO_PTHREADS
|
||||
THREADED_DELTA_SEARCH =
|
||||
BASIC_CFLAGS += -DNO_PTHREADS
|
||||
else
|
||||
EXTLIBS += $(PTHREAD_LIBS)
|
||||
endif
|
||||
|
||||
ifdef THREADED_DELTA_SEARCH
|
||||
BASIC_CFLAGS += -DTHREADED_DELTA_SEARCH
|
||||
LIB_OBJS += thread-utils.o
|
||||
endif
|
||||
|
||||
ifdef DIR_HAS_BSD_GROUP_SEMANTICS
|
||||
COMPAT_CFLAGS += -DDIR_HAS_BSD_GROUP_SEMANTICS
|
||||
endif
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
#include "progress.h"
|
||||
#include "refs.h"
|
||||
|
||||
#ifdef THREADED_DELTA_SEARCH
|
||||
#ifndef NO_PTHREADS
|
||||
#include "thread-utils.h"
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
@ -1255,7 +1255,7 @@ static int delta_cacheable(unsigned long src_size, unsigned long trg_size,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef THREADED_DELTA_SEARCH
|
||||
#ifndef NO_PTHREADS
|
||||
|
||||
static pthread_mutex_t read_mutex;
|
||||
#define read_lock() pthread_mutex_lock(&read_mutex)
|
||||
|
@ -1380,7 +1380,7 @@ static int try_delta(struct unpacked *trg, struct unpacked *src,
|
|||
/*
|
||||
* Handle memory allocation outside of the cache
|
||||
* accounting lock. Compiler will optimize the strangeness
|
||||
* away when THREADED_DELTA_SEARCH is not defined.
|
||||
* away when NO_PTHREADS is defined.
|
||||
*/
|
||||
free(trg_entry->delta_data);
|
||||
cache_lock();
|
||||
|
@ -1567,7 +1567,7 @@ static void find_deltas(struct object_entry **list, unsigned *list_size,
|
|||
free(array);
|
||||
}
|
||||
|
||||
#ifdef THREADED_DELTA_SEARCH
|
||||
#ifndef NO_PTHREADS
|
||||
|
||||
/*
|
||||
* The main thread waits on the condition that (at least) one of the workers
|
||||
|
@ -1899,7 +1899,7 @@ static int git_pack_config(const char *k, const char *v, void *cb)
|
|||
if (delta_search_threads < 0)
|
||||
die("invalid number of threads specified (%d)",
|
||||
delta_search_threads);
|
||||
#ifndef THREADED_DELTA_SEARCH
|
||||
#ifdef NO_PTHREADS
|
||||
if (delta_search_threads != 1)
|
||||
warning("no threads support, ignoring %s", k);
|
||||
#endif
|
||||
|
@ -2227,7 +2227,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
|
|||
delta_search_threads = strtoul(arg+10, &end, 0);
|
||||
if (!arg[10] || *end || delta_search_threads < 0)
|
||||
usage(pack_usage);
|
||||
#ifndef THREADED_DELTA_SEARCH
|
||||
#ifdef NO_PTHREADS
|
||||
if (delta_search_threads != 1)
|
||||
warning("no threads support, "
|
||||
"ignoring %s", arg);
|
||||
|
|
|
@ -56,5 +56,4 @@ NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@
|
|||
FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@
|
||||
SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@
|
||||
NO_PTHREADS=@NO_PTHREADS@
|
||||
THREADED_DELTA_SEARCH=@THREADED_DELTA_SEARCH@
|
||||
PTHREAD_LIBS=@PTHREAD_LIBS@
|
||||
|
|
|
@ -762,10 +762,9 @@ AC_SUBST(NO_MKSTEMPS)
|
|||
# Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link.
|
||||
# Enable it on Windows. By default, symrefs are still used.
|
||||
#
|
||||
# Define NO_PTHREADS if we do not have pthreads
|
||||
# Define NO_PTHREADS if we do not have pthreads.
|
||||
#
|
||||
# Define PTHREAD_LIBS to the linker flag used for Pthread support and define
|
||||
# THREADED_DELTA_SEARCH if Pthreads are available.
|
||||
# Define PTHREAD_LIBS to the linker flag used for Pthread support.
|
||||
AC_DEFUN([PTHREADTEST_SRC], [
|
||||
#include <pthread.h>
|
||||
|
||||
|
@ -782,7 +781,6 @@ dnl [[pthread_mutex_t test_mutex;]]
|
|||
dnl )])
|
||||
|
||||
NO_PTHREADS=UnfortunatelyYes
|
||||
THREADED_DELTA_SEARCH=
|
||||
PTHREAD_LIBS=
|
||||
|
||||
if test -n "$USER_NOPTHREAD"; then
|
||||
|
@ -798,7 +796,6 @@ elif test -z "$PTHREAD_CFLAGS"; then
|
|||
[AC_MSG_RESULT([yes])
|
||||
NO_PTHREADS=
|
||||
PTHREAD_LIBS="$opt"
|
||||
THREADED_DELTA_SEARCH=YesPlease
|
||||
break
|
||||
],
|
||||
[AC_MSG_RESULT([no])])
|
||||
|
@ -812,7 +809,6 @@ else
|
|||
[AC_MSG_RESULT([yes])
|
||||
NO_PTHREADS=
|
||||
PTHREAD_LIBS="$PTHREAD_CFLAGS"
|
||||
THREADED_DELTA_SEARCH=YesPlease
|
||||
],
|
||||
[AC_MSG_RESULT([no])])
|
||||
|
||||
|
@ -823,7 +819,6 @@ CFLAGS="$old_CFLAGS"
|
|||
|
||||
AC_SUBST(PTHREAD_LIBS)
|
||||
AC_SUBST(NO_PTHREADS)
|
||||
AC_SUBST(THREADED_DELTA_SEARCH)
|
||||
|
||||
## Output files
|
||||
AC_CONFIG_FILES(["${config_file}":"${config_in}":"${config_append}"])
|
||||
|
|
Загрузка…
Ссылка в новой задаче