Commit Graph

1102 Commits

Author SHA1 Message Date
Alexey Rybalchenko
1ac30b51b1 fix(pmix): compiler warning infinite-recursion 2021-09-24 13:36:58 +02:00
Alexey Rybalchenko
2934016586 fix(pmix): ler warning string-plus-int 2021-09-24 13:36:58 +02:00
Alexey Rybalchenko
e484bf4578 Shm: Fix SetUsedSize() 2021-09-20 13:29:28 +02:00
Dennis Klein
b442483dc3 fix: Deprecate static string helper 2021-09-09 18:01:55 +02:00
Dennis Klein
727a709aff fix: -Winfinite-recursion 2021-09-09 18:01:55 +02:00
Alexey Rybalchenko
bce380d871 Implement shmem msg zero-copy 2021-09-07 20:53:16 +02:00
Alexey Rybalchenko
815b2f1d76 shm: reimplement alignment 2021-09-07 20:53:16 +02:00
Dennis Klein
4e8f247a0d fix: First round of using new non-namespaced typenames 2021-09-07 20:53:16 +02:00
Dennis Klein
24fbf94946 build: Use fairmq-tidy on our own codebase when RUN_FAIRMQ_TIDY=ON 2021-09-07 20:53:16 +02:00
Dennis Klein
dff2b4b7d1 feat(tidy): Add new FairMQTidy.cmake module 2021-09-07 20:53:16 +02:00
Dennis Klein
9cbaf7e0fd feat(tools): Move the error code to the Tools target 2021-09-07 20:53:16 +02:00
Dennis Klein
db727092c5 feat(tidy): Add new fairmq-tidy tool 2021-09-07 20:53:16 +02:00
Dennis Klein
8e6c50e7cc refactor: Prepare deprecation of non-namespaced types and headers 2021-09-07 20:53:16 +02:00
Alexey Rybalchenko
db0500fb2d Protect access to options container 2021-07-30 16:07:47 +02:00
Dennis Klein
479d6e0712 feat: Add <fairmq/FwdDecls.h> 2021-07-16 18:47:55 +02:00
Dennis Klein
8859c563ac build: Pick shared flatbuffers lib first
relates alisw/alidist#3165
2021-07-16 18:03:47 +02:00
Dennis Klein
e3d3be888f feat: Add new function GetEnabledTransports()
* Also clang-format
2021-07-16 12:31:17 +02:00
Dennis Klein
0c4921d650 feat: Drop public bundled dependency to asio 2021-07-16 12:31:17 +02:00
Dennis Klein
1007de8e49 feat(ofi): Require asiofi 0.5
* Modernize some ofi transport code along the way
  * Replace Boost.Container with `<memory_resource>`
  * Introduce namespaced headers
    * `<fairmq/Channel.h>`
    * `<fairmq/Message.h>`
    * `<fairmq/Poller.h>`
    * `<fairmq/Socket.h>`
    * `<fairmq/TransportFactory.h>`
    * `<fairmq/UnmanagedRegion.h>`
* Compile-firewall Boost.Process in `shmem::Manager` because it conflicts
with standalone asio
2021-07-16 12:31:17 +02:00
Dennis Klein
9585c20b7f feat: Drop public dependency to Boost.Asio and use standalone asio 2021-07-16 12:31:17 +02:00
Alexey Rybalchenko
03ba9eb558 Add --shm-zero-segment-on-creation option 2021-07-16 09:40:17 +02:00
David Rohr
a6193a380d Add --shm-mlock-segment-on-creation option 2021-07-16 09:40:17 +02:00
Dennis Klein
e2452fa7e4 fix(plugins): Avoid double device control releases
This was not really broken, but it generated a debug log message
containing the keyword 'error' consistently, which is convoluting any
debugging session.

