diff options
| -rw-r--r-- | kernel/trace/ring_buffer.c | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index c8ce6bde7fa..3af77cd47f2 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -2008,14 +2008,14 @@ rb_try_to_discard(struct ring_buffer_per_cpu *cpu_buffer,  static int  rb_add_time_stamp(struct ring_buffer_per_cpu *cpu_buffer, -		  u64 ts, u64 *delta) +		  u64 ts, u64 delta)  {  	struct ring_buffer_event *event;  	int ret; -	WARN_ONCE(*delta > (1ULL << 59), +	WARN_ONCE(delta > (1ULL << 59),  		  KERN_WARNING "Delta way too big! %llu ts=%llu write stamp = %llu\n", -		  (unsigned long long)*delta, +		  (unsigned long long)delta,  		  (unsigned long long)ts,  		  (unsigned long long)cpu_buffer->write_stamp); @@ -2041,8 +2041,8 @@ rb_add_time_stamp(struct ring_buffer_per_cpu *cpu_buffer,  		 * and if we can't just make it zero.  		 */  		if (rb_event_index(event)) { -			event->time_delta = *delta & TS_MASK; -			event->array[0] = *delta >> TS_SHIFT; +			event->time_delta = delta & TS_MASK; +			event->array[0] = delta >> TS_SHIFT;  		} else {  			/* try to discard, since we do not need this */  			if (!rb_try_to_discard(cpu_buffer, event)) { @@ -2064,8 +2064,6 @@ rb_add_time_stamp(struct ring_buffer_per_cpu *cpu_buffer,  		ret = 0;  	} -	*delta = 0; -  	return ret;  } @@ -2175,7 +2173,9 @@ rb_reserve_next_event(struct ring_buffer *buffer,  		delta = diff;  		if (unlikely(test_time_stamp(delta))) { -			commit = rb_add_time_stamp(cpu_buffer, ts, &delta); +			commit = rb_add_time_stamp(cpu_buffer, ts, delta); +			delta = 0; +  			if (commit == -EBUSY)  				goto out_fail;  |