Sebastian Andrzej Siewior
3bd3706251
sched/core: Provide a pointer to the valid CPU mask
...
In commit:
4b53a3412d ("sched/core: Remove the tsk_nr_cpus_allowed() wrapper")
the tsk_nr_cpus_allowed() wrapper was removed. There was not
much difference in !RT but in RT we used this to implement
migrate_disable(). Within a migrate_disable() section the CPU mask is
restricted to single CPU while the "normal" CPU mask remains untouched.
As an alternative implementation Ingo suggested to use:
struct task_struct {
const cpumask_t *cpus_ptr;
cpumask_t cpus_mask;
};
with
t->cpus_ptr = &t->cpus_mask;
In -RT we then can switch the cpus_ptr to:
t->cpus_ptr = &cpumask_of(task_cpu(p));
in a migration disabled region. The rules are simple:
- Code that 'uses' ->cpus_allowed would use the pointer.
- Code that 'modifies' ->cpus_allowed would use the direct mask.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20190423142636.14347-1-bigeasy@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-06-03 11:49:37 +02:00
..
blktrace.c
blkcg: annotate implicit fall through
2019-03-13 14:31:12 -06:00
bpf_trace.c
bpf: mark bpf_event_notify and bpf_event_init as static
2019-05-14 01:27:18 +02:00
fgraph.c
ftrace.c
The major changes in this tracing update includes:
2019-05-15 16:05:47 -07:00
ftrace_internal.h
Kconfig
treewide: Add SPDX license identifier - Makefile/Kconfig
2019-05-21 10:50:46 +02:00
Makefile
power-traces.c
preemptirq_delay_test.c
ring_buffer.c
The major changes in this tracing update includes:
2019-05-15 16:05:47 -07:00
ring_buffer_benchmark.c
ring-buffer: Fix mispelling of Calculate
2019-05-08 12:15:12 -04:00
rpm-traces.c
trace.c
tracing: Silence GCC 9 array bounds warning
2019-05-25 23:04:30 -04:00
trace.h
tracing: Silence GCC 9 array bounds warning
2019-05-25 23:04:30 -04:00
trace_benchmark.c
trace_benchmark.h
trace_branch.c
x86/uaccess, ftrace: Fix ftrace_likely_update() vs. SMAP
2019-04-03 11:02:24 +02:00
trace_clock.c
trace_dynevent.c
tracing: initialize variable in create_dyn_event()
2019-03-26 08:35:36 -04:00
trace_dynevent.h
trace_entries.h
tracing: Change the function format to display function names by perf
2019-02-11 14:53:43 -05:00
trace_event_perf.c
tracing/perf: Use strndup_user() instead of buggy open-coded version
2019-02-21 10:35:10 -05:00
trace_events.c
tracing: Fix partial reading of trace event's id file
2019-05-08 12:15:12 -04:00
trace_events_filter.c
tracing: Avoid memory leak in predicate_parse()
2019-05-28 16:27:58 -04:00
trace_events_filter_test.h
trace_events_hist.c
tracing: Add a check_val() check before updating cond_snapshot() track_val
2019-05-21 12:48:07 -04:00
trace_events_trigger.c
tracing: Add trace_array parameter to create_event_filter()
2019-04-08 09:22:28 -04:00
trace_export.c
trace_functions.c
trace_functions_graph.c
tracing: Put a margin between flags and duration for wakeup tracers
2019-02-06 11:56:19 -05:00
trace_hwlat.c
sched/core: Provide a pointer to the valid CPU mask
2019-06-03 11:49:37 +02:00
trace_irqsoff.c
The biggest change for this release is in the histogram code.
2019-03-11 17:01:32 -07:00
trace_kdb.c
tracing: Silence GCC 9 array bounds warning
2019-05-25 23:04:30 -04:00
trace_kprobe.c
tracing: Use tracing error_log with probe events
2019-04-02 18:24:07 -04:00
trace_kprobe_selftest.c
trace_kprobe_selftest.h
trace_mmiotrace.c
trace_nop.c
trace_output.c
trace_output.h
trace_preemptirq.c
kprobes: Prohibit probing on hardirq tracers
2019-02-13 08:16:40 +01:00
trace_printk.c
trace_probe.c
tracing: Replace kzalloc with kcalloc
2019-05-08 12:15:12 -04:00
trace_probe.h
tracing: uprobes: Re-enable $comm support for uprobe events
2019-05-08 12:15:11 -04:00
trace_probe_tmpl.h
tracing: probeevent: Do not accumulate on ret variable
2019-05-08 12:15:11 -04:00
trace_sched_switch.c
trace_sched_wakeup.c
tracing: Add conditional snapshot
2019-02-20 13:51:06 -05:00
trace_selftest.c
function_graph: Have selftest also emulate tr->reset() as it did with tr->init()
2019-04-21 19:46:56 -04:00
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c
tracing: Remove the last struct stack_trace usage
2019-04-29 12:37:56 +02:00
trace_stat.c
trace_stat.h
trace_syscalls.c
syscalls: Remove start and number from syscall_get_arguments() args
2019-04-05 09:26:43 -04:00
trace_uprobe.c
tracing: uprobes: Re-enable $comm support for uprobe events
2019-05-08 12:15:11 -04:00
tracing_map.c
tracing_map.h