ring-buffer: no preempt for sched_clock()
Impact: disable preemption when calling sched_clock() The ring_buffer_time_stamp still uses sched_clock as its counter. But it is a bug to call it with preemption enabled. This requirement should not be pushed to the ring_buffer_time_stamp callers, so the ring_buffer_time_stamp needs to disable preemption when calling sched_clock. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
		
							parent
							
								
									c1e7abbc7a
								
							
						
					
					
						commit
						47e74f2ba8
					
				| @ -51,8 +51,14 @@ void tracing_off(void) | ||||
| /* FIXME!!! */ | ||||
| u64 ring_buffer_time_stamp(int cpu) | ||||
| { | ||||
| 	u64 time; | ||||
| 
 | ||||
| 	preempt_disable_notrace(); | ||||
| 	/* shift to debug/test normalization and TIME_EXTENTS */ | ||||
| 	return sched_clock() << DEBUG_SHIFT; | ||||
| 	time = sched_clock() << DEBUG_SHIFT; | ||||
| 	preempt_enable_notrace(); | ||||
| 
 | ||||
| 	return time; | ||||
| } | ||||
| 
 | ||||
| void ring_buffer_normalize_time_stamp(int cpu, u64 *ts) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user