Commit Graph

341 Commits

Author SHA1 Message Date
b16c30a5e6 Add Absorbing state to the idle view in Nanos6 2023-04-14 13:39:37 +00:00
6cafd347ce Add support for sponge subsystem state in Nanos6 2023-04-14 13:39:37 +00:00
171e439bd4 Allow builds without MPI with -DUSE_MPI=OFF 2023-04-14 11:27:30 +00:00
6eead7e28e Warn if some looms don't have the rank
Fallback to sorting by loom name instead.
2023-04-14 12:13:49 +02:00
bfff1a815e Don't set rank_min multiple times 2023-04-14 12:01:47 +02:00
9568d4f379 Inform the user of the sorting method selected 2023-04-14 08:35:21 +00:00
676e30b4ca Order looms and processes by rank if given 2023-04-14 08:35:21 +00:00
80b8b209fa Skip repeated hostnames in ovnisync 2023-04-06 17:52:28 +02:00
9e105413fd Replace brk with breakdown 2023-04-06 17:38:37 +02:00
602daabe23 Fix copyright years 2023-04-06 15:33:15 +00:00
7aa3434e79 Remove ENABLE_DEBUG comments 2023-04-06 15:33:15 +00:00
29a7011141 Consider the -b option experimental 2023-04-06 15:33:15 +00:00
999a79b074 Run Nanos6 connect hook at init for breakdown 2023-04-06 15:33:15 +00:00
1c82470bfc Remove initial subsystem by default 2023-04-06 15:33:15 +00:00
b17ff6d166 Add unknown subsystem state for Nanos6 2023-04-06 15:33:15 +00:00
1582a60522 Set tr mux output to unknown subsystem on NULL 2023-04-06 15:33:15 +00:00
a827113c2a Increasing breakdown row padding to match CPU 2023-04-06 15:33:15 +00:00
881e556e06 Fix pcf_sdd_value() return check 2023-04-06 15:33:15 +00:00
cc09920c80 Remove unused i variable in emu/nanos6/breakdown.c 2023-04-06 15:33:15 +00:00
6711afdb58 Fix include headers following IWYU 2023-04-06 15:33:15 +00:00
5b64737ad9 Fix pcf_labels type 2023-04-06 15:33:15 +00:00
30f68ea5df Add missing headers 2023-04-06 15:33:15 +00:00
467cc9aa7e Fix value_str() usage 2023-04-06 15:33:15 +00:00
e287087d3b Use delta per stream in ovnidump 2023-04-06 15:33:15 +00:00
35de33e0f9 Add support for Nanos6 progress events 2023-04-06 15:33:15 +00:00
0134ceee9d Write .pcf and .row files for the breakdown 2023-04-06 15:33:15 +00:00
e838d687f0 Add missing Busy label 2023-04-06 15:33:15 +00:00
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
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
d86d5fec5f Fix overflow error for value_nextbuf 2023-03-24 12:08:45 +00:00
7f63d1e048 Remove unused thread_select_any() function 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
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
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
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
9a4a4a0005 Remove bay_remove() 2023-03-24 12:08:45 +00:00
5a03fd49e9 Remove function prefix from err() 2023-03-24 12:08:45 +00:00
9cb752e102 Emit warning when cfg directory exists 2023-03-24 12:08:45 +00:00
2e91d29ae9 Check fwrite return value 2023-03-24 12:08:45 +00:00
9304e84262 Fix spaces in ovni/setup.c 2023-03-24 12:08:45 +00:00
2be46393e1 Merge process_ev into model_ovni_event 2023-03-24 12:08:45 +00:00
06c250500c Warn when median burst time exceeds 100 ns 2023-03-24 12:08:45 +00:00
7b0d446b02 Add payload size checks for affinity events 2023-03-24 12:08:45 +00:00
9b209fab20 Remove spaces from kernel/setup.c 2023-03-24 12:08:45 +00:00
5556c521a0 Simplify context switch logic 2023-03-24 12:08:45 +00:00
74f253b575 Ignore Nanos6 progress events 2023-03-24 12:08:45 +00:00
96cfd6247e Remove switch in prv emit 2023-03-24 12:08:45 +00:00
9de0b18db2 Merge is_dup condition 2023-03-24 12:08:45 +00:00
38ebc3afce Protect return value with USE_RET 2023-03-24 12:08:45 +00:00
9572d79f72 Remove PRV_SKIPNULL flag 2023-03-24 12:08:45 +00:00
4a2a9ec685 Replace uses of die() with err() + return 2023-03-24 12:08:45 +00:00
0bdfea309a Simplify pcf_labels type 2023-03-24 12:08:45 +00:00
eaafd916be Fix wrong malloc error message 2023-03-24 12:08:45 +00:00
6deef0308a Fix underflow in path_remove_trailing() 2023-03-24 12:08:45 +00:00
8da0342760 Set thread and CPU channels to ignore duplicates
Some of the PRV channels no longer need to skip duplicates.
2023-03-24 12:08:45 +00:00
e625897766 Add CHAN_IGNORE_DUP to ignore duplicates 2023-03-24 12:08:45 +00:00
ab3e823134 Rename CHAN_DUPLICATES to CHAN_ALLOW_DUP 2023-03-24 12:08:45 +00:00
7fba5cbdcc Use a common variable to define the loom prefix 2023-03-24 12:08:45 +00:00
411ea962ff Don't assume chan value is int64 in chan_pop() 2023-03-24 12:08:45 +00:00
f61711047c Remove buffer argument from value_str()
Use a ring of buffers instead, so we can printf() up to 16 values in
the same call.
2023-03-24 12:08:45 +00:00
36bf4250f3 Remove die() usage from track.c 2023-03-24 12:08:45 +00:00
f957461c92 Fix emit comment in bay.c 2023-03-24 12:08:45 +00:00
6c7b64f7f2 Use memcmp() in value_is_equal() 2023-03-24 12:08:45 +00:00
2442d5decb Use 64 bit for type member in struct value
Now all the members are aligned to 64 bits, and there is no need to pack
the structure.
2023-03-24 12:08:45 +00:00
82f1cc287d Update copyright years to 2021-2023 2023-03-24 12:08:45 +00:00
6f31af0612 Remove ovni prefix from pcf.h guards 2023-03-24 12:08:45 +00:00
dc2a016c6b Add missing checks of return value 2023-03-24 12:08:45 +00:00
a0a70b1ffc Ensure the return value is used 2023-03-24 12:08:45 +00:00
30761c266b Emit the rank too when switching Nanos6 tasks
The task type and rank are allowed to emit PRV duplicates.
2023-03-24 12:08:45 +00:00