You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After this PR, mmap is done when any of the following is called:
subcriber_add
receive_and_check_new_publisher
take_msg
However, they sometimes map a different process memory from the one it is trying to read.
Here is the example:
Publiusher 1 joins
Subscriber joins -> maps Publisher 1 process area
Publisher 2 joins
Publisher 1 publishes
Subscriber tries to read Publisher 1 message -> maps Publisher 2 process area -> read Publisher 1 message
The straightforward design is, when a subscriber tries to read a message, then it checks whether the corresponding publisher process area is already mapped, and do mmap is not.
This may be a trade off between check overhead. It should be implemented after measurements.
The text was updated successfully, but these errors were encountered:
veqcc
changed the title
mmap may be done just before reading data, notmmap could be done only for the corresponding message
Feb 12, 2025
After this PR,
mmap
is done when any of the following is called:However, they sometimes map a different process memory from the one it is trying to read.
Here is the example:
The straightforward design is, when a subscriber tries to read a message, then it checks whether the corresponding publisher process area is already mapped, and do
mmap
is not.This may be a trade off between check overhead. It should be implemented after measurements.
The text was updated successfully, but these errors were encountered: