Skip to content

Commit

Permalink
Make NO_PTHREADS the sole thread configuration variable
Browse files Browse the repository at this point in the history
When the first piece of threaded code was introduced in commit 8ecce68, it
came with its own THREADED_DELTA_SEARCH Makefile option. Since this time,
more threaded code has come into the codebase and a NO_PTHREADS option has
also been added. Get rid of the original option as the newer, more generic
option covers everything we need.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Dan McGee authored and Junio C Hamano committed Jan 31, 2010
1 parent b0883aa commit 7eb151d
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 36 deletions.
3 changes: 3 additions & 0 deletions Documentation/RelNotes-1.7.0.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,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
------------------

Expand Down
24 changes: 2 additions & 22 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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().
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -864,15 +856,13 @@ 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)
NEEDS_LIBICONV = YesPlease
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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 \
Expand Down Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions builtin-pack-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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);
Expand Down
1 change: 0 additions & 1 deletion config.mak.in
Original file line number Diff line number Diff line change
Expand Up @@ -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@
9 changes: 2 additions & 7 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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
Expand All @@ -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])])
Expand All @@ -812,7 +809,6 @@ else
[AC_MSG_RESULT([yes])
NO_PTHREADS=
PTHREAD_LIBS="$PTHREAD_CFLAGS"
THREADED_DELTA_SEARCH=YesPlease
],
[AC_MSG_RESULT([no])])

Expand All @@ -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}"])
Expand Down

0 comments on commit 7eb151d

Please sign in to comment.