fix: tracepoint: Optimize using static_call() (v5.10)
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 26 Oct 2020 21:09:05 +0000 (17:09 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 20 Nov 2020 21:02:22 +0000 (16:02 -0500)
commitbb346792c2cb6995ffc08d2084121935c6384865
treeec8aa18bf8975b6a677dfbfc2edfc85c25b912cf
parent2cb535ad4e8430a222cc408bd7ae9a2f55e80850
fix: tracepoint: Optimize using static_call() (v5.10)

See upstream commit :

  commit d25e37d89dd2f41d7acae0429039d2f0ae8b4a07
  Author: Steven Rostedt (VMware) <rostedt@goodmis.org>
  Date:   Tue Aug 18 15:57:52 2020 +0200

    tracepoint: Optimize using static_call()

    Currently the tracepoint site will iterate a vector and issue indirect
    calls to however many handlers are registered (ie. the vector is
    long).

    Using static_call() it is possible to optimize this for the common
    case of only having a single handler registered. In this case the
    static_call() can directly call this handler. Otherwise, if the vector
    is longer than 1, call a function that iterates the whole vector like
    the current code.

Change-Id: I739dd84d62cc1a821b8bd8acff74fa29aa25d22f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttng-statedump-impl.c
probes/lttng.c
tests/probes/lttng-test.c
wrapper/tracepoint.h
This page took 0.026501 seconds and 4 git commands to generate.