From 6d475d9bbb3155fd9d167816390e057262e5c81d Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Fri, 5 May 2017 21:04:25 +0300 Subject: [PATCH] Update documentation as parallel mark is now on by default in configure (fix commit c7f2147) * configure.ac (parallel-mark): Provide information about --disable-parallel-mark option instead of --enable-parallel-mark. * doc/README.autoconf (Important options): Likewise. * doc/README.solaris2: Likewise. * doc/simple_example.html: Likewise. * doc/README.DGUX386: Remove configure --enable-parallel-mark option (as it is on by default now). * doc/README.autoconf (Important options): Do not provide information about --enable-full-debug which is no longer supported (since v7.0). * doc/gcinterface.html: update information about parallel marker mode in configure. * doc/README.solaris2: Provide information about --disable-threads option instead of --enable-threads=posix. * doc/simple_example.html: Likewise. --- configure.ac | 4 ++-- doc/README.DGUX386 | 8 ++++---- doc/README.autoconf | 10 +++++----- doc/README.solaris2 | 11 +++++------ doc/gcinterface.html | 5 ++--- doc/simple_example.html | 11 +++++------ 6 files changed, 23 insertions(+), 26 deletions(-) diff --git a/configure.ac b/configure.ac index f35591d8..7ea157d0 100644 --- a/configure.ac +++ b/configure.ac @@ -112,8 +112,8 @@ AC_ARG_ENABLE(threads, AC_MSG_RESULT([$THREADS]) ]) AC_ARG_ENABLE(parallel-mark, - [AC_HELP_STRING([--enable-parallel-mark], - [parallelize marking and free list construction])], + [AC_HELP_STRING([--disable-parallel-mark], + [do not parallelize marking and free list construction])], [case "$THREADS" in no | none | single) if test "${enable_parallel_mark}" != no; then diff --git a/doc/README.DGUX386 b/doc/README.DGUX386 index 2683f147..98f344c0 100644 --- a/doc/README.DGUX386 +++ b/doc/README.DGUX386 @@ -10,7 +10,7 @@ Finally, we support parallel mark for the SMP DG/UX machines. To build the garbage collector do: - ./configure --enable-parallel-mark + ./configure make make gctest @@ -18,7 +18,7 @@ correctly so that "gctest" can find the shared library libgc. Alternatively you can do a configuration - ./configure --enable-parallel-mark --disable-shared + ./configure --disable-shared to build only the static version of libgc. @@ -26,8 +26,8 @@ 1) Add the "--enable-gc-debug" flag during configuration. 2) Pass "CFLAGS=-DDEBUG_THREADS" to "make". - In a machine with 4 CPUs (my own machine) the option parallel - mark (aka --enable-parallel-mark) makes a BIG difference. + In a machine with 4 CPUs (my own machine), parallel mark makes + a BIG difference. Takis Psarogiannakopoulos diff --git a/doc/README.autoconf b/doc/README.autoconf index e8928731..5719075c 100644 --- a/doc/README.autoconf +++ b/doc/README.autoconf @@ -46,14 +46,14 @@ Important options to configure: --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --enable-threads=TYPE choose threading package - --enable-parallel-mark parallelize marking and free list construction - --enable-gc-debug (--enable-full-debug before about 7.0) - include full support for pointer back-tracing etc. + --disable-parallel-mark do not parallelize marking and free list + construction + --enable-gc-debug include full support for pointer back-tracing, etc. Unless --prefix is set (or --exec-prefix or one of the more obscure options), make install will install libgc.a and libgc.so in /usr/local/bin, which would typically require the "make install" to be run as root. -Most commonly --enable-threads=posix or will be needed. --enable-parallel-mark -is recommended for multiprocessors if it is supported on the platform. +It is not recommended to turn off parallel marking for multiprocessors unless +a poor support of the feature on the platform. diff --git a/doc/README.solaris2 b/doc/README.solaris2 index ba7bb2b2..1a9d09f5 100644 --- a/doc/README.solaris2 +++ b/doc/README.solaris2 @@ -24,15 +24,14 @@ libgcc_s.so.1. Alternatively, you can configure with --disable-shared. SOLARIS THREADS: -Threads support is enabled by configure "--enable-threads=posix" option. -(In case of GCC compiler, multi-threading support is on by default.) -This causes the collector to be compiled with -D GC_THREADS (or --D GC_SOLARIS_THREADS) ensuring thread safety. +Unless --disable-threads option is given, threads support is on by default in +configure. This causes the collector to be compiled with -D GC_THREADS +(or -D GC_SOLARIS_THREADS) ensuring thread safety. This assumes use of the pthread_ interface. Old style Solaris threads are no longer supported. Thread-local allocation is now on by default. Parallel marking is on by -default starting from GC v7.3 but it could be enabled or disabled manually -by the corresponding "--enable/disable-parallel-mark" options. +default starting from GC v7.3 but it could be disabled manually +by configure --disable-parallel-mark option. It is also essential that gc.h be included in files that call pthread_create, pthread_join, pthread_detach, or dlopen. gc.h macro defines these to also do diff --git a/doc/gcinterface.html b/doc/gcinterface.html index c315af88..9d94541c 100644 --- a/doc/gcinterface.html +++ b/doc/gcinterface.html @@ -159,9 +159,8 @@ for details. If you are concerned with multiprocessor performance and scalability, you should consider enabling and using thread local allocation.

-If your platform -supports it, you should build the collector with parallel marking support -(-DPARALLEL_MARK, or --enable-parallel-mark). +If your platform supports it, you should build the collector with parallel +marking support (-DPARALLEL_MARK); configure has it on by default.

If the collector is used in an environment in which pointer location information for heap objects is easily available, this can be passed on diff --git a/doc/simple_example.html b/doc/simple_example.html index f8f3951e..d1676602 100644 --- a/doc/simple_example.html +++ b/doc/simple_example.html @@ -52,16 +52,15 @@ strong preference of the would-be maintainer of those project files.)

Threads

-If you need thread support, configure the collector with +If you do not need thread support, configure the collector with
---enable-threads=posix --enable-parallel-mark
+--disable-threads
 
-instead of ---disable-threads -If your target is a real old-fashioned uniprocessor (no "hyperthreading", -etc.) you will want to omit --enable-parallel-mark. +Alternatively, if your target is a real old-fashioned uniprocessor (no +"hyperthreading", etc.), you may just want to turn off parallel marking with +--disable-parallel-mark.

C++

-- 2.40.0