f6a57764d4
Protect some sections agains clang-format
2022-09-29 16:51:59 +02:00
834b33af33
Use SPDX license identifiers
2022-09-29 14:16:47 +02:00
121030537d
Store the hostname until the first dot
...
The loom name "loom.xyz.123" will produce the hostname "xyz", so Nanos6 programs
can use the ovnisync tool too.
Also, sort the loom array directly, so we avoid potential problems by sorting
the loom and the hostnames individually (when there are repeated entries).
2022-09-22 11:56:48 +02:00
baff1c050b
Add preliminar support for taskfor
...
The emulator cannot handle tasks that are executed multiple times and
concurrently. The task for executes a single task (with unique id) multiple
times by using different arguments. The task model needs to be extended to
support the taskfor clause properly. In the meanwhile, we simple set the
subsystem to be running a taskfor.
2022-09-21 13:30:22 +02:00
81a391fb4b
Reorder subsystem states for better colors
2022-09-12 16:16:11 +02:00
008ba5a8ef
Add processing ready tasks support
2022-09-12 16:16:11 +02:00
6329c8c982
Add support for Nanos6 signal event
2022-09-12 16:16:11 +02:00
8e690f0e44
Add Nanos6 support for memory allocation
2022-09-12 16:16:10 +02:00
306a64999a
Add edie() and eerr() functions
...
These emit a detailed message of the state of the emulator on failure.
2022-09-12 16:16:10 +02:00
576936ef01
Add CPU idle and active events
2022-09-12 16:16:10 +02:00
982bc39490
Move thread type events to another channel
2022-09-12 16:16:10 +02:00
ac1ae8e69d
Use one event per blocking type in Nanos6
2022-09-12 16:16:10 +02:00
24f135ca95
Fix indentation
2022-09-12 16:16:10 +02:00
David Alvarez
b226afb630
Implement Nanos6 emulator model
2022-09-12 16:16:10 +02:00
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
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
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
David Alvarez
a8b1256375
Support for nested tasks
2022-04-25 12:20:33 +02:00
1aae200614
Use pointers instead of indexes in streams
2022-01-12 11:05:38 +01:00
1b1ca7e232
Add rank support in metadata
2021-12-10 18:37:14 +01:00
Antoni Navarro
4719917ba9
Change Nanos6's name to NODES
2021-12-10 14:54:34 +00:00
19c535ef02
Poison assert()
2021-12-09 16:56:24 +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
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
9bf99ad6a0
Add virtual flag to CPUs
2021-11-29 11:12:11 +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
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
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
97320eda4e
Add linter mode
2021-11-16 19:20:50 +01:00
73d9e323b9
Remove const array initialization
...
The implementation is not mandatory and clang doesn't support it.
2021-11-16 19:20:45 +01:00
Antoni Navarro
dc6713f75c
Further renames of Nanos6 labels and others
2021-11-12 16:15:33 +01:00
Antoni Navarro
c9b189feb8
Refactor emu_nanos6 into a simpler function
2021-11-12 11:53:53 +01:00
Antoni Navarro
04895a7aea
Rename Nanos6-Lite to Nanos6
2021-11-12 11:35:38 +01:00
Antoni Navarro
a9223b3886
Add Nanos6-Lite Instrumentation
2021-11-05 15:03:49 +01:00
5dc195a037
Remove nosv code in favor of the thread type
2021-11-03 11:33:14 +01:00
d3e87c2272
Add GPLv3 and MIT licenses
2021-11-03 11:32:17 +01:00
be7375a69b
Add support for sfree in nosv subsystems
2021-11-03 11:32:08 +01:00
7bd8f960f8
Implement flushing events in the emulator
2021-10-21 16:53:01 +02:00
98db4a2fe0
Remove virtual events
2021-10-21 16:53:00 +02:00
6f8b46e753
Rename channel NTHREADS by NRTHREADS
2021-10-21 16:53:00 +02:00
9d83a319b0
Remove unused cpu members and simplify comments
2021-10-21 16:53:00 +02:00