mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
perf tools: Provide mutex wrappers for pthreads rwlocks
Andi reported a performance drop in single threaded perf tools such as 'perf script' due to the growing number of locks being put in place to allow for multithreaded tools, so wrap the POSIX threads rwlock routines with the names used for such kinds of locks in the Linux kernel and then allow for tools to ask for those locks to be used or not. I.e. a tool may have a multithreaded phase and then switch to single threaded, like the upcoming patches for the synthesizing of PERF_RECORD_{FORK,MMAP,etc} for pre-existing processes to then switch to single threaded mode in 'perf top'. The init routines will not be conditional, this way starting as single threaded to then move to multi threaded mode should be possible. Reported-by: Andi Kleen <ak@linux.intel.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Wang Nan <wangnan0@huawei.com> Link: http://lkml.kernel.org/r/20170404161739.GH12903@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
6ae8eefc6c
commit
0a7c74eae3
18 changed files with 130 additions and 58 deletions
|
@ -23,6 +23,19 @@
|
|||
/*
|
||||
* XXX We need to find a better place for these things...
|
||||
*/
|
||||
|
||||
bool perf_singlethreaded = true;
|
||||
|
||||
void perf_set_singlethreaded(void)
|
||||
{
|
||||
perf_singlethreaded = true;
|
||||
}
|
||||
|
||||
void perf_set_multithreaded(void)
|
||||
{
|
||||
perf_singlethreaded = false;
|
||||
}
|
||||
|
||||
unsigned int page_size;
|
||||
int cacheline_size;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue