From e1c433a1e7ecf9173ba444bc7a532ec417b6ebbf Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Date: Tue, 23 Nov 2021 16:02:29 +0100 Subject: [PATCH] Add kernel events documentation --- doc/kernel.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/kernel.txt diff --git a/doc/kernel.txt b/doc/kernel.txt new file mode 100644 index 0000000..819b672 --- /dev/null +++ b/doc/kernel.txt @@ -0,0 +1,21 @@ +--- 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