]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Allow multiple FBT probes to share a tracepoint.
authormarkj <markj@FreeBSD.org>
Tue, 28 Aug 2018 20:21:36 +0000 (20:21 +0000)
committermarkj <markj@FreeBSD.org>
Tue, 28 Aug 2018 20:21:36 +0000 (20:21 +0000)
commit651480fae0de09c6dcf3a3f02b768595d9b34bad
tree786f426110010eb81af8185fa0e3783c9e49dc01
parent760ca794f4e8c761d9a3ce865c577299783daf87
Allow multiple FBT probes to share a tracepoint.

With GNU ifuncs, multiple FBT probes may correspond to the same
instruction.  fbt_invop() assumed that this could not happen and
would return after the first probe found in the global FBT hash
table, which might not be the one that's enabled.  Fix the problem
on x86 by linking probes that share a tracepoint and having each
linked probe fire when the tracepoint is hit.

PR: 230846
Approved by: re (gjb)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D16921
sys/cddl/dev/fbt/aarch64/fbt_isa.c
sys/cddl/dev/fbt/arm/fbt_isa.c
sys/cddl/dev/fbt/fbt.c
sys/cddl/dev/fbt/fbt.h
sys/cddl/dev/fbt/mips/fbt_isa.c
sys/cddl/dev/fbt/powerpc/fbt_isa.c
sys/cddl/dev/fbt/riscv/fbt_isa.c
sys/cddl/dev/fbt/x86/fbt_isa.c