Commit Graph

341 Commits

Author SHA1 Message Date
5a940540d3 Use priority queue for streams and fast channels
A priority queue (in heap.h) is used to keep the next event ready in the
emulator loop. Additionally, a list of dirty channels is keept to
limit the complexity of the propagation and emit phases.
2021-10-21 16:53:00 +02:00
c2f7085e11 Fix prototypes and unused variables 2021-10-21 16:53:00 +02:00
55ae07403c Enable more strict warnings 2021-10-21 16:53:00 +02:00
2fbe95b4f7 Emit the PRV event via debug as well 2021-10-21 16:53:00 +02:00
b9f9ae1a59 Set the loom in the CPU 2021-10-21 16:53:00 +02:00
151f5a2b77 Set the loom in the process 2021-10-21 16:53:00 +02:00
8790ef5da9 Add utlist.h for double linked lists 2021-10-21 16:53:00 +02:00
Kevin Sala
e3b5ebce9a Updating documentation of nOS-V and TAMPI 2021-10-21 16:53:00 +02:00
Kevin Sala
52ba53ffda Gathering nOS-V API instrumentation as new subnamespace 2021-10-21 16:53:00 +02:00
50990b6ac9 Document emulator events 2021-10-21 16:53:00 +02:00
8f407d6ad2 Prefix subsystem values with "NOSV_" 2021-10-21 16:53:00 +02:00
351419a04d Simplify nosv subsystem enter-exit functions 2021-10-21 16:53:00 +02:00
78656ce83a Remove unused nosv ss 2021-10-21 16:53:00 +02:00
8ff3359c34 Add experimental OpenMP support 2021-10-21 16:53:00 +02:00
Kevin Sala
bb035e5f80 Fixing TAMPI's Paraver configuration file 2021-10-21 16:53:00 +02:00
Kevin Sala
a7463723bc Adding TAMPI instrumentation 2021-10-21 16:53:00 +02:00
Kevin Sala
162245e955 Reorder trace looms by hostname (workaround) 2021-10-21 16:53:00 +02:00
Kevin Sala
d2a349e895 Fixing scheduling events' identifiers 2021-10-21 16:53:00 +02:00
Kevin Sala
7def854b8b Adding subsystem states for some nOS-V API calls
This commit includes states for the nosv_pause, nosv_yield,
and nosv_waitfor and nosv_scheduling_point API calls.
2021-10-21 16:53:00 +02:00
f1fa68e4df Allow inter-process remote affinity events
A thread can change the affinity of another thread if is running in a
different process, as long as it is in the same loom.
2021-10-21 16:53:00 +02:00
11b85f03c2 Add extern C guards in ovni.h 2021-10-21 16:53:00 +02:00
ac6013419b Replace class by category to avoid C++ problems 2021-10-21 16:53:00 +02:00
019668ac53 Use local bursts per thread 2021-10-21 16:53:00 +02:00
1d4796521b Add cooling and warming states 2021-10-21 16:53:00 +02:00
c822f70e6f Add nosv CPU subsystem config 2021-10-21 16:53:00 +02:00
3f22afc4b3 Handle all events with CPU and thread channels 2021-10-21 16:53:00 +02:00
cd430a35ce Implement tracking channels in emu.c 2021-10-21 16:53:00 +02:00
6b83789460 Add CPU channels 2021-10-21 16:53:00 +02:00
dd1567e0ec Add support for tracking modes in channels 2021-10-21 16:52:51 +02:00
d6afd5c528 Use a table to convert channel ids to PRV types 2021-10-21 16:39:36 +02:00
0f09a3a514 Write the thread PCF file 2021-10-21 16:36:07 +02:00
8d043a8350 Keep a global list of threads and CPUs 2021-10-21 16:34:04 +02:00
5f4fe7f120 Prefix emulator input events with >>> 2021-10-21 16:28:37 +02:00
fbfbb8fc0f Introduce channels 2021-10-21 16:15:29 +02:00
13e6eabf33 Move PRV event types to emu.h 2021-10-21 16:08:03 +02:00
d4246c1c24 Check snprintf return value 2021-10-21 16:05:31 +02:00
28fa152169 Add preliminar nosv CPU subsystem support 2021-10-21 16:05:01 +02:00
e8f4060370 Add raw autocpu prv emit function 2021-10-21 15:55:40 +02:00
5efcbfa626 Fix missing parameter in err() 2021-09-28 19:32:16 +02:00
abdbd8d64c Add virtual events 2021-09-28 19:32:16 +02:00
af22678b07 Close PCF files on exit 2021-09-28 19:32:16 +02:00
2bd589ee9e Prefix error messages with "error: " 2021-09-28 19:32:16 +02:00
f232b915a6 Ensure the expected state was in the stack 2021-09-28 19:32:16 +02:00
c846e03899 Add allocation subsystem 2021-09-28 19:32:16 +02:00
b60c6da764 Emit sched fake events as well 2021-09-28 19:32:16 +02:00
9b39e4d69e Add raw prv ev method to specify the time 2021-09-28 19:32:16 +02:00
31e3f1218f Add nos-v scheduler subsystem events 2021-09-28 19:32:16 +02:00
10b14a90a3 Allocate the traces in the heap 2021-09-28 19:32:16 +02:00
6a3ea0907a Enable pedantic and use C11 std 2021-09-28 19:30:31 +02:00
13b270a00b Implement verbose option in ovnisync 2021-09-28 15:19:31 +02:00