diff options
Diffstat (limited to 'kernel/trace/trace_kdb.c')
| -rw-r--r-- | kernel/trace/trace_kdb.c | 17 | 
1 files changed, 5 insertions, 12 deletions
| diff --git a/kernel/trace/trace_kdb.c b/kernel/trace/trace_kdb.c index 1e72d20b3c2f..896ff78b8349 100644 --- a/kernel/trace/trace_kdb.c +++ b/kernel/trace/trace_kdb.c @@ -43,17 +43,15 @@ static void ftrace_dump_buf(int skip_entries, long cpu_file)  	if (cpu_file == RING_BUFFER_ALL_CPUS) {  		for_each_tracing_cpu(cpu) {  			iter.buffer_iter[cpu] = -			ring_buffer_read_prepare(iter.array_buffer->buffer, -						 cpu, GFP_ATOMIC); -			ring_buffer_read_start(iter.buffer_iter[cpu]); +			ring_buffer_read_start(iter.array_buffer->buffer, +					       cpu, GFP_ATOMIC);  			tracing_iter_reset(&iter, cpu);  		}  	} else {  		iter.cpu_file = cpu_file;  		iter.buffer_iter[cpu_file] = -			ring_buffer_read_prepare(iter.array_buffer->buffer, +			ring_buffer_read_start(iter.array_buffer->buffer,  						 cpu_file, GFP_ATOMIC); -		ring_buffer_read_start(iter.buffer_iter[cpu_file]);  		tracing_iter_reset(&iter, cpu_file);  	} @@ -98,7 +96,6 @@ static int kdb_ftdump(int argc, const char **argv)  	long cpu_file;  	int err;  	int cnt; -	int cpu;  	if (argc > 2)  		return KDB_ARGCOUNT; @@ -120,9 +117,7 @@ static int kdb_ftdump(int argc, const char **argv)  	trace_init_global_iter(&iter);  	iter.buffer_iter = buffer_iter; -	for_each_tracing_cpu(cpu) { -		atomic_inc(&per_cpu_ptr(iter.array_buffer->data, cpu)->disabled); -	} +	tracer_tracing_disable(iter.tr);  	/* A negative skip_entries means skip all but the last entries */  	if (skip_entries < 0) { @@ -135,9 +130,7 @@ static int kdb_ftdump(int argc, const char **argv)  	ftrace_dump_buf(skip_entries, cpu_file); -	for_each_tracing_cpu(cpu) { -		atomic_dec(&per_cpu_ptr(iter.array_buffer->data, cpu)->disabled); -	} +	tracer_tracing_enable(iter.tr);  	kdb_trap_printk--; | 
