These events only show if a thread has been removed from the CPU, but doesn't provide information about what other thread caused the context switch. This type of information can be obtained even with strict /proc/sys/kernel/perf_event_paranoid settings.
ovni - Obtuse but Versatile nOS-V Instrumentation
The ovni instrumentation project is composed of a runtime library (libovni.so),
which generates a fast binary trace, and post-processing tools such as the
emulator (emu), which transform the binary trace to the PRV format, suitable to
be loaded in Paraver.
The libovni.so library is licensed under MIT, while the rest of tools are GPLv3
unless otherwise stated.
For more information, take a look at the doc/ directory.
To build ovni you would need a C compiler, MPI and cmake version 3.10 or newer.
To compile in build/ and install into $prefix use:
% cmake -DCMAKE_INSTALL_PREFIX=$prefix -S . -B build
% cd build
% make
% make install
To run the tests you can run (from the build directory):
% make test
See cmake(1) and cmake-env-variables(7) to see more information about
the variables affecting the generation and build process.
Description
Languages
C
93.4%
CMake
3.8%
Shell
1.6%
Nix
0.7%
Roff
0.5%