tracing: Kill trace_cpu struct/members
After the previous changes trace_array_cpu->trace_cpu and trace_array->trace_cpu becomes write-only. Remove these members and kill "struct trace_cpu" as well. As a side effect this also removes memset(per_cpu_memory, 0). It was not needed, alloc_percpu() returns zero-filled memory. Link: http://lkml.kernel.org/r/20130723152613.GA23741@redhat.com Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
committed by
Steven Rostedt
parent
6484c71cbc
commit
9c01fe4593
@@ -5865,17 +5865,6 @@ struct dentry *trace_instance_dir;
|
|||||||
static void
|
static void
|
||||||
init_tracer_debugfs(struct trace_array *tr, struct dentry *d_tracer);
|
init_tracer_debugfs(struct trace_array *tr, struct dentry *d_tracer);
|
||||||
|
|
||||||
static void init_trace_buffers(struct trace_array *tr, struct trace_buffer *buf)
|
|
||||||
{
|
|
||||||
int cpu;
|
|
||||||
|
|
||||||
for_each_tracing_cpu(cpu) {
|
|
||||||
memset(per_cpu_ptr(buf->data, cpu), 0, sizeof(struct trace_array_cpu));
|
|
||||||
per_cpu_ptr(buf->data, cpu)->trace_cpu.cpu = cpu;
|
|
||||||
per_cpu_ptr(buf->data, cpu)->trace_cpu.tr = tr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
allocate_trace_buffer(struct trace_array *tr, struct trace_buffer *buf, int size)
|
allocate_trace_buffer(struct trace_array *tr, struct trace_buffer *buf, int size)
|
||||||
{
|
{
|
||||||
@@ -5893,8 +5882,6 @@ allocate_trace_buffer(struct trace_array *tr, struct trace_buffer *buf, int size
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
init_trace_buffers(tr, buf);
|
|
||||||
|
|
||||||
/* Allocate the first page for all buffers */
|
/* Allocate the first page for all buffers */
|
||||||
set_buffer_entries(&tr->trace_buffer,
|
set_buffer_entries(&tr->trace_buffer,
|
||||||
ring_buffer_size(tr->trace_buffer.buffer, 0));
|
ring_buffer_size(tr->trace_buffer.buffer, 0));
|
||||||
@@ -5961,10 +5948,6 @@ static int new_instance_create(const char *name)
|
|||||||
if (allocate_trace_buffers(tr, trace_buf_size) < 0)
|
if (allocate_trace_buffers(tr, trace_buf_size) < 0)
|
||||||
goto out_free_tr;
|
goto out_free_tr;
|
||||||
|
|
||||||
/* Holder for file callbacks */
|
|
||||||
tr->trace_cpu.cpu = RING_BUFFER_ALL_CPUS;
|
|
||||||
tr->trace_cpu.tr = tr;
|
|
||||||
|
|
||||||
tr->dir = debugfs_create_dir(name, trace_instance_dir);
|
tr->dir = debugfs_create_dir(name, trace_instance_dir);
|
||||||
if (!tr->dir)
|
if (!tr->dir)
|
||||||
goto out_free_tr;
|
goto out_free_tr;
|
||||||
@@ -6438,10 +6421,6 @@ __init static int tracer_alloc_buffers(void)
|
|||||||
|
|
||||||
global_trace.flags = TRACE_ARRAY_FL_GLOBAL;
|
global_trace.flags = TRACE_ARRAY_FL_GLOBAL;
|
||||||
|
|
||||||
/* Holder for file callbacks */
|
|
||||||
global_trace.trace_cpu.cpu = RING_BUFFER_ALL_CPUS;
|
|
||||||
global_trace.trace_cpu.tr = &global_trace;
|
|
||||||
|
|
||||||
INIT_LIST_HEAD(&global_trace.systems);
|
INIT_LIST_HEAD(&global_trace.systems);
|
||||||
INIT_LIST_HEAD(&global_trace.events);
|
INIT_LIST_HEAD(&global_trace.events);
|
||||||
list_add(&global_trace.list, &ftrace_trace_arrays);
|
list_add(&global_trace.list, &ftrace_trace_arrays);
|
||||||
|
|||||||
@@ -130,19 +130,12 @@ enum trace_flag_type {
|
|||||||
|
|
||||||
struct trace_array;
|
struct trace_array;
|
||||||
|
|
||||||
struct trace_cpu {
|
|
||||||
struct trace_array *tr;
|
|
||||||
struct dentry *dir;
|
|
||||||
int cpu;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The CPU trace array - it consists of thousands of trace entries
|
* The CPU trace array - it consists of thousands of trace entries
|
||||||
* plus some other descriptor data: (for example which task started
|
* plus some other descriptor data: (for example which task started
|
||||||
* the trace, etc.)
|
* the trace, etc.)
|
||||||
*/
|
*/
|
||||||
struct trace_array_cpu {
|
struct trace_array_cpu {
|
||||||
struct trace_cpu trace_cpu;
|
|
||||||
atomic_t disabled;
|
atomic_t disabled;
|
||||||
void *buffer_page; /* ring buffer spare */
|
void *buffer_page; /* ring buffer spare */
|
||||||
|
|
||||||
@@ -196,7 +189,6 @@ struct trace_array {
|
|||||||
bool allocated_snapshot;
|
bool allocated_snapshot;
|
||||||
#endif
|
#endif
|
||||||
int buffer_disabled;
|
int buffer_disabled;
|
||||||
struct trace_cpu trace_cpu; /* place holder */
|
|
||||||
#ifdef CONFIG_FTRACE_SYSCALLS
|
#ifdef CONFIG_FTRACE_SYSCALLS
|
||||||
int sys_refcount_enter;
|
int sys_refcount_enter;
|
||||||
int sys_refcount_exit;
|
int sys_refcount_exit;
|
||||||
|
|||||||
Reference in New Issue
Block a user