OpenCloudOS-Kernel/tools/lib/traceevent
Steven Rostedt (VMware) 1b20d9491c tools lib traceevent: Add handler for __builtin_expect()
In order to move pointer checks like IS_ERR_VALUE() out of the hotpath
and into the reader path of a trace event, user space tools need to be
able to parse that. IS_ERR_VALUE() is defined as:

 #define IS_ERR_VALUE() unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)

Which eventually turns into:

  __builtin_expect(!!((unsigned long)(void *)(x) >= (unsigned long)-4095), 0)

Now the traceevent parser can handle most of that except for the
__builtin_expect(), which needs to be added.

Link: https://lore.kernel.org/linux-mm/20200320055823.27089-3-jaewon31.kim@samsung.com/

Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jaewon Kim <jaewon31.kim@samsung.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kees Kook <keescook@chromium.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: linux-mm@kvack.org
Cc: linux-trace-devel@vger.kernel.org
Link: http://lore.kernel.org/lkml/20200324200956.821799393@goodmis.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-06-18 10:22:54 -03:00
..
Documentation libtraceevent: Man pages for tep plugins APIs 2019-09-25 09:51:43 -03:00
plugins libtraceevent: Allow custom libdir path 2019-12-16 13:40:26 -03:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Build libtraceevent: Move traceevent plugins in its own subdirectory 2019-09-25 09:51:43 -03:00
Makefile libtraceevent: Allow custom libdir path 2019-12-16 13:40:26 -03:00
event-parse-api.c libtraceevent, perf tools: Changes in tep_print_event_* APIs 2019-08-31 22:19:28 -03:00
event-parse-local.h libtraceevent: Remove tep_register_trace_clock() 2019-08-31 22:19:28 -03:00
event-parse.c tools lib traceevent: Add handler for __builtin_expect() 2020-06-18 10:22:54 -03:00
event-parse.h libtraceevent: Add tep_get_event() in event-parse.h 2019-09-25 09:51:43 -03:00
event-plugin.c libtraceevent: Change users plugin directory 2019-08-31 22:19:28 -03:00
event-utils.h tools lib traceevent: Change to SPDX License format 2018-08-20 08:54:58 -03:00
kbuffer-parse.c libtraceevent: Remove unneeded semicolon 2020-04-30 10:48:32 -03:00
kbuffer.h tools lib traceevent: Add more debugging to see various internal ring buffer entries 2019-04-01 15:18:09 -03:00
libtraceevent.pc.template tools lib traceevent: Remove hard coded install paths from pkg-config file 2019-05-15 16:36:46 -03:00
parse-filter.c tools lib traceevent: Take care of return value of asprintf 2020-04-18 09:05:00 -03:00
parse-utils.c tools lib traceevent: Change tag string for error 2019-05-02 16:00:19 -04:00
tep_strerror.c tools lib traceevent: Separate out tep_strerror() for strerror_r() issues 2018-10-08 14:30:45 -03:00
trace-seq.c tools lib traceevent: Changed return logic of trace_seq_printf() and trace_seq_vprintf() APIs 2019-01-08 13:28:13 -03:00
trace-seq.h tools lib traceevent, perf tools: Split trace-seq related APIs in a separate header file 2018-08-30 15:52:20 -03:00