trace_uprobe: support reference counter in fd-based uprobe

This patch enables uprobes with reference counter in fd-based uprobe.
Highest 32 bits of perf_event_attr.config is used to stored offset
of the reference count (semaphore).

Format information in /sys/bus/event_source/devices/uprobe/format/ is
updated to reflect this new feature.

Link: http://lkml.kernel.org/r/20181002053636.1896903-1-songliubraving@fb.com

Cc: Oleg Nesterov <oleg@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-and-tested-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
(cherry picked from commit a6ca88b241d5e929e6e60b12ad8cd288f0ffa256)
Signed-off-by: Roy Yang <royyang@google.com>

BUG=b:126232850
TEST=Build, manual
SOURCE=UPSTREAM(a6ca88b241d5e929e6e60b12ad8cd288f0ffa256)

Change-Id: I8f189d0b28e9c6f32703180bc35b4155630e5c79
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/lakitu-kernel/+/2045032
Commit-Queue: Roy Yang <royyang@google.com>
Tested-by: Roy Yang <royyang@google.com>
Reviewed-by: Vaibhav Rustagi <vaibhavrustagi@google.com>
5 files changed