Messages in this thread | | | Date | Wed, 21 Dec 2011 14:09:01 -0500 | From | Jason Baron <> | Subject | [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(-)
-- 1.7.7.3
| |