lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 14 Nov 2022 11:11:54 +0000
From:   James Clark <james.clark@....com>
To:     Namhyung Kim <namhyung@...nel.org>,
        Arnaldo Carvalho de Melo <acme@...nel.org>,
        Jiri Olsa <jolsa@...nel.org>
Cc:     Ingo Molnar <mingo@...nel.org>,
        Peter Zijlstra <peterz@...radead.org>,
        LKML <linux-kernel@...r.kernel.org>,
        Ian Rogers <irogers@...gle.com>,
        Adrian Hunter <adrian.hunter@...el.com>,
        linux-perf-users@...r.kernel.org, Leo Yan <leo.yan@...aro.org>,
        German Gomez <german.gomez@....com>,
        Zhengjun Xing <zhengjun.xing@...ux.intel.com>,
        Athira Jajeev <atrajeev@...ux.vnet.ibm.com>
Subject: Re: [PATCH 04/12] perf test: Replace record test workload with thloop



On 10/11/2022 18:19, Namhyung Kim wrote:
> So that it can get rid of requirements for a compiler.
> 
>   $ sudo ./perf test -v 92
>    92: perf record tests                                               :
>   --- start ---
>   test child forked, pid 740204
>   Basic --per-thread mode test
>   Basic --per-thread mode test [Success]
>   Register capture test
>   Register capture test [Success]
>   Basic --system-wide mode test
>   Basic --system-wide mode test [Success]
>   Basic target workload test
>   Basic target workload test [Success]
>   test child finished with 0
>   ---- end ----
>   perf record tests: Ok
> 
> Signed-off-by: Namhyung Kim <namhyung@...nel.org>
> ---
>  tools/perf/tests/shell/record.sh | 59 ++------------------------------
>  1 file changed, 3 insertions(+), 56 deletions(-)

Tested-by: James Clark <james.clark@....com>

> 
> diff --git a/tools/perf/tests/shell/record.sh b/tools/perf/tests/shell/record.sh
> index e93b3a8871fe..4dff89e3a3fd 100755
> --- a/tools/perf/tests/shell/record.sh
> +++ b/tools/perf/tests/shell/record.sh
> @@ -9,17 +9,13 @@ shelldir=$(dirname "$0")
>  
>  err=0
>  perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX)
> -testprog=$(mktemp /tmp/__perf_test.prog.XXXXXX)
> +testprog="perf test -w thloop"
>  testsym="test_loop"
>  
>  cleanup() {
>    rm -rf "${perfdata}"
>    rm -rf "${perfdata}".old
>  
> -  if [ "${testprog}" != "true" ]; then
> -    rm -f "${testprog}"
> -  fi
> -
>    trap - EXIT TERM INT
>  }
>  
> @@ -29,53 +25,6 @@ trap_cleanup() {
>  }
>  trap trap_cleanup EXIT TERM INT
>  
> -build_test_program() {
> -  if ! [ -x "$(command -v cc)" ]; then
> -    # No CC found. Fall back to 'true'
> -    testprog=true
> -    testsym=true
> -    return
> -  fi
> -
> -  echo "Build a test program"
> -  cat <<EOF | cc -o ${testprog} -xc - -pthread
> -#include <stdio.h>
> -#include <stdlib.h>
> -#include <pthread.h>
> -
> -void test_loop(void) {
> -  volatile int count = 1000000;
> -
> -  while (count--)
> -    continue;
> -}
> -
> -void *thfunc(void *arg) {
> -  int forever = *(int *)arg;
> -
> -  do {
> -    test_loop();
> -  } while (forever);
> -
> -  return NULL;
> -}
> -
> -int main(int argc, char *argv[]) {
> -  pthread_t th;
> -  int forever = 0;
> -
> -  if (argc > 1)
> -    forever = atoi(argv[1]);
> -
> -  pthread_create(&th, NULL, thfunc, &forever);
> -  test_loop();
> -  pthread_join(th, NULL);
> -
> -  return 0;
> -}
> -EOF
> -}
> -
>  test_per_thread() {
>    echo "Basic --per-thread mode test"
>    if ! perf record -o /dev/null --quiet ${testprog} 2> /dev/null
> @@ -96,8 +45,8 @@ test_per_thread() {
>      return
>    fi
>  
> -  # run the test program in background (forever)
> -  ${testprog} 1 &
> +  # run the test program in background (for 30 seconds)
> +  ${testprog} 30 &
>    TESTPID=$!
>  
>    rm -f "${perfdata}"
> @@ -205,8 +154,6 @@ test_workload() {
>    echo "Basic target workload test [Success]"
>  }
>  
> -build_test_program
> -
>  test_per_thread
>  test_register_capture
>  test_system_wide

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