Alexey Rybalchenko
39f9c35455
shm: include rcCountSegment free memory in the monitor output
2023-11-24 09:55:11 +01:00
Alexey Rybalchenko
7567a10513
shm: Bump the ref segment size 10x
2023-11-15 12:52:14 +01:00
Alexey Rybalchenko
424e22b41a
shm: Throw RefCountBadAlloc if insufficient space in the ref count segment
2023-11-15 12:52:14 +01:00
Alexey Rybalchenko
fbb6577625
StateMachine: Guard access to subscription containers
2023-11-10 13:13:13 +01:00
Giulio Eulisse
b40db42196
Use std::move rather than just move
...
Apparently:
"warning: unqualified call to 'std::move' [-Wunqualified-std-cast-call]"
is default in new XCode.
2023-10-23 08:00:23 +02:00
Giulio Eulisse
f732b87def
Drop unused variable
...
The else clause at the end makes the postincrement impossible.
2023-10-23 08:00:23 +02:00
Alexey Rybalchenko
f05a09da5a
shm: Message: refactor ctors
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
5aa6c99442
shm: remove alignment member from Message
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
3c714fd9e0
Message::SetUsedSize: add optional alignment argument, to avoid storing alignment with the msg object
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
1b7532a520
Refactor shm::Message to contain sorted members of MetaHeader
...
Move the members of MetaHeader flat into shmem::Message and sort them by
size to reduce the size of the class.
2023-10-19 19:16:00 +02:00
Alexey Rybalchenko
f092b94c96
Update comment
2023-10-04 11:25:47 +02:00
Alexey Rybalchenko
8d28824489
Shm: Use MakeShmName to construct shm object names
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
7bd31f8ff0
apply readability-else-after-return
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
1a0ab3a4e2
shm: Ref counting for unmanaged regions in a dedicated segment
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
cacf69d5f6
Replace boost::variant with std::variant
2023-09-29 11:18:24 +02:00
Alexey Rybalchenko
68038c4693
shm: Move ShmHeader into Common.h
2023-09-29 11:18:24 +02:00
Giulio Eulisse
3c1723fc54
Allow sorting StateChange callbacks
...
If the key of the callback is a number, it will be used to invoke
callbacks with the correct ordering.
2023-09-06 09:49:30 +02:00
Giulio Eulisse
7ceccdeaa6
Print actual address we are trying to bind.
2023-06-29 12:28:23 +02:00
Dennis Klein
bfc665d76e
feat: Make the channel AutoBind default configurable
2023-06-26 11:56:24 +02:00
Dennis Klein
f278e7e312
feat: Add new tunable --shm-metadata-msg-size
...
The shm metadata msg will be right-padded to the given size. This
tunable may be used to saturate the kernel msg buffers more quickly with
the effect that the ZeroMQ message queue size - on which the FairMQ
shmem transport relies upon - behaves more accurately for very small
queue sizes.
This introduces a change for the meta msg format in the multipart case:
old: | MetaHeader 1 | ... | MetaHeader n |
new: | n | MetaHeader 1 | ... | MetaHeader n | padded to fMetadataMsgSize |
where `n` is a `size_t` and contains the number of following meta headers.
Previously, this number was infered from the msg buffer size itself which is
no longer possible due to the potential padding.
Implements #432
2023-06-13 21:24:40 +02:00
Dennis Klein
491a943c63
feat: Use zmq_msg_send
for single message Send
2023-06-13 21:24:40 +02:00
Dennis Klein
c47fc6f9fe
feat: Move ZMsg
to fair::mq::zmq
...
Implement move semantics.
2023-06-13 21:24:40 +02:00
Giulio Eulisse
7b259afdb5
Fix -Wunqualified-std-cast-call
2023-06-13 21:24:40 +02:00
Dennis Klein
8960ce9416
fix: Use std::chrono
consistently
2023-03-06 15:32:48 +01:00
Dennis Klein
05b734ee0d
feat!: Migrate to std::filesystem
consistently
2023-03-06 15:32:48 +01:00
Alexey Rybalchenko
f2dce91098
Make Error classes header only
2023-03-03 12:49:37 +01:00
Alexey Rybalchenko
4af0954ae9
Shm: fix unused value
2023-03-02 19:12:29 +01:00
Dennis Klein
0aecfff133
feat(plugins)!: Remove PMIx
plugin
2023-03-02 11:20:35 +01:00
Dennis Klein
2e98a4e2cb
feat(ofi)!: Remove ofi
transport
...
BREAKING CHANGE
Due to a lack of users, we remove the experimental code. The
latest implementation can be found in release v1.4.56. This does
not mean it will never be picked up again, but for now there are
no plans.
2023-03-02 11:20:35 +01:00
Dennis Klein
5108f699b7
fix: Remove unused fMaxRunRuntimeInS
...
The corresponding config option was already
removed in v1.4.50 (see 5d45d89269
)
2023-03-01 15:39:38 +01:00
Dennis Klein
c35d35a3c3
feat!: Remove Device::TransitionTo()
without replacement
...
BREAKING CHANGE
However, this API was never advertised nor used by anyone.
2023-03-01 15:39:38 +01:00
Dennis Klein
435d07eaf9
feat: Improve ChangeState
API
...
* Add `[[nodiscard]]` to `bool Device::ChangeState()`
* Introduce throwing variant `void Device::ChangeStateOrThrow()`
resolves #441
2023-03-01 15:39:38 +01:00
Dennis Klein
5ef17fddbb
feat: Deprecate Device::fChannels
in preparation for #427
2023-03-01 15:39:38 +01:00
Alexey Rybalchenko
8f5efdf74c
Extend shmem docs
2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
45663189a9
Turn shm-monitor off by default
...
resolves #459
2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
afd5700cca
Update copyright date
2023-02-24 14:28:18 +01:00
Dennis Klein
a83e401100
fix: [-Wdeprecated-declarations]
2023-02-24 13:59:27 +01:00
Dennis Klein
0a63c74849
fix: [-Wsign-compare]
2023-02-24 13:59:27 +01:00
Dennis Klein
a58b4870d7
feat(Parts): Refine and tweak
...
* Optimize appending another Parts container
* Remove redundant/verbose comments
* Change r-value args to move-only types into l-value args for
readability
* Deprecate `AtRef(int)`, redundant, just dereference at call site
* Deprecate `AddPart(Message*)`, avoid owning raw pointer args
* Add various const overloads
* Add `Empty()` and `Clear()` member functions
* Add `noexcept` where applicable
2023-02-24 13:59:27 +01:00
Alexey Rybalchenko
7bf1d368a8
Device: synchronize access to transports container
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
ae7bc6fc6c
Control plugin: remove superfluous automatic transitions
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
9093ed82dc
Resume/Interrupt transports consistently
...
- Resume transports before state callbacks & handlers
- Interrupt transports on new transitions
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
efb659f0ac
Device: sort includes
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
ae51ecc659
Add Device::ResumeTransports
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
da1c9e4400
Rename Device::UnblockTransports to Device::InterruptTransports
2023-02-22 20:55:15 +01:00
Piotr Konopka
9389030835
Warn when going to try allocate a shmem message more times
2022-11-18 09:36:52 +01:00
Alexey Rybalchenko
7697f2f4b1
Extend error message if channel(s) was not configured before timeout
2022-11-17 11:03:59 +01:00
Alexey Rybalchenko
87baf9749d
Make invalid channel initialization cancellable through pending state
2022-11-17 11:03:59 +01:00
Alexey Rybalchenko
a8b7ebef09
Add operator<< to fair::mq::Channel
2022-11-17 11:03:59 +01:00
Alexey Rybalchenko
ed364a4857
shm: error on duplicate region IDs
2022-10-05 09:13:37 +02:00