forked from luck/tmp_suning_uos_patched
perf bench futex-wake: Restore thread count default to online CPU count
Since commit3b2323c2c1
("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:3b2323c2c1
("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>
This commit is contained in:
parent
29b4f5f188
commit
f649bd9dd5
|
@ -43,7 +43,7 @@ static bool done = false, silent = false, fshared = false;
|
||||||
static pthread_mutex_t thread_lock;
|
static pthread_mutex_t thread_lock;
|
||||||
static pthread_cond_t thread_parent, thread_worker;
|
static pthread_cond_t thread_parent, thread_worker;
|
||||||
static struct stats waketime_stats, wakeup_stats;
|
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 int futex_flag = 0;
|
||||||
|
|
||||||
static const struct option options[] = {
|
static const struct option options[] = {
|
||||||
|
@ -141,7 +141,7 @@ int bench_futex_wake(int argc, const char **argv)
|
||||||
sigaction(SIGINT, &act, NULL);
|
sigaction(SIGINT, &act, NULL);
|
||||||
|
|
||||||
if (!nthreads)
|
if (!nthreads)
|
||||||
nthreads = ncpus;
|
nthreads = cpu->nr;
|
||||||
|
|
||||||
worker = calloc(nthreads, sizeof(*worker));
|
worker = calloc(nthreads, sizeof(*worker));
|
||||||
if (!worker)
|
if (!worker)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user