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
gnrc_netif: expose message queue size configurable #11067
gnrc_netif: expose message queue size configurable #11067
Conversation
sys/include/net/gnrc/netif/conf.h
Outdated
* changed. | ||
*/ | ||
#ifndef GNRC_NETIF_MSG_QUEUE_SIZE | ||
#define GNRC_NETIF_MSG_QUEUE_SIZE (16U) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Previous setting was 8. Would make sense to keep that value.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, nvm, PR text describes the change. ok as is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See OP:
- Increases the queue size from 8 to 16 for
gnrc_netif
threads and
Also I put the change of the message queue size in a separate commit + added testing procedure description to account for the change ;-).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK.
|
At least (on master) it doesn't reply to ping requests :-/. |
|
b00044c
to
b5028e1
Compare
Better safe than sorry. I reverted the message queue size change... |
@kaspar030 can you have another look. The change now should be very simple. |
Successfully tested with ping from samr21-xpro -> pba-d-01-kw2x and samr21-xpro -> nrf52840dk (#10268) both with 1232 Bytes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(re-)ACK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
waidaminute. shouldn't the original define be removed somewhere?
Sorry... must have happened when I removed the size change >_< |
b5028e1
to
13030d5
Compare
Fixed and amended immediately. |
&go. |
For reference: this is because |
Contribution description
In some offline discussions regarding #10268 we noticed, that the message queue size is too small for some network devices to handle large fragmented packages. Not just the driver in #10268 is affected, but also e.g. the
kw2x
onpba-d-01-kw2x
. This changegnrc_netif
threads andExposes the macro for the message queue size and makes it configurable.(see gnrc_netif: expose message queue size configurable #11067 (comment)).Testing procedure
Compile and flash
examples/gnrc_networking
topba-d-01-kw2x
withCFLAGS=-DGNRC_NETIF_MSG_QUEUE_SIZE=16
, try to ping it from another IEEE-802.15.4-capable board with large payloads:Without this PR problems might arise, with it, it should work. Also try and see if for smaller boards (e.g.(z1
orarduino-mega2560
)examples/gnrc_minimal
still works without stack overflows (you can't send too huge packets though, as the packet buffer size is set to 512 ingnrc_minimal
)gnrc_minimal
does not work in master, see #11067 (comment)).Issues/PRs references
Discovered in #10268.