Commit Graph

66 Commits

Author SHA1 Message Date
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
d8845acb9f Merge error states together 2021-10-21 16:53:00 +02:00
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
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
Kevin Sala
52ba53ffda Gathering nOS-V API instrumentation as new subnamespace 2021-10-21 16:53:00 +02:00
8f407d6ad2 Prefix subsystem values with "NOSV_" 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
a7463723bc Adding TAMPI instrumentation 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
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
3f22afc4b3 Handle all events with CPU and thread channels 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
8d043a8350 Keep a global list of threads and CPUs 2021-10-21 16:34:04 +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
28fa152169 Add preliminar nosv CPU subsystem support 2021-10-21 16:05:01 +02:00
abdbd8d64c Add virtual events 2021-09-28 19:32:16 +02:00
2bd589ee9e Prefix error messages with "error: " 2021-09-28 19:32:16 +02:00
c846e03899 Add allocation subsystem 2021-09-28 19:32:16 +02:00
31e3f1218f Add nos-v scheduler subsystem events 2021-09-28 19:32:16 +02:00
Kevin Sala
8b78baa587 Fixing ovni for multiple nodes (workaround) 2021-09-21 15:15:26 +02:00