micro-ROS / rmw_microxrcedds

RMW implementation using Micro XRCE-DDS middleware.
Apache License 2.0
30 stars 23 forks source link

Fix timeout for no metadata run session #305

Open Acuadros95 opened 11 months ago

Acuadros95 commented 11 months ago

Spin is not waiting if a session only haves timers, ending in a 100% CPU usage with code like this one: int32_publisher.

Also, we should run all sessions atleast once, to ensure a response to incoming data (From Hard liveliness check for example).

Related issue: https://github.com/micro-ROS/rmw_microxrcedds/issues/297

github-actions[bot] commented 11 months ago

Static memory analysis

Default configuration

MTU: 512 B Input buffer size: 2048 B Input history: 4 Output buffer size: 2048 B Output history: 4

Entity Qty Size per unit
Context 2 5616 B
Topic 8 56 B
Service 4 248 B
Client 4 248 B
Subscription 4 280 B
Publisher 4 288 B
Node 4 208 B
Static input buffer 8 2136 B
Init options 6 64 B
Wait sets 4 56 B
Guard Condition 4 64 B

TOTAL: 34500 B

Acuadros95 commented 11 months ago

@mergify backport humble iron

mergify[bot] commented 11 months ago

backport humble iron

🟠 Waiting for conditions to match

- [ ] `merged` [:pushpin: backport requirement]