22 lines
		
	
	
		
			852 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			852 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Kernel support
 | 
						|
 | 
						|
Currently, only context switch events are supported. The kernel events are
 | 
						|
usually written by the kernel into a buffer, without any action from user space.
 | 
						|
This behavior poses a problem, as the user space events and kernel events can
 | 
						|
leave a unsorted trace.
 | 
						|
 | 
						|
The current workaround involves surounding the kernel events by two special ovni
 | 
						|
event markers `OU[` and `OU]` which determine the region of events which must be
 | 
						|
sorted first. Notice that the events inside the region must be sorted!
 | 
						|
 | 
						|
The `ovnisort` tool has been designed to sort the events enclosed by those
 | 
						|
markers by using a very simple window sorting algorithm, trying to insert them
 | 
						|
in order by looking only at the past 10000 events.
 | 
						|
 | 
						|
To use the kernel events, you must sort the ovni trace before calling the
 | 
						|
emulator:
 | 
						|
 | 
						|
	% ./application
 | 
						|
	% ovnisort ovni
 | 
						|
	% ovniemu ovni
 |