From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23343 invoked by alias); 6 Nov 2013 05:21:08 -0000 Mailing-List: contact src-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: src-cvs-owner@sourceware.org Received: (qmail 23320 invoked by uid 9652); 6 Nov 2013 05:21:08 -0000 Date: Wed, 06 Nov 2013 05:21:00 -0000 Message-ID: <20131106052105.23290.qmail@sourceware.org> From: qiyao@sourceware.org To: src-cvs@sourceware.org Subject: gdb and binutils branch master updated. 6dbb67982ced8b06deb512c0a357767f5ed486df X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 2bc56d66132a8d4a06520b0531b8708108197c9b X-Git-Newrev: 6dbb67982ced8b06deb512c0a357767f5ed486df X-SW-Source: 2013-q4/txt/msg00047.txt.bz2 This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via 6dbb67982ced8b06deb512c0a357767f5ed486df (commit) via 71c0c615953a33316f5372ad297a92f341d40ba9 (commit) via f27a1236531a99e083bca63c970c354ee35bd13b (commit) via 7636ccf9f2517bd3005c983de3c89f4861be04a5 (commit) from 2bc56d66132a8d4a06520b0531b8708108197c9b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6dbb67982ced8b06deb512c0a357767f5ed486df commit 6dbb67982ced8b06deb512c0a357767f5ed486df Author: Yao Qi Date: Wed Sep 25 11:46:10 2013 +0800 Test on solib load and unload This patch is to add a test case to on the performance of GDB handling load and unload of shared library. In V4: - Handle malloc and dlopen failure, - Document test parameters. In V3, there are some changes, - Adapt to perf test framework changes. - Measure load and unload separately. In V2, there are some changes, - A new proc gdb_produce_source to produce source files. I tried to move all source file generation code out of solib.exp, but compilation step still needs to know the generated file names. I have to hard-code the file names in compilation step, which is not good to me, so I give up on this moving. - SOLIB_NUMBER -> SOLIB_COUNT - New variable SOLIB_DLCLOSE_REVERSED_ORDER to control the order of iterating a list of shared libs to dlclose them. - New variable GDB_PERFORMANCE to enable these perf test cases. - Remove dlsym call in solib.c. - Update solib.py for the updated framework. gdb/testsuite/ * lib/gdb.exp (gdb_produce_source): New procedure. * gdb.perf/solib.c: New. * gdb.perf/solib.exp: New. * gdb.perf/solib.py: New. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=71c0c615953a33316f5372ad297a92f341d40ba9 commit 71c0c615953a33316f5372ad297a92f341d40ba9 Author: Yao Qi Date: Wed Oct 16 14:50:16 2013 +0800 Mention perf test in testsuite/README gdb/testsuite: 2013-11-06 Yao Qi * README: Mention performance tests. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=f27a1236531a99e083bca63c970c354ee35bd13b commit f27a1236531a99e083bca63c970c354ee35bd13b Author: Yao Qi Date: Tue Sep 24 17:56:26 2013 +0800 Perf test framework This patch adds a basic framework to do performance testing for GDB. perftest.py is about the test case, testresult.py is about test results, and how are they saved. reporter.py is about how results are reported (in what format). measure.py is about measuring the execution of tests by a collection of measurements. In V5: - Simplify perftest.exp. In V4: - Rename MeasurementCPUTime to MeasurementCpuTime, - Add 'pass' in empty method, - Simplify string comparison in perftest.exp. - Rename GDB_PERFORMANCE to GDB_PERFTEST_MODE and rename GDB_PERFORMANCE_TIMEOUT to GDB_PERFTEST_TIMEOUT. In V3, there are some changes, - Add wall time measurement, cpu time measurement and vmsize measurement. - Rename SingleStatisticTestCase to TestCaseWithBasicMeasurements, which measures cpu time, wall time, and memory (vmsize). - GDB_PERFORMANCE=run|compile|both to control the mode of perf testing. - New GDB_PERFORMANCE_TIMEOUT to specify the timeout. - Split proc prepare to proc compile and startup. - Disable GC while doing measurements. In V2, there are several changes to address Doug and Sanimir's comments. - Add copyright header and docstring in perftest/__init__.py - Remove config.py. - Fix docstring format. - Rename classes "SingleVariable" to "SingleStatistic". - Don't extend gdb.Function in class TestCase. Add a new method run to run the test case so that we can pass parameters to test. - Allow to customize whether to warm up and to append test log. - Move time measurement into test harness. Add a new class Measurement for a specific measurement and a new class Measure to measure them for a given test case. - A new class ResultFactory to create instances of TestResult. - New file lib/perftest.exp, which is to do some preparations and cleanups to simplify each *.exp file. - Skip compilation step if GDB_PERFORMANCE_SKIP_COMPILE is set. gdb/testsuite/ 2013-11-06 Yao Qi * lib/perftest.exp: New. * gdb.perf/lib/perftest/__init__.py: New. * gdb.perf/lib/perftest/measure.py: New. * gdb.perf/lib/perftest/perftest.py: New. * gdb.perf/lib/perftest/reporter.py: New. * gdb.perf/lib/perftest/testresult.py: New. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7636ccf9f2517bd3005c983de3c89f4861be04a5 commit 7636ccf9f2517bd3005c983de3c89f4861be04a5 Author: Yao Qi Date: Wed Sep 25 12:41:45 2013 +0800 New make target 'check-perf' and new dir gdb.perf We add a new dir gdb.perf in testsuite for all performance tests. However, current 'make check' logic will either run dejagnu in directory testsuite or iterate all gdb.* directories which has *.exp files. Both of them will run tests in gdb.perf. We want to achieve: 1) typical 'make check' should not run performance tests. In each perf test case, GDB_PERFTEST_MODE is checked. If it doesn't exist, return. 2) run perf tests easily. We add a new makefile target 'check-perf'. gdb: 2013-11-06 Yao Qi * Makefile.in (check-perf): New target. gdb/testsuite: 2013-11-06 Yao Qi * Makefile.in (check-perf): New target. * configure.ac (AC_OUTPUT): Output Makefile in gdb.perf. * configure: Re-generated. * gdb.perf/Makefile.in: New. ----------------------------------------------------------------------- Summary of changes: gdb/ChangeLog | 4 + gdb/Makefile.in | 8 + gdb/testsuite/ChangeLog | 27 ++++ gdb/testsuite/Makefile.in | 4 + gdb/testsuite/README | 27 ++++ gdb/testsuite/configure | 3 +- gdb/testsuite/configure.ac | 2 +- gdb/testsuite/gdb.perf/Makefile.in | 15 ++ gdb/testsuite/gdb.perf/lib/perftest/__init__.py | 17 +++ gdb/testsuite/gdb.perf/lib/perftest/measure.py | 146 +++++++++++++++++++++ gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 73 ++++++++++ gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 64 +++++++++ gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 57 ++++++++ gdb/testsuite/gdb.perf/solib.c | 83 ++++++++++++ gdb/testsuite/gdb.perf/solib.exp | 87 ++++++++++++ gdb/testsuite/gdb.perf/solib.py | 73 ++++++++++ gdb/testsuite/lib/gdb.exp | 10 ++ gdb/testsuite/lib/perftest.exp | 125 ++++++++++++++++++ 18 files changed, 823 insertions(+), 2 deletions(-) create mode 100644 gdb/testsuite/gdb.perf/Makefile.in create mode 100644 gdb/testsuite/gdb.perf/lib/perftest/__init__.py create mode 100644 gdb/testsuite/gdb.perf/lib/perftest/measure.py create mode 100644 gdb/testsuite/gdb.perf/lib/perftest/perftest.py create mode 100644 gdb/testsuite/gdb.perf/lib/perftest/reporter.py create mode 100644 gdb/testsuite/gdb.perf/lib/perftest/testresult.py create mode 100644 gdb/testsuite/gdb.perf/solib.c create mode 100644 gdb/testsuite/gdb.perf/solib.exp create mode 100644 gdb/testsuite/gdb.perf/solib.py create mode 100644 gdb/testsuite/lib/perftest.exp hooks/post-receive -- gdb and binutils