]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branch 'devel' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux...
authorIngo Molnar <mingo@elte.hu>
Tue, 11 Nov 2008 08:16:20 +0000 (09:16 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 11 Nov 2008 08:16:20 +0000 (09:16 +0100)
1  2 
kernel/trace/trace.c

diff --combined kernel/trace/trace.c
index 974973e39e87058816a0052f29350b25dd02f130,abfa8103d04673c66e9dc10d468ba1d6fe8f6b00..697eda36b86a54e902a2289d2adf767ca1278460
@@@ -1755,7 -1755,7 +1755,7 @@@ static enum print_line_t print_bin_fmt(
                return TRACE_TYPE_HANDLED;
  
        SEQ_PUT_FIELD_RET(s, entry->pid);
 -      SEQ_PUT_FIELD_RET(s, iter->cpu);
 +      SEQ_PUT_FIELD_RET(s, entry->cpu);
        SEQ_PUT_FIELD_RET(s, iter->ts);
  
        switch (entry->type) {
@@@ -2676,7 -2676,7 +2676,7 @@@ tracing_entries_write(struct file *filp
  {
        unsigned long val;
        char buf[64];
-       int ret;
+       int ret, cpu;
        struct trace_array *tr = filp->private_data;
  
        if (cnt >= sizeof(buf))
                goto out;
        }
  
+       /* disable all cpu buffers */
+       for_each_tracing_cpu(cpu) {
+               if (global_trace.data[cpu])
+                       atomic_inc(&global_trace.data[cpu]->disabled);
+               if (max_tr.data[cpu])
+                       atomic_inc(&max_tr.data[cpu]->disabled);
+       }
        if (val != global_trace.entries) {
                ret = ring_buffer_resize(global_trace.buffer, val);
                if (ret < 0) {
        if (tracing_disabled)
                cnt = -ENOMEM;
   out:
+       for_each_tracing_cpu(cpu) {
+               if (global_trace.data[cpu])
+                       atomic_dec(&global_trace.data[cpu]->disabled);
+               if (max_tr.data[cpu])
+                       atomic_dec(&max_tr.data[cpu]->disabled);
+       }
        max_tr.entries = global_trace.entries;
        mutex_unlock(&trace_types_lock);