73b19ca1c4
Allow setting manual clock for emu events
2024-11-06 11:51:55 +01:00
fe860b2e38
Add partial-cpus test
2024-11-05 10:56:29 +01:00
7cf69d055a
Remove ovni as explictly required model
...
It is already added as a requirement in ovni_thead_init().
2024-10-25 14:22:37 +02:00
ea77f3d72e
Fix unit-stream test
2024-10-25 13:41:15 +02:00
bb4e4d7e56
Emit rank information after ovni_thread_init
2024-10-25 13:41:15 +02:00
4c2071e906
Make calling ovni_thread_require() optional
...
When only emitting ovni events, there is no need to explicitly require
the ovni model, as libovni will already pre-populate it for the user.
2024-10-25 13:41:15 +02:00
5c11c469f2
Make ovni.require a mandatory attribute
...
We no longer accept streams that don't have the ovni.require attribute.
2024-10-25 13:41:15 +02:00
361290e24f
Parse metadata from proc and loom directly
...
All the metadata keys are known to proc and loom only, making it
self-contained. The metadata.c module is no longer needed.
2024-10-25 13:41:15 +02:00
65d1a5ecec
Add merge-cpus-loom test
...
Ensure we can merge the information of CPUs from multiple threads.
2024-10-25 13:41:15 +02:00
6af367ba76
Fix spawn-task-external test
...
It is mandatory to call ovni_thread_free().
2024-10-25 13:41:15 +02:00
65907a96f4
Update tmpdir-metadata test
2024-10-25 13:41:15 +02:00
4180300e87
Reject incomplete thread streams
2024-10-25 13:41:15 +02:00
c61f5a8772
Ensure the thread is ready before adding cpus
2024-10-25 13:41:15 +02:00
fdcff58318
Fix unit tests
2024-10-25 13:41:15 +02:00
36cf3121d1
Fix implicit signed conversions
CI / build:rt (push) Failing after 12s
CI / build:asan (push) Failing after 12s
CI / build:nompi (push) Successful in 59s
CI / build:debug (push) Successful in 1m50s
CI / build:local (push) Successful in 2m2s
CI / build:compilers (push) Successful in 2m27s
2024-09-09 13:44:05 +02:00
b2d91391b3
Add sort-into-previous-region emu test
2024-09-09 09:10:04 +02:00
13f70be87b
Set nOS-V version required for tests to 2.3.1
...
Includes the required fixes for the kernel ring buffer tests.
2024-09-09 08:51:04 +02:00
71aa33d22f
Use string to set ovni.kernel_ringsize
2024-09-09 08:51:04 +02:00
4c3da12ea1
Fix typos in nOS-V kernel test
2024-09-09 08:51:04 +02:00
a47082730a
Ensure that nOS-V aborts on ring overflow
2024-09-09 08:51:04 +02:00
99dc3904af
Add overflow and normal kernel nOS-V tests
2024-09-09 08:51:04 +02:00
acf18c1bb4
Make nOS-V kernel overflow test configurable
2024-09-09 08:51:04 +02:00
e9788e22ad
Add test kernel ring overflow test for nOS-V
...
There is a problem in the way we are reading the buffer in nOS-V, which
fails when the ring buffer gets full. This regression test ensures it is
fixed.
Reported-by: David Álvarez <david.alvarez@bsc.es>
2024-09-09 08:51:04 +02:00
c8750b9dfd
Enable -Wconversion and -Wsign-conversion
...
Prevents implicit conversions to go undetected, as they will have to be
explicit now.
2024-09-09 08:28:02 +02:00
2457e50712
Use always base 10 integer formats with scanf()
...
The %i printf variant tries to autodetect the base, so 010 becomes 8.
2024-07-24 16:36:54 +02:00
92c36502bc
Reduce heat and fibonnacci test sizes
2024-07-24 16:09:47 +02:00
97282ff051
Increase test timeout to 60 seconds
2024-07-24 16:09:47 +02:00
91e8367d35
Set timeout to 30 seconds for tests
2024-07-24 15:12:09 +02:00
129020e1c5
Fix format errors in printf-like functions
2024-07-24 15:12:09 +02:00
Miquel Vidal i Pinyol
3103018404
Use format macro constants for fprintf and fscanf family functions
2024-07-24 15:12:09 +02:00
Miquel Vidal i Pinyol
478ed1f5d0
Use proper format specifiers
...
Allows compiling for architectures with different data type sizes
2024-07-24 15:12:09 +02:00
1ab605b70d
Fix calloc() argument order
...
Catched by a new gcc 14.1.1 warning.
2024-07-22 16:45:29 +02:00
e31f0f1ded
Add fibonacci and heat RT tests for mark API
2024-06-20 17:39:42 +02:00
d6a83a0520
Allow duplicate values in mark channels
2024-06-20 11:41:38 +02:00
c803a7566f
Prevent zero values in the mark API
...
These values cannot be differentiated from a null value, due to a
Paraver limitation.
2024-06-20 11:41:09 +02:00
9da7234684
Pause one thread in mark API emu test.
...
The Paraver timeline should hide the value of the thread while it is
paused. This will require adding a tracking module with a mux.
2024-06-19 13:13:18 +02:00
6954f05dee
Update mark test to for single and stack types
2024-06-19 12:26:35 +02:00
b4d445b378
Write mark PCF types for thread PVT
2024-06-19 12:26:35 +02:00
ea79c90c89
Connect mark channels to PRV
...
There must be one channel per thread and type.
2024-06-19 12:26:35 +02:00
505245d54c
Implement emulator logic to parse mark metadata
...
The marks are parsed from the metadata definition, then merged from all
threads and a new channel for each mark type is created. The channel
type is specified using a flag when calling ovni_mark_type(), so the
channels is set to single or stack. For now, only ovni_mark_push() and
ovni_mark_pop() are implemented.
2024-06-19 12:26:35 +02:00
93ab5a5833
Add ovni_mark_* API to store custom states
...
In order to allow easy debugging of some programs and runtimes, it is
often neccessary to add extra information in the timeline views. The
modification of the emulator to accomodate those temporal events is time
consuming and requires knowlegde of the emulator internals.
To improve the situation, a new set of functions are added to libovni
which allow users to define their own views. Up to 100 types of events
can be declared, where each type can have an unlimited number ov values
with an optional label attached.
2024-06-19 12:26:35 +02:00
247ea7e7c3
Add nosv.can_breakdown attribute check
...
The nosv.can_breakdown attribute states if enough events for the
breakdown model of nOS-V are enabled at runtime. It is used to ensure
that breakdown traces have the progress events enabled along with others
required for proper visualization of traces.
The emulator will panic when the level is not enough, instead of relying
on users to always remember to enable the correct level.
2024-06-18 12:06:42 +02:00
d1e8a62396
Add API to manage metadata in streams
...
The ovni_attr_* set of functions allows users to write and read metadata
stores in the thread stream. The metadata information is available to
the emulator at the beginning of the emulation.
2024-06-13 11:09:40 +02:00
aab33ccfab
Add Nodes RT tests with breakdown enabled
2024-06-12 16:52:30 +02:00
819e83d138
Add RT breakdown tests for nOS-V
...
The nOS-V version required is now 2.3.0.
2024-06-12 16:52:30 +02:00
8c8bde4a0f
Add emulation test for breakdown zero values
2024-05-09 15:36:58 +02:00
0c64f62d01
Add Nanos6 breakdown test for runtime
2024-05-09 15:36:58 +02:00
e3bd221d01
Run nOS-V mutex and barrier tests on level 3
...
The mutex and barrier API events are only emitted on level 3 or above.
2024-03-27 12:05:59 +01:00
eb1fc0f7da
Add nosv barrier API event
2024-03-22 16:58:14 +01:00
aaa7769448
Add nosv mutex API events
2024-03-22 16:56:25 +01:00