Commit Graph

855 Commits

Author SHA1 Message Date
544c67330c Allow a temporal directory to flush the buffers
The directory can be specified using the OVNI_TMPDIR environment
variable.
2022-01-12 16:57:52 +01:00
66036fe59e Add tracing documentation 2022-01-12 16:56:36 +01:00
1d3dc235dc Sync the stream with fdatasync() 2022-01-12 11:05:38 +01:00
df72ab79ac Remove verbose details from ovnisort 2022-01-12 11:05:38 +01:00
500051305c State if the trace sorted with ovnisort -c 2022-01-12 11:05:38 +01:00
26ff310287 Use pwrite() to modify the streams
Using MAP_SHARED and mmap() causes coherence problems on shared
filesystems such as GPFS.

See https://pm.bsc.es/gitlab/rarias/ovni/-/issues/28 for more
details.
2022-01-12 11:05:38 +01:00
12d35b1d46 Use a private mmap buffer for streams 2022-01-12 11:05:38 +01:00
676576f347 Simplify dump format 2022-01-12 11:05:38 +01:00
1aae200614 Use pointers instead of indexes in streams 2022-01-12 11:05:38 +01:00
568cbb2622 Free trace structures in ovnisort 2022-01-12 11:05:38 +01:00
5e39c55231 Unmap stream buffer in ovni_free_streams() 2022-01-12 11:05:38 +01:00
bb14becb75 Fix hexdump for non-printable characters 2022-01-12 11:05:38 +01:00
ba18ada0ae Only dump the first unsorted region 2022-01-12 11:05:38 +01:00
d6c558118d Sync stream buffer after sort 2022-01-12 11:05:38 +01:00
86eabb2b9d Hexdump sort window for debug 2022-01-12 11:05:38 +01:00
08b22bf6e8 Clear the sort plan 2022-01-12 11:05:38 +01:00
806e0c9198 Allow TID filter in ovnidump 2022-01-12 11:05:38 +01:00
1eb90de88b Fix out of bounds bug in ovnisort 2022-01-12 11:05:38 +01:00
363562e028 Use old cmake 3.10 command line style 2022-01-12 10:54:35 +01:00
86fb8b4717 Fix copyright years 2022-01-12 10:47:47 +01:00
add5872c9a Split glib and version check 2022-01-12 10:29:22 +01:00
39b65b1e67 Define gettid for old glibc versions 2022-01-12 10:29:13 +01:00
3dc03ee5d7 Verbose build and check phases 2022-01-11 18:56:37 +01:00
66f53665dc Enable checks in the ovni derivation 2022-01-11 18:56:37 +01:00
e435d2d004 Run the tests in serial 2022-01-11 18:56:37 +01:00
292dda835a Add gitlab CI with old glibc 2022-01-11 17:51:47 +01:00
842d60043b Add a nix shell with glibc 2.26 2022-01-11 17:51:47 +01:00
bae6e4a209 Add rank test with fake nosv tasks 2021-12-10 18:37:32 +01:00
1b1ca7e232 Add rank support in metadata 2021-12-10 18:37:14 +01:00
6c35d632f2 Add test with multiple processes 2021-12-10 18:29:38 +01:00
Antoni Navarro
4719917ba9 Change Nanos6's name to NODES 2021-12-10 14:54:34 +00:00
d6c16bdb24 Add .gitlab-ci.yml file 2021-12-10 13:14:29 +01:00
19c535ef02 Poison assert() 2021-12-09 16:56:24 +01:00
f705d707b6 Remove asserts from utlist.h 2021-12-09 16:55:42 +01:00
df968eb4d0 Remove asserts in heap.h 2021-12-09 16:50:18 +01:00
6b9e083225 Fix typo 2021-12-09 16:43:07 +01:00
24a6ce2f2c Fix error reporting in ovnisort 2021-12-09 16:42:47 +01:00
f8d989b214 Add extra checks when running a new task in nosv 2021-12-09 16:08:45 +01:00
de70a057d4 Use signed integers for CPU ids 2021-12-09 16:08:45 +01:00
75c32f3a99 Transform all aserts into unconditional checks 2021-12-09 16:08:36 +01:00
2046833700 Improve error handling in libovni
- Transform asserts into unconditional checks
- Abort as soon as an error is encountered
- Remove return errors
2021-12-09 14:18:33 +01:00
2ffd8407e0 Remove unneeded files from gitignore 2021-12-09 14:17:02 +01:00
9d32031552 Include the tests after loading MPI 2021-12-09 14:17:02 +01:00
4dc3b6116e Add UBsan build type 2021-12-09 14:17:02 +01:00
e8860a5f99 Inform of failed function in perror() 2021-12-09 14:11:57 +01:00
ca9bbf6401 Close file descriptors after mmap
Now is no longer needed to increase the limit of the maximum number of
file descriptors opened when loading large traces.
2021-12-07 14:23:52 +01:00
50081b0dc0 Allow empty unsorted regions
Additionally, the check mode (-c) ensures that a trace has been properly
sorted.
2021-12-02 10:37:53 +01:00
e1c433a1e7 Add kernel events documentation 2021-12-02 10:37:53 +01:00
ca95fb34a3 Add kernel support for context switch events
These events only show if a thread has been removed from the CPU, but
doesn't provide information about what other thread caused the context
switch. This type of information can be obtained even with strict
/proc/sys/kernel/perf_event_paranoid settings.
2021-12-02 10:37:53 +01:00
2961254838 Add a tool to sort unordered events
The region of past events must be enclosed by the OU[ and OU] events and
all the events within the region must be sorted. The sorting mechanism
looks back up to 10000 events, so it may fail if they are too far away
in the past.
2021-12-02 10:37:52 +01:00