-
Notifications
You must be signed in to change notification settings - Fork 330
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
audio: move more code to DRAM #9880
base: main
Are you sure you want to change the base?
Conversation
CI:
|
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.
@lgirdwood it depends of course on the configuration - which modules you build. E.g. https://github.com/thesofproject/sof/actions/runs/13813419824/job/38640360345?pr=9880#step:8:833 tells that the cold module has 0x74fc bytes of text and 0x4d964 bytes of data, without that it would stay in the base firmware and occupy SRAM. The largest part of that is SRC coefficients. And there's one caveat - with a purely SRAM build all coefficients would be in SRAM, but with a DRAM build coefficients are copied on demand. So it isn't a complete saving. Best case SRAM is used in pass-through, then nothing is copied IIRC (or extremely little). However, if you have several SRCs running in parallel with different conversions, then those respective tables are copied, so the saving is smaller. |
Just the build time info is enough - i.e. what is the increase in DRAM usage for text/data |
@lgirdwood right, then 0x74fc bytes text + 0x4d964 bytes read-only data |
CI:
|
Fix several return codes, a preprocessor conditional, and simplify a function. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Clarify which methods in struct comp_ops can and which cannot be marked as __cold. Signed-off-by: Guennadi Liakhovetski <[email protected]>
The base firmware code is never executed on hot paths, mark it all as "cold." Signed-off-by: Guennadi Liakhovetski <[email protected]>
Add __cold qualifiers to IPC context functions. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Add __cold qualifiers and debugging tests to IPC context functions. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Add __cold qualifiers and debugging tests to non-performance critical code. Signed-off-by: Guennadi Liakhovetski <[email protected]>
SOFCI TEST |
PTL results were missing, retest. |
IPC response time comparison report on 24th Mar 2025 for PR 9880 The test concists of two SW configurations and two tests sequences and The SW configureations are SOF main (1ef4e60) built with
|
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.
@lyakh should we hold this until the IPC cold Kconfig is enabled ?
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.
Please just retest on PTL CI with cold enabled now
@lgirdwood would make sense, yes and best also until after DRAM debugging is merged |
DAI, host and copier code is always hard linked into the base firmware image, never as loadable modules. Move a large part of non-performance critical code to DRAM