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
3e35f3d88b
Fix memory leaks
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
4fcef1c5b6
Fix some warnings for clang and intel compilers
2021-11-16 19:20:50 +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
e05f78bb0f
Set the trace duration in the PRV header
2021-11-03 11:33:16 +01:00
d3e87c2272
Add GPLv3 and MIT licenses
2021-11-03 11:32:17 +01:00
98db4a2fe0
Remove virtual events
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
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
ac6013419b
Replace class by category to avoid C++ problems
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
cd430a35ce
Implement tracking channels in emu.c
2021-10-21 16:53:00 +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
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
af22678b07
Close PCF files on exit
2021-09-28 19:32:16 +02:00
b60c6da764
Emit sched fake events as well
2021-09-28 19:32:16 +02:00
6a3ea0907a
Enable pedantic and use C11 std
2021-09-28 19:30:31 +02:00
b9568cb052
Fix ovnisync table parsing
2021-09-28 12:22:56 +02:00
3a0541e5fa
Check malloc error
2021-09-21 19:17:58 +02:00
Kevin Sala
8b78baa587
Fixing ovni for multiple nodes (workaround)
2021-09-21 15:15:26 +02:00
e80bcdd224
Avoid TID collisions searching only in cur_proc
2021-09-21 15:15:26 +02:00
aa3607f744
Fix emu memset initialization
2021-08-10 12:38:55 +02:00
Kevin Sala
674716804a
Avoiding stack overflows
2021-08-10 10:18:21 +02:00
Kevin Sala
543dd51d8f
Fixing compilation errors
2021-08-10 10:16:41 +02:00
1da0f1a096
Generate PCF and ROW files
2021-08-03 20:47:02 +02:00
e6e976023d
Implement the clock offset correction
2021-08-03 19:56:31 +02:00
4e971bceff
Write multiple prv files and add app id view
2021-08-03 18:42:56 +02:00
60862db890
Store CPU list in a metadata.json file
...
This allows early access to the CPU list in order to emit the PRV header
before consuming events from the streams.
2021-08-03 17:48:37 +02:00
Rodrigo
4e23d7d435
WIP
2021-08-02 10:08:58 +02:00
dc2df90cc4
Load process directories using the pid
2021-07-30 21:37:25 +02:00
d7c81b3048
Add jumbo events
2021-07-30 20:08:40 +02:00
56c86718fd
Add nosv task support
2021-07-29 17:46:25 +02:00
49198afbca
Implement thread count view
2021-07-28 19:12:20 +02:00
d25bbed350
Distribute emulator into modules
2021-07-28 11:56:35 +02:00