Commit Graph

38 Commits

Author SHA1 Message Date
834b33af33 Use SPDX license identifiers 2022-09-29 14:16:47 +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
04edd9be2e Rework blocking wait for subsystem 2022-09-14 13:21:06 +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
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
4d6e5b58ea Reorder Nanos6 subsystems 2022-09-12 16:16:10 +02:00
David Alvarez
b226afb630 Implement Nanos6 emulator model 2022-09-12 16:16:10 +02:00
eb060cffb9 Remove trailing whitespace 2022-06-17 16:30:20 +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
c22457d7d3 Add dynamic PCF types and values 2022-06-01 17:17:13 +02:00
Antoni Navarro
4719917ba9 Change Nanos6's name to NODES 2021-12-10 14:54:34 +00: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
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
6f8b46e753 Rename channel NTHREADS by NRTHREADS 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
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
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
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
1d4796521b Add cooling and warming states 2021-10-21 16:53:00 +02:00
d6afd5c528 Use a table to convert channel ids to PRV types 2021-10-21 16:39:36 +02:00
28fa152169 Add preliminar nosv CPU subsystem support 2021-10-21 16:05:01 +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
31e3f1218f Add nos-v scheduler subsystem events 2021-09-28 19:32:16 +02:00
1da0f1a096 Generate PCF and ROW files 2021-08-03 20:47:02 +02:00