-
Notifications
You must be signed in to change notification settings - Fork 3k
Kinetis EMAC: Make number of buffers configurable #7141
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
Conversation
FAO @mmahadevan108 |
a4c32f6
to
eea7a98
Compare
16 RX buffers and 8 TX buffers is probably excessive. Nanostack version of driver successfully used 4+4, and data pump should be broadly equivalent. This means that switching K64F devices from Nanostack to EMAC increases base heap usage by 18K - observed in Nanostack border router builds. Add a config option to make it possible to lower the number of buffers. Defer consideration of lowering the default to later.
TX pointer array was using RX ring length in its declaration. Wasted memory if RX ring > TX ring, as is the default, but would be broken if RX ring < TX ring.
eea7a98
to
a8e8775
Compare
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.
Thanks, looks good.
/morph build |
Build : SUCCESSBuild number : 2262 Triggering tests/morph test |
Exporter Build : FAILUREBuild number : 1888 |
Halting CI builds until RC3 PRs are completed. Will resume after. |
/morph test |
Test : SUCCESSBuild number : 2057 |
Exporter Build : SUCCESSBuild number : 1897 |
Description
16 RX buffers and 8 TX buffers is probably excessive. Nanostack version of driver ( https://github.com/ARMmbed/sal-nanostack-driver-k64f-eth ) successfully used 4+4, and data pump should be broadly equivalent.
This means that switching K64F devices from Nanostack to EMAC for 5.9 increases base heap usage by 18K - observed in Nanostack border router builds.
Add a config option to make it possible for border router and others to lower the number of buffers.
Defer consideration of lowering the default to later - leaving it as 16+8 for now.
Pull request type