4b4f1bd218
Don't modify nOS-V subsystem state on task pause
...
In nOS-V, when a task was paused via the VTp event, two things were
happening: 1) the task state was set to pause and 2) the subsystem state
"Task: Running" was being popped.
This causes a problem when a task calls nosv_submit() in blocking mode,
as it will call nosv_pause() which will emit a VTp event from a
subsystem different than "Task: Running".
To solve this conflict, we handle the subsystems state and the task
state separately with the VTp and VTr events. The subsystem state "Task:
Running" no longer is connected to the state of the task and only shows
if we entered the body of the task or not. It has now been renamed to
"Task: In body".
The new state "Task: In body" represents that the task body has begun
the execution and is still in the stack, but the task may be paused. The
subsystem is not changed by the VTp (pause) or VTr (resume) events.
Fixes: https://pm.bsc.es/gitlab/rarias/ovni/-/issues/128
2023-10-23 11:26:17 +02:00
0df018cf5f
Fix segfault reading empty streams
...
The check_clock_gate() was trying to access to the first event in all
streams. However, streams that are empty don't have any event, so they
cause a NULL dereference. Skipping not active streams avoids the
problem.
2023-10-23 10:07:44 +02:00
Kevin Sala
7b4ebca002
Add OVNI_TRACEDIR envar to change trace directory
...
This commit introduces the OVNI_TRACEDIR environment variable to change
the directory where traces are generated. By default, when the envar is
not defined, the trace is still generated in the ovni directory. The
envar can take a trace directory name, a relative path to the directory,
or its absolute path. In the first case, the directory is created in the
current path $PWD.
Both libovni (rt) and ovnisync read this environment variable.
2023-10-23 07:49:28 +00:00
Kevin Sala
24252ebbb3
Use common's progname functions in ovnisync
...
This commit adds the progname_get function in common.h header and
extends the ovnisync tool to use them
2023-10-23 07:49:28 +00:00
Kevin Sala
9a628e78ca
Add MPI model with interface view
2023-09-06 18:11:18 +02:00
Kevin Sala
276afd5479
Add TAMPI model with subsystems view
2023-08-22 18:13:29 +02:00
Kevin Sala
9269dd7202
Add nosv create and destroy API subsystem states
2023-08-17 13:23:59 +02:00
a3ffb2443a
Report the commit too with ovniver
2023-07-26 17:13:28 +02:00
bf8a2213c1
Add the ovniver program to report the version
2023-07-26 16:31:56 +02:00
97c936d41f
Add ovni_version_get() function
...
Allows the reding the version of the libovni.so currently loaded.
2023-07-26 16:31:30 +02:00
f08595b3a7
Report open error for missing trace directory
2023-07-26 13:51:35 +02:00
f8c6b7c7c0
Improve the version error message
...
Use the terminology want/got to determine which version the user is
requested and the version the library provides.
2023-07-25 19:55:51 +02:00
48df02f102
Always use the project version
...
Don't duplicated versions so we avoid the problem of missing one
instance to be updated.
2023-07-07 10:42:40 +02:00
ee9111a1ec
Move ovni.pc.in into src/
2023-07-05 13:13:53 +02:00
4abd92e139
Make ovni.h a public header of ovni target
2023-07-05 13:11:18 +02:00
cd2e844066
Use the installation directories provided by cmake
...
Some systems will define the library path as lib64. Also update other
install commands to use the values discovered by the GNUInstallDirs
module.
2023-07-05 12:52:56 +02:00
5a9086e6d1
Fix ovnisort with flush events
...
Sort the events in the sorting region before injecting them back in the
stream. This solves the problem with flush events OF[ and OF].
2023-06-29 13:25:15 +02:00
05979df34d
Install ovnitop.1 into man1 subdirectory
2023-06-02 17:12:17 +02:00
d9b82494d0
Free the table at the end in ovnitop
2023-06-01 18:38:26 +02:00
c1b0768e7d
Add ovnitop(1) manual page
2023-05-31 17:23:25 +00:00
553d0a1c62
Add ovnitop command
2023-05-31 17:23:25 +00:00
44d120d7a8
Version 1.2.0
2023-05-01 09:19:05 +02:00
c2b6bfd3a8
Set the size of the channel property arrays
...
Arrays which don't initialize the last elements of the enumeration are
shorter and will cause a buffer overflow when read in a loop.
2023-04-24 12:37:20 +02:00
a8944b3763
Fix buffer overflow in sort_replace()
...
The access to the array was done before the out of bound check.
2023-04-24 11:47:46 +02:00
49f915fda5
Add FIXME notice for taskiter support
...
Set the task->thread to NULL if we re-execute a task from the Dead
state, so it follows the behavior of a Created task.
2023-04-17 15:58:19 +00:00
David Alvarez
26d01d18eb
Support taskiter by allowing tasks to re-launch
2023-04-17 15:58:19 +00:00
1ec6f799f1
Add missing label for sponge state
2023-04-14 13:39:37 +00:00
b16c30a5e6
Add Absorbing state to the idle view in Nanos6
2023-04-14 13:39:37 +00:00
6cafd347ce
Add support for sponge subsystem state in Nanos6
2023-04-14 13:39:37 +00:00
171e439bd4
Allow builds without MPI with -DUSE_MPI=OFF
2023-04-14 11:27:30 +00:00
6eead7e28e
Warn if some looms don't have the rank
...
Fallback to sorting by loom name instead.
2023-04-14 12:13:49 +02:00
bfff1a815e
Don't set rank_min multiple times
2023-04-14 12:01:47 +02:00
9568d4f379
Inform the user of the sorting method selected
2023-04-14 08:35:21 +00:00
676e30b4ca
Order looms and processes by rank if given
2023-04-14 08:35:21 +00:00
80b8b209fa
Skip repeated hostnames in ovnisync
2023-04-06 17:52:28 +02:00
9e105413fd
Replace brk with breakdown
2023-04-06 17:38:37 +02:00
602daabe23
Fix copyright years
2023-04-06 15:33:15 +00:00
7aa3434e79
Remove ENABLE_DEBUG comments
2023-04-06 15:33:15 +00:00
29a7011141
Consider the -b option experimental
2023-04-06 15:33:15 +00:00
999a79b074
Run Nanos6 connect hook at init for breakdown
2023-04-06 15:33:15 +00:00
1c82470bfc
Remove initial subsystem by default
2023-04-06 15:33:15 +00:00
b17ff6d166
Add unknown subsystem state for Nanos6
2023-04-06 15:33:15 +00:00
1582a60522
Set tr mux output to unknown subsystem on NULL
2023-04-06 15:33:15 +00:00
a827113c2a
Increasing breakdown row padding to match CPU
2023-04-06 15:33:15 +00:00
881e556e06
Fix pcf_sdd_value() return check
2023-04-06 15:33:15 +00:00
cc09920c80
Remove unused i variable in emu/nanos6/breakdown.c
2023-04-06 15:33:15 +00:00
6711afdb58
Fix include headers following IWYU
2023-04-06 15:33:15 +00:00
5b64737ad9
Fix pcf_labels type
2023-04-06 15:33:15 +00:00
30f68ea5df
Add missing headers
2023-04-06 15:33:15 +00:00
467cc9aa7e
Fix value_str() usage
2023-04-06 15:33:15 +00:00