Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1441427
| From | Steven Rostedt <rostedt@goodmis.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH RT 19/20] trace: correct off by one while recording the trace-event |
| Date | 2016-07-12 16:40 +0200 |
| Message-ID | <rU70R-6aC-3@gated-at.bofh.it> (permalink) |
| References | <rU6Rb-66R-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
4.1.27-rt31-rc1 stable review patch. If anyone has any objections, please let me know. ------------------ From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Trace events like raw_syscalls show always a preempt code of one. The reason is that on PREEMPT kernels rcu_read_lock_sched_notrace() increases the preemption counter and the function recording the counter is caller within the RCU section. Cc: stable-rt@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> [ Changed this to upstream version. See commit e947841c0dce ] Signed-off-by: Steven Rostedt <rostedt@goodmis.org> --- kernel/trace/trace_events.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 64c1ac17af8f..b83d6a4d3912 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -200,6 +200,14 @@ void *ftrace_event_buffer_reserve(struct ftrace_event_buffer *fbuffer, local_save_flags(fbuffer->flags); fbuffer->pc = preempt_count(); + /* + * If CONFIG_PREEMPT is enabled, then the tracepoint itself disables + * preemption (adding one to the preempt_count). Since we are + * interested in the preempt_count at the time the tracepoint was + * hit, we need to subtract one to offset the increment. + */ + if (IS_ENABLED(CONFIG_PREEMPT)) + fbuffer->pc--; fbuffer->ftrace_file = ftrace_file; fbuffer->event = -- 2.8.1
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH RT 00/20] Linux 4.1.27-rt31-rc1 Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:30 +0200 [PATCH RT 18/20] mm: perform lru_add_drain_all() remotely Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:30 +0200 [PATCH RT 13/20] perf/x86/intel/rapl: Make PMU lock raw Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:30 +0200 [PATCH RT 08/20] net: dev: always take qdiscs busylock in __dev_xmit_skb() Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 19/20] trace: correct off by one while recording the trace-event Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 09/20] drivers/block/zram: Replace bit spinlocks with rtmutex for -rt Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 07/20] mm/zsmalloc: Use get/put_cpu_light in zs_map_object()/zs_unmap_object() Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 15/20] kernel/printk: Dont try to print from IRQ/NMI region Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 03/20] ARM: at91: pm: move idle functions to pm.c Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 04/20] ARM: at91: remove useless includes and function prototypes Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 05/20] usb: gadget: atmel: access the PMC using regmap Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 01/20] ARM: at91: pm: simply call at91_pm_init Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 [PATCH RT 10/20] list_bl: fixup bogus lockdep warning Steven Rostedt <rostedt@goodmis.org> - 2016-07-12 16:40 +0200 Linux 4.1.27-rt31-rc2 Steven Rostedt <rostedt@goodmis.org> - 2016-07-13 01:20 +0200
csiph-web