Skip to content

RFC jump label: introduce default true branch

Jason Baron lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest4 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4jump label: Introduce default true branch + API updateinclude/linux/jump_label.h kernel/jump_label.c+109 -340 replies
2/4perf: Make use of updated jump label API.include/linux/perf_event.h+3 -30 replies
3/4tracepoints: update to use new jump label API.include/linux/tracepoint.h kernel/tracepoint.c+8 -80 replies
4/4sched: Make use of new jump label API.kernel/sched/core.c kernel/sched/fair.c kernel/sched/sched.h+8 -170 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4][RFC] jump label: introduce default true branch

Hi Peter,

I've introduced a new static_branch_def_true() construct, such that the straight line path is the true branch, and we patch a jump to get to the false branch. In order to make jump_label_inc()/dec() work as 'make true'/'make false' with counting, I've had to update some of the core jump label code. This patchset also
introduces: JUMP_LABEL_INIT_TRUE/FALSE, so that keys should be initialized as:

struct jump_label_key true_key = JUMP_LABEL_INIT_TRUE;

or

struct jump_label_key false_key = JUMP_LABEL_INIT_FALSE;

I think this patch series should address the issues that came up with sched_feat() implementation.

Thanks,

-Jason

Jason Baron (4):
jump label: Introduce default true branch + API update
perf: Make use of updated jump label API.
tracepoints: update to use new jump label API.
sched: Make use of new jump label API.

 include/linux/jump_label.h |   77 ++++++++++++++++++++++++++++++++++++-------
 include/linux/perf_event.h |    6 ++--
 include/linux/tracepoint.h |    4 +-
 kernel/jump_label.c        |   66 +++++++++++++++++++++++++------------
 kernel/sched/core.c        |   12 +++---
 kernel/sched/fair.c        |    2 +-
 kernel/sched/sched.h       |   11 +------
 kernel/tracepoint.c        |   12 +++---
 8 files changed, 128 insertions(+), 62 deletions(-)
Signature · 1 line
1.7.7.3