@@ -27,7 +27,7 @@ static void mmio_reset_data(struct trace_array *tr)
2727 tr -> time_start = ftrace_now (tr -> cpu );
2828
2929 for_each_online_cpu (cpu )
30- tracing_reset (tr -> data [ cpu ] );
30+ tracing_reset (tr , cpu );
3131}
3232
3333static void mmio_trace_init (struct trace_array * tr )
@@ -130,10 +130,14 @@ static unsigned long count_overruns(struct trace_iterator *iter)
130130{
131131 int cpu ;
132132 unsigned long cnt = 0 ;
133+ /* FIXME: */
134+ #if 0
133135 for_each_online_cpu (cpu ) {
134136 cnt += iter -> overrun [cpu ];
135137 iter -> overrun [cpu ] = 0 ;
136138 }
139+ #endif
140+ (void )cpu ;
137141 return cnt ;
138142}
139143
@@ -176,7 +180,7 @@ static int mmio_print_rw(struct trace_iterator *iter)
176180 struct trace_entry * entry = iter -> ent ;
177181 struct mmiotrace_rw * rw = & entry -> field .mmiorw ;
178182 struct trace_seq * s = & iter -> seq ;
179- unsigned long long t = ns2usecs (entry -> field . t );
183+ unsigned long long t = ns2usecs (iter -> ts );
180184 unsigned long usec_rem = do_div (t , 1000000ULL );
181185 unsigned secs = (unsigned long )t ;
182186 int ret = 1 ;
@@ -218,7 +222,7 @@ static int mmio_print_map(struct trace_iterator *iter)
218222 struct trace_entry * entry = iter -> ent ;
219223 struct mmiotrace_map * m = & entry -> field .mmiomap ;
220224 struct trace_seq * s = & iter -> seq ;
221- unsigned long long t = ns2usecs (entry -> field . t );
225+ unsigned long long t = ns2usecs (iter -> ts );
222226 unsigned long usec_rem = do_div (t , 1000000ULL );
223227 unsigned secs = (unsigned long )t ;
224228 int ret = 1 ;
@@ -250,7 +254,7 @@ static int mmio_print_mark(struct trace_iterator *iter)
250254 struct trace_entry * entry = iter -> ent ;
251255 const char * msg = entry -> field .print .buf ;
252256 struct trace_seq * s = & iter -> seq ;
253- unsigned long long t = ns2usecs (entry -> field . t );
257+ unsigned long long t = ns2usecs (iter -> ts );
254258 unsigned long usec_rem = do_div (t , 1000000ULL );
255259 unsigned secs = (unsigned long )t ;
256260 int ret ;
@@ -303,19 +307,19 @@ static void __trace_mmiotrace_rw(struct trace_array *tr,
303307 struct trace_array_cpu * data ,
304308 struct mmiotrace_rw * rw )
305309{
310+ struct ring_buffer_event * event ;
306311 struct trace_entry * entry ;
307312 unsigned long irq_flags ;
308313
309- raw_local_irq_save (irq_flags );
310- __raw_spin_lock (& data -> lock );
311-
312- entry = tracing_get_trace_entry (tr , data );
314+ event = ring_buffer_lock_reserve (tr -> buffer , sizeof (* entry ),
315+ & irq_flags );
316+ if (!event )
317+ return ;
318+ entry = ring_buffer_event_data (event );
313319 tracing_generic_entry_update (entry , 0 );
314320 entry -> type = TRACE_MMIO_RW ;
315321 entry -> field .mmiorw = * rw ;
316-
317- __raw_spin_unlock (& data -> lock );
318- raw_local_irq_restore (irq_flags );
322+ ring_buffer_unlock_commit (tr -> buffer , event , irq_flags );
319323
320324 trace_wake_up ();
321325}
@@ -331,19 +335,19 @@ static void __trace_mmiotrace_map(struct trace_array *tr,
331335 struct trace_array_cpu * data ,
332336 struct mmiotrace_map * map )
333337{
338+ struct ring_buffer_event * event ;
334339 struct trace_entry * entry ;
335340 unsigned long irq_flags ;
336341
337- raw_local_irq_save (irq_flags );
338- __raw_spin_lock (& data -> lock );
339-
340- entry = tracing_get_trace_entry (tr , data );
342+ event = ring_buffer_lock_reserve (tr -> buffer , sizeof (* entry ),
343+ & irq_flags );
344+ if (!event )
345+ return ;
346+ entry = ring_buffer_event_data (event );
341347 tracing_generic_entry_update (entry , 0 );
342348 entry -> type = TRACE_MMIO_MAP ;
343349 entry -> field .mmiomap = * map ;
344-
345- __raw_spin_unlock (& data -> lock );
346- raw_local_irq_restore (irq_flags );
350+ ring_buffer_unlock_commit (tr -> buffer , event , irq_flags );
347351
348352 trace_wake_up ();
349353}
0 commit comments