This commit also adds some trace log message on plugin device control
API calls.
2021-07-07 14:43:32 +02:00
Dennis Klein
1df338b262 feat: Require DDS 3.5.13.7 2021-07-07 14:43:32 +02:00
Dennis Klein
81b1ba1f20 fix(sdk): Avoid narrowing conversion 2021-07-07 14:43:32 +02:00
Dennis Klein
e2de214a19 fix(sdk): Silence boost warnings 2021-07-07 14:43:32 +02:00
Dennis Klein
09d2574105 feat(sdk): Remove unused fairmq executable 2021-07-07 14:43:32 +02:00
Dennis Klein
8533a44418 test: Adjust test signal timer
With shorter timing the tests were failing sometimes.
2021-07-07 14:43:32 +02:00
Dennis Klein
42606f9f17 build: Add missing compile feature 2021-07-07 14:43:32 +02:00
Dennis Klein
8bf9e1d0a6 build: Do not hardcode include dirs 2021-07-07 14:43:32 +02:00
Alexey Rybalchenko
c5e40fd180 shmmonitor: handle missing segmentInfos 2021-07-02 01:40:57 +02:00
Alexey Rybalchenko
ac3293fcc6 Fix heap-use-after-free 2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
4fdf9d340b Fix stack-use-after-scope 2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
5c9ba5e5b4 shm: avoid meta data copy on recv and fix its alignment 2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
4dbb5535c3 Add empty msg check for transport compatibility checker 2021-06-24 14:11:43 +02:00
Alexey Rybalchenko
a8bdb91165 shm: throw TransportError if could not lock region 2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
37c059177f shm: improve exception handling 2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
28a887a457 shm: optimize monitor heartbeats 2021-06-15 11:54:29 +02:00
Alexey Rybalchenko
3c4158addb Remove useless code 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
882edbbdb8 Apply modernize-pass-by-value 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
c847a7ca02 Apply readability-container-size-empty 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
f25cca2073 Apply clang-analyzer-deadcode.DeadStores 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
6aeac265ec Apply modernize-use-equals-default 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
9444de5868 Apply readability-redundant-member-init 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
acf63d3c1b Apply modernize-use-default-member-init 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
e1b229522c Apply modernize-deprecated-headers 2021-05-28 13:14:51 +02:00
Alexey Rybalchenko
ccbd622130 Apply cppcoreguidelines-init-variables 2021-05-28 13:14:51 +02:00
Christian Tacke
7616b0b0aa CMake: Set CXX language level via target_compile_features()
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18446
See: https://cmake.org/cmake/help/latest/manual/cmake-compile-features.7.html#requiring-language-standards
2021-05-28 10:38:14 +02:00
Dennis Klein
ed78ccd29c CMake: Remove cotire dependency
CMake now has native unity build support:
https://cmake.org/cmake/help/latest/variable/CMAKE_UNITY_BUILD.html
2021-05-28 10:38:14 +02:00
Dennis Klein
d15bc17b12 extern/asio: Bump and require v1.18.1 2021-05-28 10:38:14 +02:00
Dennis Klein
ce0a052252 SDK: Add missing header <thread> 2021-05-28 10:38:14 +02:00
Alexey Rybalchenko
9bf908fb52 shm: revert some changes from c85d6e0 that introduced a race 2021-05-20 00:40:58 +02:00
Alexey Rybalchenko
021c1b1c4d shm: add monitor method to retrieve free segment memory 2021-05-18 14:05:12 +02:00
Alexey Rybalchenko
a7dbeadd1c runDevice: remove const from getDevice parameter 2021-05-13 23:00:35 +02:00
Alexey Rybalchenko
e6f67b3658 Fix Ofi interface 2021-05-07 21:59:52 +02:00
Alexey Rybalchenko
091d0824d1 ofi: fix Events() signature 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
857aa84fa3 add mlock/zero options to unmanaged region 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
c85d6e079c shm: reduce shm contention when dealing with ack queues 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
8b4056e408 Update docs 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
b67b80e0ad shmmonitor: add severity setting 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
2c89b24857 shm: eliminate race/deadlock in region subscriptions 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
c6a6a5f21b Check transport type of msg and corresponding region 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
9defa71622 Add GetType() to UnmanagedRegion 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
ed2dcedf03 Add operator<< for fair::mq::Transport 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
8a2641d842 shm: check result of region acquisition 2021-05-07 21:33:15 +02:00
Alexey Rybalchenko
2ca62d06db shm region cache: fix multiple sessions issue 2021-05-07 14:20:00 +02:00
Gvozden Neskovic
ef5b3c782e improve message counter cache line use 2021-05-07 14:20:00 +02:00
Gvozden Neskovic
f7ba3052aa use thread local cache to avoid interprocess lock on shm GetData 2021-05-07 14:20:00 +02:00
Dennis Klein
a90dbf64de Fix -Wunused-result
Fixes #281
2021-05-07 13:18:12 +02:00
Dennis Klein
057ba03776 PluginManager: Do not load built-in plugins via dlopen/dlsym
fixes #351
2021-05-05 03:52:12 +02:00
Giulio Eulisse
6dfea32aee Improve Events API
If the call is interrupted by a signal, this will throw, which we clearly do not want. Simplifying the API to let the user decide what to do on error is probably the best option.
2021-05-04 22:54:19 +02:00
Dennis Klein
ea9aede652 Fallback to <boost/filesystem> on GCC 7 2021-04-08 16:22:47 +02:00
Alexey Rybalchenko
77bf12c8e8 docs patch 2021-04-08 12:38:18 +02:00
Alexey Rybalchenko
f3bc9e05a8 shmmonitor: update docs 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
5facc441b8 shmmonitor: add --list-all 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
2602f53585 Add tools: StrStartsWith, StrEndsWith 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
0976465338 shm: reduce delay between monitor daemon launch & HBs 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
9144258b89 shmmonitor: daemon output to file if FAIRMQ_SHMMONITOR_VERBOSE is true 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
be55565617 shmmonitor: use fairlogger 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
d7e2fbecea shmmonitor: refactor to separate monitoring from output 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
72175e5757 shmmonitor: optimize startup to avoid repeated start 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
effba534f0 shmmonitor: add session name and creator id to the output 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
efd42075a9 shmmonitor: enable read only access 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
5228407932 shmmonitor: distinguish daemon from monitor mode (orthogonal) 2021-04-08 10:11:23 +02:00
Alexey Rybalchenko
30e81d58f8 shmmonitor: allow getting shmids based on session/userid 2021-04-08 10:11:23 +02:00
Dennis Klein
fc49687879 builtin devices: Reorganize 2021-03-26 10:06:10 +01:00
Dennis Klein
66a4df0667 fairmq-uuid-gen: Move to tools directory 2021-03-26 10:06:10 +01:00
Dennis Klein
978191fa6c Introduce <fairmq/runDevice.h> 2021-03-26 10:06:10 +01:00
Dennis Klein
cef6d0afcd Introduce <fairmq/Device.h> 2021-03-26 10:06:10 +01:00
Dennis Klein
47ec550792 control plugin: Move to subdirectory for consistency 2021-03-26 10:06:10 +01:00
Dennis Klein
107248be0a Reorganize includes for consistency 2021-03-26 10:06:10 +01:00
Dennis Klein
4b6cf8b181 Fix aggregate initialization issue before C++20
Use value initialization to prevent

error: temporary of type ... has protected destructor

see https://stackoverflow.com/a/56745475
2021-03-26 10:06:10 +01:00
Alexey Rybalchenko
bffe74c5cf shm: handle shrink failure gracefully 2021-03-23 13:00:35 +01:00
Alexey Rybalchenko
62438bd99e shm: Improve error message when segment cannot be opened 2021-03-18 09:02:08 +01:00
Alexey Rybalchenko
c8ad684b18 Add --shm-no-cleanup option
When true, device will skip the segment cleanup even when it is the last
segment user
2021-03-18 09:02:08 +01:00
Alexey Rybalchenko
a5ec83208d Update docs 2021-03-11 12:14:00 +01:00
Alexey Rybalchenko
fc2241ece7 Fix incorrect channel index passed to OnData callback 2021-03-11 12:14:00 +01:00
Alexey Rybalchenko
1f26883b75 Formatting 2021-03-11 12:14:00 +01:00
Alexey Rybalchenko
edbdc57332 shm: make shmId also available as uint64_t 2021-03-11 12:14:00 +01:00
Alexey Rybalchenko
0fd2fcadc2 shm: Make sure no event notifications are missed 2021-03-11 12:14:00 +01:00