Commit Graph

983 Commits

Author SHA1 Message Date
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
Antoni Navarro
4719917ba9 Change Nanos6's name to NODES 2021-12-10 14:54:34 +00:00
d6c16bdb24 Add .gitlab-ci.yml file 2021-12-10 13:14:29 +01:00
19c535ef02 Poison assert() 2021-12-09 16:56:24 +01:00
f705d707b6 Remove asserts from utlist.h 2021-12-09 16:55:42 +01:00
df968eb4d0 Remove asserts in heap.h 2021-12-09 16:50:18 +01:00
6b9e083225 Fix typo 2021-12-09 16:43:07 +01:00
24a6ce2f2c Fix error reporting in ovnisort 2021-12-09 16:42:47 +01:00
f8d989b214 Add extra checks when running a new task in nosv 2021-12-09 16:08:45 +01:00
de70a057d4 Use signed integers for CPU ids 2021-12-09 16:08:45 +01:00
75c32f3a99 Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
2046833700 Improve error handling in libovni
- Transform asserts into unconditional checks
- Abort as soon as an error is encountered
- Remove return errors
2021-12-09 14:18:33 +01:00
2ffd8407e0 Remove unneeded files from gitignore 2021-12-09 14:17:02 +01:00
9d32031552 Include the tests after loading MPI 2021-12-09 14:17:02 +01:00
4dc3b6116e Add UBsan build type 2021-12-09 14:17:02 +01:00
e8860a5f99 Inform of failed function in perror() 2021-12-09 14:11:57 +01:00
ca9bbf6401 Close file descriptors after mmap
Now is no longer needed to increase the limit of the maximum number of
file descriptors opened when loading large traces.
2021-12-07 14:23:52 +01:00
50081b0dc0 Allow empty unsorted regions
Additionally, the check mode (-c) ensures that a trace has been properly
sorted.
2021-12-02 10:37:53 +01:00
e1c433a1e7 Add kernel events documentation 2021-12-02 10:37:53 +01:00
ca95fb34a3 Add kernel support for context switch events
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.
2021-12-02 10:37:53 +01:00
2961254838 Add a tool to sort unordered events
The region of past events must be enclosed by the OU[ and OU] events and
all the events within the region must be sorted. The sorting mechanism
looks back up to 10000 events, so it may fail if they are too far away
in the past.
2021-12-02 10:37:52 +01:00
766feb9fab Allow the traces to be modified 2021-12-02 10:36:47 +01:00
d79b887182 Remove ovni_clock_update()
The clock is now managed by the user, using the ovni_clock_now()
function to sample the current value and ovni_ev_set_clock() to set the
event clock timestamp. This change allows events with custom clock
values.
2021-12-02 10:36:47 +01:00
Kevin Sala
88d79aec8e Fixing compilation of test/flush.c
Fixes #25
2021-11-30 13:05:06 +01:00
Kevin Sala
9c371d8c12 Installing Paraver CFG files in PREFIX/share/ovni
Closes #26
2021-11-30 11:49:03 +01:00
Kevin Sala
345bb7e98a Simplifying TAMPI's emulator code 2021-11-29 15:16:44 +01:00
5e2409f69f Ensure only one thread is running per CPU 2021-11-29 11:12:11 +01:00
9bf99ad6a0 Add virtual flag to CPUs 2021-11-29 11:12:11 +01:00
5eadcb404e Use const qualifier in public ovni.h functions 2021-11-19 17:09:39 +01:00
a663f2c11b Allocate only the required CPUs 2021-11-19 16:48:53 +01:00
8153742c1f Use a linked list for threads in each CPU
Allows for unlimited threads in each CPU.
2021-11-19 16:48:53 +01:00
2e659f6dd3 Remove unused loom members 2021-11-19 16:48:53 +01:00
ffd492e922 Allocate only the required threads 2021-11-19 16:48:53 +01:00
bed8c35980 Allocate only the required processes 2021-11-19 16:48:53 +01:00
3e35f3d88b Fix memory leaks 2021-11-19 16:48:53 +01:00
8c58a7a6ab Add address sanitizer build type 2021-11-19 16:48:53 +01:00
25cf3a8585 Allocate only the needed looms 2021-11-19 16:48:53 +01:00
d54c287ec8 Split ovni trace funtions to another source file 2021-11-19 16:48:53 +01:00
34701b2219 Transform bad exits into aborts in channels 2021-11-19 16:47:35 +01:00
1b9225dd2a Add cmake option to enable debug logs
It can be enabled with -DENABLE_DEBUG_LOG=ON
2021-11-19 16:29:44 +01:00
cddda71cfb Early duplicate state detection in channels
These checks allows the emulator to abort at the moment in which two
consecutive states are going to be emitted by the channel, showing the
culpirit in the backtrace. Waiting for the check in chan_emit() hides
the source of the problem.
2021-11-19 16:22:37 +01:00
9944b391ae Mark as dirty all CPU channels 2021-11-17 12:11:13 +01:00
557371e836 Only allow and emit state transitions
Fixes the ghost events shown in the PRV trace. Only transitions to a
different state are allowed now.
2021-11-17 12:08:25 +01:00