-
Notifications
You must be signed in to change notification settings - Fork 349
zephyr: make DMA LLI allocations always uncached #5421
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
|
@dbaluta Does this affect our pipeline performance, especially for decoders (which might have state in the RUNTIME zone)? Just a FYI, I guess we can allow this to go and locally revert if it is a problem... |
|
A dedicated manual CI run with this PR triggered the bug again. Making this a draft for further investigation. |
|
anyway, isn't too drastic sollution? Turning off the cache may
|
@marcinszkudlinski (1) performance - we will compare once we have a working solution. Zephyr reports load statistics, so should be easy to check. (2) regressions - as the commit message says, we will enforce correct cache usage by adding compile-time checks, using sparse and maybe the compiler itself. That should really clean up most errors in that area |
b2b0278 to
5f4f27c
Compare
zephyr/wrapper.c
Outdated
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.
I would't say "bad fix" as the title says. Cached or uncached - in fact it is the very same heap and aligment always should be kept to the cacheline.
294cc24 to
73e3683
Compare
|
SOFCI TEST |
|
SOFCI TEST |
|
Re test with the single commit. |
Multi-core configurations already use uncached memory for LLI. This also makes sense to avoid having to manually synchronise cache. Force LLI objects uncached. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
|
CI: three Zephyr platforms failed individual cases with "sof-logger dead" and a single non-Zephyr TGLU platform failed 2 suspend-resume tests with audio |
Extensive testing showed, that making memory allocations from the SOF_MEM_ZONE_RUNTIME zone uncached fixes bug #4414 on APL with Zephyr. We plan to introduce a clean separation between cached and uncached memory access modes, but this is a significant change, planned for the next SOF release. Until then we disable cached runtime allocations in Zephyr.