Commit Graph

747 Commits

Author SHA1 Message Date
a90768c1d4 Add partial support for the breakdown model
For now only Runtime and Task breakdown trees are implemented. The Idle
state is not decomposed.
2023-04-06 15:33:15 +00:00
6b8099b6af Make the emulator extensible 2023-04-06 15:33:15 +00:00
35872354e0 Speedup the sort module
Improvements:

- Don't propagate values if they didn't change
- Use custom sort algorithm to speedup the sorting
- Allocate a contiguous array of channel outputs
2023-04-06 15:33:15 +00:00
1909d8106c Allow the select channel as input in a mux
Required to implement the tr channel in the breakdown model. See
https://pm.bsc.es/gitlab/rarias/ovni/-/issues/101
2023-04-06 15:33:15 +00:00
c624374cc8 Allow mux to specify the default value
Will be written to the output when the selection function returns NULL
as the selected input.
2023-04-06 15:33:15 +00:00
920866d8af Print remaining time with 0.1 second precision 2023-04-06 15:33:15 +00:00
4b053b9a38 Clear average line and increase elapsed precision 2023-04-06 15:33:15 +00:00
4f440c5104 Add some debug messages 2023-04-06 15:33:15 +00:00
f3bcdeccd1 Move chan_read() to a inline function in chan.h 2023-04-06 15:33:15 +00:00
43fa556fa9 Enable debug messages with -d
Allows the user to easily enable debug messages, which are the only way
to debug problems with channels.
2023-04-06 15:33:15 +00:00
31f24a2a55 Add breakdown option 2023-04-06 15:33:15 +00:00
029e185c6c Reserve first 1000 values for states
The task type hash starts at 1000, so we don't collide with states.
2023-04-06 15:33:15 +00:00
70b29b6459 Add sort channel module
Sorts the N input values and writes them in the N outputs in order.
2023-04-06 15:33:15 +00:00
a4ce0e2a1e Add Idle view in Nanos6 2023-04-06 15:33:15 +00:00
f848ddb37f Increase the flush overhead limit to 2 ms
The current CI disk is slower doing the flushes.
2023-04-05 15:35:37 +02:00
54527b0006 Fix shebang in regex match test scripts 2023-04-05 15:18:03 +02:00
5c5f9f0f1a Use int64_t to represent the offset
Using size_t causes undefined behavior when the number is negative.
2023-04-05 12:47:36 +02:00
34a823f36d Fix ovnisort check operation
The stream_step() function will return 1 when reaching the end of the
stream, making the check return non-zero in each stream, even if all the
events have a monotonically increasing clock.
2023-03-24 12:08:45 +00:00
3d8e2000fd Don't use err() for non-error messages 2023-03-24 12:08:45 +00:00
f35741bac7 Allow setting the lock back limit in ovnisort 2023-03-24 12:08:45 +00:00
a04fc71ae9 Increase libovni version in CMakeLists.txt too 2023-03-24 12:08:45 +00:00
7827ef58e1 Fix minor version check 2023-03-24 12:08:45 +00:00
9657de2004 Increase libovni version to 1.1.0 2023-03-24 12:08:45 +00:00
d86d5fec5f Fix overflow error for value_nextbuf 2023-03-24 12:08:45 +00:00
d8a9f33075 Add .obs suffix in doc of thread streams 2023-03-24 12:08:45 +00:00
7f63d1e048 Remove unused thread_select_any() function 2023-03-24 12:08:45 +00:00
757a8e9f39 Run one process of ovnisync per node 2023-03-24 12:08:45 +00:00
0041738578 Add optimization comment in stream_cmp 2023-03-24 12:08:45 +00:00
266b1638d4 Count the number of physical CPUs too 2023-03-24 12:08:45 +00:00
2c09e40c44 Use info() for information messages
Prefix err() messages with "ERROR:" too.
2023-03-24 12:08:45 +00:00
76efd7c216 Add FIXME notice in mux select chan_dirty() 2023-03-24 12:08:45 +00:00
080d1df3e1 Remove _DEFAULT_SOURCE from tests 2023-03-24 12:08:45 +00:00
5b240ce372 Wrap include-what-you-use for nix 2023-03-24 12:08:45 +00:00
d20483ed13 Fix compat.c headers 2023-03-24 12:08:45 +00:00
848a1de963 Constraint _GNU_SOURCE in compat.c only 2023-03-24 12:08:45 +00:00
1e822c248e Remove duplicated _POSIX_C_SOURCE define 2023-03-24 12:08:45 +00:00
09e7de548d Add include-what-you-use to ovni derivation 2023-03-24 12:08:45 +00:00
ddbb7dd9f4 Add include-what-you-use
Adds forwards declarations in headers and includes all headers in
sources, even if they are found by transitive includes.
2023-03-24 12:08:45 +00:00
e471df9c1a Add ovniemu version 2023-03-24 12:08:45 +00:00
740d8b0d4b Only allow one rank per host in ovnisync 2023-03-24 12:08:45 +00:00
f22d9084ba Ensure all looms have at least one CPU 2023-03-24 12:08:45 +00:00
3d957f444c Only ignore clock table on ENOENT 2023-03-24 12:08:45 +00:00
81875450a8 Add unit tests for PRV_SKIPDUP and PRV_EMITDUP 2023-03-24 12:08:45 +00:00
c0afc79d4e Use OK() and ERR() in unit tests
Also remove prefixes and trailing new lines in err() and die()
2023-03-24 12:08:45 +00:00
648411c686 Remove trailing new line in err() and die() 2023-03-24 12:08:45 +00:00
3f44be9f2f Include path.h for loom.c 2023-03-24 12:08:45 +00:00
91957b4ed6 Remove commented code in loom.c 2023-03-24 12:08:45 +00:00
9a0d0df33d Use path_has_prefix in loom.c 2023-03-24 12:08:45 +00:00
7772541f7d Remove commented code in emu_stat.c 2023-03-24 12:08:45 +00:00
ad88e25278 Remove track mode argument from cpu_get_th_chan() 2023-03-24 12:08:45 +00:00