lkml.org 
[lkml]   [2020]   [Mar]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 111/123] perf bench futex-wake: Restore thread count default to online CPU count
    Date
    From: Tommi Rantala <tommi.t.rantala@nokia.com>

    commit f649bd9dd5d5004543bbc3c50b829577b49f5d75 upstream.

    Since commit 3b2323c2c1c4 ("perf bench futex: Use cpumaps") the default
    number of threads the benchmark uses got changed from number of online
    CPUs to zero:

    $ perf bench futex wake
    # Running 'futex/wake' benchmark:
    Run summary [PID 15930]: blocking on 0 threads (at [private] futex 0x558b8ee4bfac), waking up 1 at a time.
    [Run 1]: Wokeup 0 of 0 threads in 0.0000 ms
    [...]
    [Run 10]: Wokeup 0 of 0 threads in 0.0000 ms
    Wokeup 0 of 0 threads in 0.0004 ms (+-40.82%)

    Restore the old behavior by grabbing the number of online CPUs via
    cpu->nr:

    $ perf bench futex wake
    # Running 'futex/wake' benchmark:
    Run summary [PID 18356]: blocking on 8 threads (at [private] futex 0xb3e62c), waking up 1 at a time.
    [Run 1]: Wokeup 8 of 8 threads in 0.0260 ms
    [...]
    [Run 10]: Wokeup 8 of 8 threads in 0.0270 ms
    Wokeup 8 of 8 threads in 0.0419 ms (+-24.35%)

    Fixes: 3b2323c2c1c4 ("perf bench futex: Use cpumaps")
    Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Darren Hart <dvhart@infradead.org>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lore.kernel.org/lkml/20200305083714.9381-3-tommi.t.rantala@nokia.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    tools/perf/bench/futex-wake.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/tools/perf/bench/futex-wake.c
    +++ b/tools/perf/bench/futex-wake.c
    @@ -43,7 +43,7 @@ static bool done = false, silent = false
    static pthread_mutex_t thread_lock;
    static pthread_cond_t thread_parent, thread_worker;
    static struct stats waketime_stats, wakeup_stats;
    -static unsigned int ncpus, threads_starting, nthreads = 0;
    +static unsigned int threads_starting, nthreads = 0;
    static int futex_flag = 0;

    static const struct option options[] = {
    @@ -141,7 +141,7 @@ int bench_futex_wake(int argc, const cha
    sigaction(SIGINT, &act, NULL);

    if (!nthreads)
    - nthreads = ncpus;
    + nthreads = cpu->nr;

    worker = calloc(nthreads, sizeof(*worker));
    if (!worker)

    \
     
     \ /
      Last update: 2020-03-17 12:08    [W:2.712 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site