Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull RCU updates from Paul E. McKenney: " * Update RCU documentation. These were posted to LKML at https://lkml.org/lkml/2013/8/19/611. * Miscellaneous fixes. These were posted to LKML at https://lkml.org/lkml/2013/8/19/619. * Full-system idle detection. This is for use by Frederic Weisbecker's adaptive-ticks mechanism. Its purpose is to allow the timekeeping CPU to shut off its tick when all other CPUs are idle. These were posted to LKML at https://lkml.org/lkml/2013/8/19/648. * Improve rcutorture test coverage. These were posted to LKML at https://lkml.org/lkml/2013/8/19/675. " Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -1022,6 +1022,9 @@ extern struct list_head ftrace_events;
|
||||
extern const char *__start___trace_bprintk_fmt[];
|
||||
extern const char *__stop___trace_bprintk_fmt[];
|
||||
|
||||
extern const char *__start___tracepoint_str[];
|
||||
extern const char *__stop___tracepoint_str[];
|
||||
|
||||
void trace_printk_init_buffers(void);
|
||||
void trace_printk_start_comm(void);
|
||||
int trace_keep_overwrite(struct tracer *tracer, u32 mask, int set);
|
||||
|
||||
@@ -244,12 +244,31 @@ static const char **find_next(void *v, loff_t *pos)
|
||||
{
|
||||
const char **fmt = v;
|
||||
int start_index;
|
||||
int last_index;
|
||||
|
||||
start_index = __stop___trace_bprintk_fmt - __start___trace_bprintk_fmt;
|
||||
|
||||
if (*pos < start_index)
|
||||
return __start___trace_bprintk_fmt + *pos;
|
||||
|
||||
/*
|
||||
* The __tracepoint_str section is treated the same as the
|
||||
* __trace_printk_fmt section. The difference is that the
|
||||
* __trace_printk_fmt section should only be used by trace_printk()
|
||||
* in a debugging environment, as if anything exists in that section
|
||||
* the trace_prink() helper buffers are allocated, which would just
|
||||
* waste space in a production environment.
|
||||
*
|
||||
* The __tracepoint_str sections on the other hand are used by
|
||||
* tracepoints which need to map pointers to their strings to
|
||||
* the ASCII text for userspace.
|
||||
*/
|
||||
last_index = start_index;
|
||||
start_index = __stop___tracepoint_str - __start___tracepoint_str;
|
||||
|
||||
if (*pos < last_index + start_index)
|
||||
return __start___tracepoint_str + (*pos - last_index);
|
||||
|
||||
return find_next_mod_format(start_index, v, fmt, pos);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user