diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2015-04-24 19:00:48 +0200 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-04-27 18:57:49 +0200 |
commit | 052b0f6eaf8b1f02669884a177bc3ce463133a42 (patch) | |
tree | 5384301c97a338573a97a7612105410d1c3e0dab /tools/perf/bench/numa.c | |
parent | perf probe: Fix bug with global variables handling (diff) | |
download | linux-052b0f6eaf8b1f02669884a177bc3ce463133a42.tar.xz linux-052b0f6eaf8b1f02669884a177bc3ce463133a42.zip |
perf bench futex: Fix hung wakeup tasks after requeueing
The futex-requeue benchmark can hang because of missing wakeups once the
benchmark is done, ie:
[Run 1]: Requeued 1024 of 1024 threads in 0.3290 ms
perf: couldn't wakeup all tasks (135/1024)
This bug, while perhaps suggesting missing wakeups in kernel futex code,
is merely a consequence of the crappy FUTEX_CMP_REQUEUE man page,
incorrectly mentioning that the number of requeued tasks is in fact
returned, not the wakeups.
This patch acknowledges this and updates the corresponding futex_wake
code around it.
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Cc: Mel Gorman <mgorman@suse.de>
Link: http://lkml.kernel.org/r/1429894848.10273.44.camel@stgolabs.net
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/bench/numa.c')
0 files changed, 0 insertions, 0 deletions