-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
ipc: Base icmsg implementation on added packed buffer #64624
Merged
fabiobaltieri
merged 4 commits into
zephyrproject-rtos:main
from
eobalski:NCSDK-22744/ipc_pbuf
Nov 9, 2023
Merged
ipc: Base icmsg implementation on added packed buffer #64624
fabiobaltieri
merged 4 commits into
zephyrproject-rtos:main
from
eobalski:NCSDK-22744/ipc_pbuf
Nov 9, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
eobalski
requested review from
nashif,
carlocaione,
carlescufi,
galak and
MaureenHelm
as code owners
October 31, 2023 12:19
zephyrbot
added
area: Samples
Samples
area: Devicetree Binding
PR modifies or adds a Device Tree binding
labels
Oct 31, 2023
eobalski
added
area: IPC
Inter-Process Communication
and removed
area: Samples
Samples
area: Devicetree Binding
PR modifies or adds a Device Tree binding
labels
Oct 31, 2023
eobalski
force-pushed
the
NCSDK-22744/ipc_pbuf
branch
from
October 31, 2023 13:01
859e999
to
775e386
Compare
zephyrbot
added
area: Samples
Samples
area: Devicetree Binding
PR modifies or adds a Device Tree binding
labels
Oct 31, 2023
hubertmis
requested changes
Oct 31, 2023
eobalski
force-pushed
the
NCSDK-22744/ipc_pbuf
branch
7 times, most recently
from
November 6, 2023 11:53
1f126af
to
722ee81
Compare
hubertmis
reviewed
Nov 6, 2023
Remove nocopy feature from icmsg_me backend. The backend is not meant to be used to send big data chunks thus no-copy feature is removed. If one wants to use no-copy it is recommended to use icmsg_me only for control messages while allocator will shall be written seperately. Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
This adds implementation of secure packed buffer. Secure packed buffer is added with intention to be used in icmsg backed backends. Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
Add unit tests for packed buffer. Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
Replace spsc_pbuf with pbuf implementation dedicated to be used by IcMsg based backends. The pbuf is written on top of simple read/write semantics with minimal footprint and code complexity Signed-off-by: Emil Obalski <Emil.Obalski@nordicsemi.no>
eobalski
force-pushed
the
NCSDK-22744/ipc_pbuf
branch
from
November 7, 2023 12:40
722ee81
to
0bdd0c9
Compare
hubertmis
approved these changes
Nov 7, 2023
carlocaione
approved these changes
Nov 8, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area: Devicetree Binding
PR modifies or adds a Device Tree binding
area: IPC
Inter-Process Communication
area: Samples
Samples
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Simplify the implementation of the
icmsg
based backends by replacing use ofspsc_pbuf
with newly addedpbuf
.Note that at the begging when the
icmsg
backend was introduced it was written around similar memory access layer aspbuf
(#43544).This change is a step back to what was the initial idea behind
icmsg
- to be as simplest as possible.By this change no-copy API is no longer possible, but this trade off is intentional.
icmsg
usingpbuf
is meant to be used for use cases where relatively small amount of data is send.Because of that complexity of no-copy is not a huge benefit.
In comparison to initial commit adding
icmsg
backend, thepbuf
implementation is written with security awareness. For example reader does not rely onrd_idx
received from the writer, and vice versa.