Commit Graph

297 Commits

Author SHA1 Message Date
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
31b2ef5ffe Emit the appid and type in nosv task switch
Duplicates are allowed in the PRV for the task type, appid and rank, as
we may switch to inline if0 tasks with the same values.
2023-03-24 12:08:45 +00:00
17a0d241f6 Prefix model functions to prevent clashes 2023-03-24 12:08:45 +00:00
c508929835 Export the function to get the gid from a label 2023-03-24 12:08:45 +00:00
68690b4127 Define all static PRV types in a global enum 2023-03-24 12:08:45 +00:00
55624d4c68 Remove commented code from system.h 2023-03-24 12:08:45 +00:00
8c509475f9 Fix dbg() call 2023-03-24 12:08:45 +00:00
c39e75a8d5 Always compile dbg() statements 2023-03-24 12:08:45 +00:00
53c10aab2d Reuse ARRAYLEN() from common.h 2023-03-24 12:08:45 +00:00
d432595c7d Remove commented pcf code 2023-03-24 12:08:45 +00:00
a24477629d Set PRV flags explicitly per channel
Added PRV_EMITDUP and PRV_SKIPDUP to allow the check to be skipped. By
default it will fail to emit duplicated values.
2023-03-24 12:08:45 +00:00
48cd4de92e Use active thread for nodes subsystem
There is no reason to hide the thread (in the thread timeline) when
enters in Cooling or Warming states, as it won't cause any
oversubscription problem. CPU channel is still kept to track the running
thread.
2023-03-24 12:08:45 +00:00
15e1a5a0e9 Expand last stat message with event count 2023-03-24 12:08:45 +00:00
1d9d592b63 Fix context switch channel name 2023-03-24 12:08:45 +00:00
6039bf73c7 Ignore init time for speed stats 2023-03-24 12:08:45 +00:00
e907474ea9 Avoid double copy of mcv in emu_ev 2023-03-24 12:08:45 +00:00
c55a92872b Remove unused appid cpu channel
A similar channel is used in nosv model to report the appid of the
running task.
2023-03-24 12:08:45 +00:00
038498846e Use running thread for CPU context switches 2023-03-24 12:08:45 +00:00
8bf5d8c571 Fail gracefully when a unknown stream is found 2023-03-24 12:08:45 +00:00
0eb88af4b9 Use the CPU phyid for the name only
The logical index is used to change the affinity of the threads.
2023-03-24 12:08:45 +00:00
e0adf2f4a5 Don't run linter tests when interrupted 2023-03-24 12:08:45 +00:00
c2064c125e Run all finish() methods even after failures 2023-03-24 12:08:45 +00:00
2ebae042a8 Add ovnisync and install targets 2023-03-24 12:08:45 +00:00
4f49289bf5 Use warn() for warnings 2023-03-24 12:08:45 +00:00
80eb1f3bdd Detect large flushes (>10 ms) 2023-03-24 12:08:45 +00:00
933b0f48f9 Simplify burst stats 2023-03-24 12:08:45 +00:00
7dbd5d4228 Add missing error check for cpu_add_thread() 2023-03-24 12:08:45 +00:00
1e39bea929 Force return usage in cpu functions 2023-03-24 12:08:45 +00:00
334971d2dc Finish the traces even if model_finish fails 2023-03-24 12:08:45 +00:00
7731c090ee Run a propagation phase after connect 2023-03-24 12:08:45 +00:00
55c8af6b4d Use the model functions to simplify ovni model 2023-03-24 12:08:45 +00:00
02dbf0b993 Add warn() and info() debug macros 2023-03-24 12:08:45 +00:00
2eac823014 Add missing PCF thread types 2023-03-24 12:08:45 +00:00
b1e3cf7403 Add PRV_NEXT flag to auto-increment the channel value 2023-03-24 12:08:45 +00:00
1b30d5989c Remove unneeded memset in emu_ev() 2023-03-24 12:08:45 +00:00
01153d3d2c Reuse player stream clock 2023-03-24 12:08:45 +00:00
722e32617a Only run dead thread check on complete emulation 2023-03-24 12:08:45 +00:00
a1cc8ba87c Check correct thread state at finalization
Prevents external threads from being left in Running state when they
finish, causing the virtual CPU to be always occupied with at least one
thread. This situation causes the virtual CPU to never report any
subsystem.
2023-03-24 12:08:45 +00:00
b5eb652580 Change wording for finish message 2023-03-24 12:08:45 +00:00
a49555fe46 Fail with wrong thread execute payload
Otherwise it produces a segfault.
2023-03-24 12:08:45 +00:00
7f82aa08f8 Remove duplicate ovniemu prefix in stats 2023-03-24 12:08:45 +00:00
2ae702e3e4 Remove unused cpu flush channel
This channel is now controlled by the ovni model.
2023-03-24 12:08:45 +00:00
b98ccfe3ad Use row and type as identifiers in prv_register()
Prevents multiple channels from being accidentally set to the same row
with the same type.
2023-03-24 12:08:45 +00:00
0447c52f0b Use strtol to parse the TID 2023-03-24 12:08:45 +00:00
2f3dcbed1f Return error on enforce_task_rules for nanos6 2023-03-24 12:08:45 +00:00