Commit Graph

37 Commits

Author SHA1 Message Date
177429fabc Follow K&R coding style using clang-format 2022-09-29 16:52:28 +02:00
834b33af33 Use SPDX license identifiers 2022-09-29 14:16:47 +02:00
f990cd668f Switch to edie() for errors 2022-09-13 14:22:44 +02:00
a1378bbab5 Allow threads to die from cooling state 2022-09-12 16:16:11 +02:00
75c32f3a99 Transform all aserts into unconditional checks 2021-12-09 16:08:36 +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
9944b391ae Mark as dirty all CPU channels 2021-11-17 12:11:13 +01:00
4fcef1c5b6 Fix some warnings for clang and intel compilers 2021-11-16 19:20:50 +01:00
d3e87c2272 Add GPLv3 and MIT licenses 2021-11-03 11:32:17 +01:00
3c913dd26b Implement extended init for CPU channels 2021-10-21 16:53:01 +02:00
7bd8f960f8 Implement flushing events in the emulator 2021-10-21 16:53:01 +02:00
2f565450ea Clean commented code in emu_ovni.c 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
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
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
3f22afc4b3 Handle all events with CPU and thread channels 2021-10-21 16:53:00 +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
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
a7c03179db Allow a remote affinity event in a running thread 2021-08-10 12:46:45 +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
763bcf7c33 Store cpus in each loom 2021-08-02 21:13:25 +02:00
9c0866cfd9 Use always the logical cpu index 2021-08-02 18:15:59 +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