From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9509 invoked by alias); 28 Aug 2013 04:17:53 -0000 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 Received: (qmail 9497 invoked by uid 89); 28 Aug 2013 04:17:52 -0000 Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Aug 2013 04:17:52 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,FROM_12LTRDOM,KHOP_THREADED,RDNS_NONE,SPF_HELO_FAIL autolearn=no version=3.3.2 X-HELO: relay1.mentorg.com Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1VEXCV-0006yV-Ml from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Tue, 27 Aug 2013 21:17:47 -0700 Received: from SVR-ORW-FEM-04.mgc.mentorg.com ([147.34.97.41]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 27 Aug 2013 21:17:47 -0700 Received: from qiyao.dyndns.org (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.2.247.3; Tue, 27 Aug 2013 21:17:47 -0700 From: Yao Qi To: Subject: [RFC 0/3] GDB Performance testing Date: Wed, 28 Aug 2013 04:17:00 -0000 Message-ID: <1377663394-4975-1-git-send-email-yao@codesourcery.com> In-Reply-To: <520B7F70.6070207@codesourcery.com> References: <520B7F70.6070207@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2013-08/txt/msg00805.txt.bz2 This patch series implement GDB performance testing infrastructure according to the design I posted here Here are some highlights: - Performance testing can be run via 'make check-perf' - GDB and GDBServer is started by dejagnu, so the usage of 'make check-perf' is same as the usage of existing 'make check'. - Performance test result is saved in testsuite/perftest.log, which is appended in multiple runs. - Workload of each test can be customized by passing parameters to 'make check-perf'. The basic usages and the outputs are as follows: $ make check-perf $ cat ./testsuite/perftest.log solib 8 0.01 solib 16 0.03 solib 32 0.07 solib 64 0.19 solib 128 0.54 $ make check-perf RUNTESTFLAGS="--target_board=native-gdbserver solib.exp" $ cat ./testsuite/perftest.log solib 8 0.03 solib 16 0.05 solib 32 0.11 solib 64 0.26 solib 128 0.78 Specify the number of solibs in the test. $ make check-perf RUNTESTFLAGS="--target_board=native-gdbserver solib.exp SOLIB_NUMBER=1024" $ cat ./testsuite/perftest.log solib 64 0.25 solib 128 0.7 solib 256 2.38 solib 512 9.67 solib 1024 53.0 GDB python doesn't know the perftest package located in testsuite/gdb.perf/lib, so in every test, we need the following two statements to add the path to sys.path. gdb_test_no_output "python import os, sys" gdb_test_no_output "python sys.path.insert\(0, os.path.abspath\(\"${srcdir}/${subdir}/lib\"\)\)" I'll add other test cases when the basic form of test case is determined. *** BLURB HERE *** Yao Qi (3): New make target 'check-perf' and new dir gdb.perf Perf test framework Test on solib load and unload gdb/Makefile.in | 8 ++ gdb/testsuite/Makefile.in | 15 +++- gdb/testsuite/configure | 3 +- gdb/testsuite/configure.ac | 2 +- gdb/testsuite/gdb.perf/Makefile.in | 15 ++++ gdb/testsuite/gdb.perf/lib/perftest/config.py | 40 ++++++++++ gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 49 ++++++++++++ gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 38 +++++++++ gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 42 ++++++++++ gdb/testsuite/gdb.perf/solib.c | 79 +++++++++++++++++++ gdb/testsuite/gdb.perf/solib.exp | 86 +++++++++++++++++++++ gdb/testsuite/gdb.perf/solib.py | 48 ++++++++++++ 12 files changed, 420 insertions(+), 5 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/config.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 -- 1.7.7.6