-
Notifications
You must be signed in to change notification settings - Fork 349
topology: sof-apl-nocodec: revert to static pipelines #4323
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
Dynamic pipelines will fail with the sof-apl-nocodec topology due to issues with the memory allocator. Revert back to use static pipelines until we have a more flexible memory allocatory available with Zephyr. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Not following @ranj063. Is there a plan to use Zephyr on APL in new releases, or are you saying that the optional support of Zephyr will also result in changes to the memory allocation. |
yes "optional support of Zephyr will also result in changes to the memory allocation". @lgirdwood please correct me if im wrong |
The Zephyr allocator can utilize more of the memory hence we dont need the static block mappings and are more free to allocate with less wastage. |
what will happen if we don't compile on top of Zephyr then? Same results as today? |
yes one of the above @plbossart depending on when we roll out zephyr for APL |
and oh im also a bit skeptical about saying zephyr will fix the problem until I see it for myself. |
There is nothing stopping dynamic pipelines on platforms with more memory. APL only has 512kB, this is just a limitation of the SOF allocator with this limited heap size.
Yes - xtos will be deprecated and removed. APL already works very well using Zephyr as the RTOS.
Turn the heap dump trace on and you will see allocator wastage due to some static block being unused (that cant be used for other allocations). |
@lgirdwood maybe the wastage fix in zephyr will help with the issue but Im not convinced it is entirely the reason for the failure. When we dont qualify the buffer allocation with expliciti HP/LP flag, it gets allocated wherever possible leaving the onesthat do have an explicit request fail at the end. |
|
Considering the XTOS will be still a choice for part of platforms for a quite long ( > 2 years?) period, I would suggest to fix this kind of allocator issues, instead of fully relying on Zephyr. I believe 512KB on APL is still big enough for our nocodec scenario, the fix itself should not be complicate, just go through the usage of all memory pools (system, system runtime, runtime, buffer) on all cAVS platforms, fine tune the size of each pool to make them more reasonable, that is, enough and no wastage for all our existed topology cases. I can try to do this kind of refining when I have time, but for the moment, I am fine to revert to static pipeline for APL nocodec to make the CI happy. |
|
@keyonjie once we switch over to Zephyr, all CAVS platforms will switch over - there is no point doing some with xtos and some with Zephyr. |
Dynamic pipelines will fail with the sof-apl-nocodec topology
due to issues with the memory allocator. Revert back to
use static pipelines until we have a more flexible memory
allocatory available with Zephyr.
Fixes #4305