Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Nathanael Nerode <neroden@twcny.rr.com>
To: gcc-patches@gcc.gnu.org, gdb-patches@sources.redhat.com,
	binutils@sources.redhat.com, dj@redhat.com
Subject: [toplevel patch] Up with parallelism!
Date: Tue, 10 Jun 2003 21:46:00 -0000	[thread overview]
Message-ID: <20030610214612.GA24361@doctormoo> (raw)

Up with parallelism.

I don't have an actual multiprocessor machine, but I did test with 
'make -j 4 bootstrap' and 'make -k -j 4 check'.

	* configure.in: Death to serialization dependencies.
	* configure: Regenerated.
	* Makefile.tpl: Death to serialization dependencies.  Death
	to .NOTPARALLEL.
	* Makefile.in: Regenerated.

Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/configure.in,v
retrieving revision 1.237
diff -u -r1.237 configure.in
--- configure.in	3 Jun 2003 20:42:13 -0000	1.237
+++ configure.in	10 Jun 2003 17:24:01 -0000
@@ -103,17 +103,7 @@
 
 ### To add a new directory to the tree, first choose whether it is a target
 ### or a host dependent tool.  Then put it into the appropriate list
-### (library or tools, host or target), doing a dependency sort.
-
-# Subdirs will be configured in the order listed in build_configdirs, 
-# configdirs, or target_configdirs; see the serialization section below.
-
-# Dependency sorting is only needed when *configuration* must be done in 
-# a particular order.  In all cases a dependency should be specified in 
-# the Makefile, whether or not it's implicitly specified here.
-
-# Double entries in build_configdirs, configdirs, or target_configdirs may
-# cause circular dependencies and break everything horribly.
+### (library or tools, host or target).
 
 # these libraries are used by various programs built for the host environment
 #
@@ -1694,51 +1684,6 @@
 done
 maybe_dependencies=maybedep.tmp
 AC_SUBST_FILE(maybe_dependencies)
-
-# Create the serialization dependencies.  This uses a temporary file.
-
-AC_ARG_ENABLE([serial-configure],
-[  --disable-serial-[{host,target,build}-]configure
-                          Don't force sequential configuration of
-                          sub-packages for the host, target or build
-			  machine, or of any sub-packages at all])
-
-# These force 'configure's to be done one at a time, to avoid problems
-# with contention over a shared config.cache.
-rm -f serdep.tmp
-echo '# serdep.tmp' > serdep.tmp
-olditem=
-test "x${enable_serial_configure}" = xno ||
-test "x${enable_serial_build_configure}" = xno ||
-for item in ${build_configdirs} ; do
-  case ${olditem} in
-    "") ;;
-    *) echo "configure-build-${item}: configure-build-${olditem}" >> serdep.tmp ;;
-  esac
-  olditem=${item}
-done
-olditem=
-test "x${enable_serial_configure}" = xno ||
-test "x${enable_serial_host_configure}" = xno ||
-for item in ${configdirs} ; do
-  case ${olditem} in
-    "") ;;
-    *) echo "configure-${item}: configure-${olditem}" >> serdep.tmp ;;
-  esac
-  olditem=${item}
-done
-olditem=
-test "x${enable_serial_configure}" = xno ||
-test "x${enable_serial_target_configure}" = xno ||
-for item in ${target_configdirs} ; do
-  case ${olditem} in
-    "") ;;
-    *) echo "configure-target-${item}: configure-target-${olditem}" >> serdep.tmp ;;
-  esac
-  olditem=${item}
-done
-serialization_dependencies=serdep.tmp
-AC_SUBST_FILE(serialization_dependencies)
 
 # Base args.  Strip norecursion, cache-file, srcdir, host, build,
 # target and nonopt.  These are the ones we might not want to pass
Index: Makefile.tpl
===================================================================
RCS file: /cvs/gcc/gcc/Makefile.tpl,v
retrieving revision 1.56
diff -u -r1.56 Makefile.tpl
--- Makefile.tpl	10 Jun 2003 13:36:27 -0000	1.56
+++ Makefile.tpl	10 Jun 2003 17:24:31 -0000
@@ -740,7 +740,7 @@
 
 .PHONY: check do-check
 check:
-	$(MAKE) do-check NOTPARALLEL=parallel-ok
+	$(MAKE) do-check 
 
 # Only include modules actually being configured and built.
 do-check: maybe-check-gcc [+
@@ -1307,7 +1307,7 @@
 
 .PHONY: check-c++
 check-c++:
-	$(MAKE) check-target-libstdc++-v3 check-gcc-c++ NOTPARALLEL=parallel-ok
+	$(MAKE) check-target-libstdc++-v3 check-gcc-c++ 
 
 .PHONY: install-gcc maybe-install-gcc
 maybe-install-gcc:
@@ -1463,11 +1463,6 @@
 # all-gcc only depends on all-gas if gas is present and being configured.
 @maybe_dependencies@
 
-# Serialization dependencies.  Host configures don't work well in parallel to
-# each other, due to contention over config.cache.  Target configures and 
-# build configures are similar.
-@serialization_dependencies@
-
 # --------------------------------
 # Regenerating top level configury
 # --------------------------------
@@ -1503,12 +1498,6 @@
 # ------------------------------
 # Special directives to GNU Make
 # ------------------------------
-
-# Tell GNU make 3.79 not to run the top level in parallel.  This 
-# prevents contention for $builddir/$target/config.cache, as well
-# as minimizing scatter in file system caches.
-NOTPARALLEL = .NOTPARALLEL
-$(NOTPARALLEL):
 
 # Don't pass command-line variables to submakes.
 .NOEXPORT:


             reply	other threads:[~2003-06-10 21:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-10 21:46 Nathanael Nerode [this message]
2003-06-10 22:20 ` Alexandre Oliva
2003-06-10 22:52   ` DJ Delorie
2003-06-10 23:04     ` Alexandre Oliva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030610214612.GA24361@doctormoo \
    --to=neroden@twcny.rr.com \
    --cc=binutils@sources.redhat.com \
    --cc=dj@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox