Commit Graph

225 Commits

Author SHA1 Message Date
c40348e2a8 Keep the thread set after the task ends
Allows the emulator to check when an inner task ends the next in the
stack has the same thread as before.
2022-06-02 15:43:42 +02:00
b0e25f29c7 Add an stronger restriction for task switching
In nOS-V, we can only switch from a running task to another if they are
from the same thread.
2022-06-02 15:32:40 +02:00
2ac9a76b3b The task and type ids cannot be negative 2022-06-02 15:31:35 +02:00
b0f693360c Use a hash of the type label to derive the gid
This avoids different processes running tasks with the same type label
to have different colors.
2022-06-02 15:28:04 +02:00
fa9196fd63 Add support for nOS-V task types
Use a unique identifier for each type, so we don't mix types with the
same id per-process.
2022-06-01 17:17:13 +02:00
ca6c85b2fb Use chan index in the PRV table initialization 2022-06-01 17:17:13 +02:00
c22457d7d3 Add dynamic PCF types and values 2022-06-01 17:17:13 +02:00
d460290415 Add another test to prevent double nesting 2022-06-01 17:01:51 +02:00
24134aa04f Add test for nOS-V nested tasks 2022-06-01 16:41:28 +02:00
2cb9371e3c Add a CMake macro to define tests 2022-06-01 16:39:52 +02:00
69af0f721f Split source and build test directories 2022-06-01 16:39:52 +02:00
1de6c53247 Remove cur_task from the emulator 2022-06-01 16:39:52 +02:00
70891355ec Use only a stack of tasks for nosv
The running task is inferred from the task on top of the stack. Also,
allow a nested task to execute when there are others in the stack.
2022-06-01 16:39:52 +02:00
26a29d3eda Emit the rank too when the task ends 2022-06-01 16:39:52 +02:00
c097d769b1 Transform asserts and follow coding style 2022-06-01 16:39:42 +02:00
David Alvarez
a8b1256375 Support for nested tasks 2022-04-25 12:20:33 +02:00
ce9a68fc7e Simplify nix-build and enable verbose tests 2022-01-13 13:17:32 +01:00
afc4ed48b5 Fix the payload size to 1 MiB in flush test 2022-01-13 13:06:34 +01:00
221e1a8d19 Ensure the flush overhead stays below 1 ms
Uses /dev/shm as temporary directory.
2022-01-13 10:58:10 +01:00
e95362f461 Fix time scale in flush config 2022-01-12 17:11:56 +01:00
544c67330c Allow a temporal directory to flush the buffers
The directory can be specified using the OVNI_TMPDIR environment
variable.
2022-01-12 16:57:52 +01:00
66036fe59e Add tracing documentation 2022-01-12 16:56:36 +01:00
1d3dc235dc Sync the stream with fdatasync() 2022-01-12 11:05:38 +01:00
df72ab79ac Remove verbose details from ovnisort 2022-01-12 11:05:38 +01:00
500051305c State if the trace sorted with ovnisort -c 2022-01-12 11:05:38 +01:00
26ff310287 Use pwrite() to modify the streams
Using MAP_SHARED and mmap() causes coherence problems on shared
filesystems such as GPFS.

See https://pm.bsc.es/gitlab/rarias/ovni/-/issues/28 for more
details.
2022-01-12 11:05:38 +01:00
12d35b1d46 Use a private mmap buffer for streams 2022-01-12 11:05:38 +01:00
676576f347 Simplify dump format 2022-01-12 11:05:38 +01:00
1aae200614 Use pointers instead of indexes in streams 2022-01-12 11:05:38 +01:00
568cbb2622 Free trace structures in ovnisort 2022-01-12 11:05:38 +01:00
5e39c55231 Unmap stream buffer in ovni_free_streams() 2022-01-12 11:05:38 +01:00
bb14becb75 Fix hexdump for non-printable characters 2022-01-12 11:05:38 +01:00
ba18ada0ae Only dump the first unsorted region 2022-01-12 11:05:38 +01:00
d6c558118d Sync stream buffer after sort 2022-01-12 11:05:38 +01:00
86eabb2b9d Hexdump sort window for debug 2022-01-12 11:05:38 +01:00
08b22bf6e8 Clear the sort plan 2022-01-12 11:05:38 +01:00
806e0c9198 Allow TID filter in ovnidump 2022-01-12 11:05:38 +01:00
1eb90de88b Fix out of bounds bug in ovnisort 2022-01-12 11:05:38 +01:00
363562e028 Use old cmake 3.10 command line style 2022-01-12 10:54:35 +01:00
86fb8b4717 Fix copyright years 2022-01-12 10:47:47 +01:00
add5872c9a Split glib and version check 2022-01-12 10:29:22 +01:00
39b65b1e67 Define gettid for old glibc versions 2022-01-12 10:29:13 +01:00
3dc03ee5d7 Verbose build and check phases 2022-01-11 18:56:37 +01:00
66f53665dc Enable checks in the ovni derivation 2022-01-11 18:56:37 +01:00
e435d2d004 Run the tests in serial 2022-01-11 18:56:37 +01:00
292dda835a Add gitlab CI with old glibc 2022-01-11 17:51:47 +01:00
842d60043b Add a nix shell with glibc 2.26 2022-01-11 17:51:47 +01:00
bae6e4a209 Add rank test with fake nosv tasks 2021-12-10 18:37:32 +01:00
1b1ca7e232 Add rank support in metadata 2021-12-10 18:37:14 +01:00
6c35d632f2 Add test with multiple processes 2021-12-10 18:29:38 +01:00