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