Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

disable zero copy partial write combined with multibuffering (#1163) #1168

Merged
merged 1 commit into from
Jul 31, 2023

Conversation

rex-schilasky
Copy link
Contributor

@rex-schilasky rex-schilasky commented Jul 27, 2023

Pull request type

Please check the type of change your PR introduces:

  • Bugfix

What is the current behavior?
See issue #1163

Fixes #1163

What is the new behavior?
If the publisher multibuffering feature is activated (CPublisher::ShmSetBufferCount), multiple memory files are used as ring buffers and cyclically written.

The new zero copy (CPublisher::ShmEnableZeroCopy) mode on the other hand allows to write partial content (modify the the content) of a memory file, this leads to much higher data throughput if just a few byte of a payload needs to be changed on every publication.

This partial / differential write makes no sense if multiple memory files are handled by a single publisher. In this case, each of these files must be written completely to ensure consistent payload data. So, the partial write variant is now blocked in the described multibuffering mode.

Does this introduce a breaking change?

  • Yes
  • No

Cherry-pick to:

  • 5.12

@rex-schilasky rex-schilasky merged commit 50699d8 into master Jul 31, 2023
13 checks passed
FlorianReimold pushed a commit that referenced this pull request Jul 31, 2023
…1168)

core: disable zero copy partial write combined with multibuffering (#1163)
FlorianReimold pushed a commit that referenced this pull request Aug 2, 2023
…1168)

core: disable zero copy partial write combined with multibuffering (#1163)
@rex-schilasky rex-schilasky deleted the hotfix/multibuffer-zero-copy branch August 3, 2023 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ZeroCopy + Multibuffering leads to inconsitent data
2 participants