From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18430 invoked by alias); 18 Jun 2012 16:33:26 -0000 Received: (qmail 18406 invoked by uid 22791); 18 Jun 2012 16:33:25 -0000 X-SWARE-Spam-Status: No, hits=-4.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-qa0-f73.google.com (HELO mail-qa0-f73.google.com) (209.85.216.73) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 18 Jun 2012 16:33:12 +0000 Received: by qafk22 with SMTP id k22so151576qaf.0 for ; Mon, 18 Jun 2012 09:33:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=to:subject:message-id:date:from:x-gm-message-state; bh=fIBX7heLNUIRecHD3SsqRqAYjCieoESQSL0Agj8YUxU=; b=oA/oiB9MRr/olrGZUjeW0YQ25NHiaZKj2iVdmj7cYwVwtmQ6OeKvC6aT//fOmWgbNs JSETImUEQf5OBcSaBdZ1EVZdr63UNmekPJuw0AiVq6MBAvmuwc8JctbWN3fIby4E0K40 vy+bP9N2CgGt6BRW+REXmH9XbqWNz2YeSgzDnbkShrYrQOxDhWQn7KEw/wkTsh3YNqEA 67cI0K+4fzeOKFF81ebmf/dJ6dTPghHkLhVHDcE4AmIDfDQ4dHPwdfcDR9MCCxOd6ZEP XFA44K20MiE8mm9P4R/VxbUHtyvoS1cRKWvR6f9OpRBqs4Sq1xdg6z4srtT/VhALdyNP 1XOA== Received: by 10.236.73.131 with SMTP id v3mr28716985yhd.6.1340037191087; Mon, 18 Jun 2012 09:33:11 -0700 (PDT) Received: by 10.236.73.131 with SMTP id v3mr28716975yhd.6.1340037191033; Mon, 18 Jun 2012 09:33:11 -0700 (PDT) Received: from wpzn4.hot.corp.google.com (216-239-44-65.google.com [216.239.44.65]) by gmr-mx.google.com with ESMTPS id v25si6311038yhm.0.2012.06.18.09.33.11 (version=TLSv1/SSLv3 cipher=AES128-SHA); Mon, 18 Jun 2012 09:33:11 -0700 (PDT) Received: from ruffy2.mtv.corp.google.com (ruffy2.mtv.corp.google.com [172.18.110.129]) by wpzn4.hot.corp.google.com (Postfix) with ESMTP id E74AF1E004D for ; Mon, 18 Jun 2012 09:33:10 -0700 (PDT) Received: by ruffy2.mtv.corp.google.com (Postfix, from userid 67641) id 98BF71E136F; Mon, 18 Jun 2012 09:33:10 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [RFA] Add more parallelization to gdb.base testing Message-Id: <20120618163310.98BF71E136F@ruffy2.mtv.corp.google.com> Date: Mon, 18 Jun 2012 16:33:00 -0000 From: dje@google.com (Doug Evans) X-Gm-Message-State: ALoCoQkYRMqLXh7jyG6uLQHejZEsNHkv53pI6MQ2y3lC31Hgle4OxRdNKY/7+0gTrVSYC4wuCzVapxN+06W/FWvoFS6hfX9wKtgqVfkIAAXyMYKsKxzoN8F/8RIvVpa4kINKgCFQxurpX6ZF5nTzpCgMyrV4tPWzZ1NWNdWy55NNa9ac3Yns+XY= X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-06/txt/msg00588.txt.bz2 Hi. This patch speeds up gdb testing at -j6 on my machine from 7mins to 4mins. I didn't want to get too carried away here, this felt like a good compromise. I split the range into four roughly equal partitions alphabet wise, then noticed that [a-g] has far more files than the others so made the split more refined. I'm happy to use whatever partitioning folks want, I just want the 4mins (or better). Ok to check in? btw, it's possible to do better. The ideal is (effectively) to be able to run all the .exp's at once. But that's a more work and this is trivial with a reasonable win. 2012-06-15 Doug Evans * Makefile.in (TEST_DIRS): Add gdb.base3, gdb.base4. (BASE1_FILES, BASE2_FILES): Change to handle a-e and f-m respectively. (BASE3_FILES, BASE4_FILES): New, handles n-s and t-z respectively. diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in index fab124e..ca5ca55 100644 --- a/gdb/testsuite/Makefile.in +++ b/gdb/testsuite/Makefile.in @@ -158,7 +158,7 @@ check-single: all $(abs_builddir)/site.exp # A list of all directories named "gdb.*" which also hold a .exp file. # We filter out gdb.base and add fake entries, because that directory # takes the longest to process, and so we split it in half. -TEST_DIRS = gdb.base1 gdb.base2 $(filter-out gdb.base,$(sort $(notdir $(patsubst %/,%,$(dir $(wildcard $(srcdir)/gdb.*/*.exp)))))) +TEST_DIRS = gdb.base1 gdb.base2 gdb.base3 gdb.base4 $(filter-out gdb.base,$(sort $(notdir $(patsubst %/,%,$(dir $(wildcard $(srcdir)/gdb.*/*.exp)))))) TEST_TARGETS = $(addprefix check-,$(TEST_DIRS)) @@ -179,11 +179,15 @@ check-parallel: @GMAKE_TRUE@ @if test ! -d gdb.$*; then mkdir gdb.$*; fi @GMAKE_TRUE@ $(DO_RUNTEST) --directory=gdb.$* --outdir=gdb.$* $(RUNTESTFLAGS) -# Each half (roughly) of the .exp files from gdb.base. -BASE1_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[a-m]*.exp)) -BASE2_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[n-z]*.exp)) +# A simple partitioning of the .exp files from gdb.base. +# The partitioning here is a modest attempt at having four equal sized pieces, +# without trying to be too clever. +BASE1_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[a-d]*.exp)) +BASE2_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[e-k]*.exp)) +BASE3_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[l-r]*.exp)) +BASE4_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/gdb.base/[s-z]*.exp)) -# Handle each half of gdb.base. +# Handle each partition of gdb.base. check-gdb.base%: all $(abs_builddir)/site.exp @if test ! -d gdb.base$*; then mkdir gdb.base$*; fi $(DO_RUNTEST) $(BASE$*_FILES) --outdir gdb.base$* $(RUNTESTFLAGS)