Skip to content
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

topology: bytcht: reduce deep-buffer to 5ms #3257

Merged
merged 1 commit into from
Aug 4, 2020

Conversation

plbossart
Copy link
Member

Somehow a 10ms buffer for the deep-buffer pipe generates write errors
on the kernel side with S24 and S32_LE.

Reducing the memory footprint seems to fix the problem.

This may hide a more fundamental problem with either scheduling or
memory allocation, but for now let's solve CI and daily tests.

BugLink: #3171
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com

Somehow a 10ms buffer for the deep-buffer pipe generates write errors
on the kernel side with S24 and S32_LE.

Reducing the memory footprint seems to fix the problem.

This may hide a more fundamental problem with either scheduling or
memory allocation, but for now let's solve CI and daily tests.

BugLink: thesofproject#3171
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
@plbossart plbossart force-pushed the fix/bytcht-S32-pipe1 branch from baed1f0 to 33894b7 Compare July 29, 2020 20:07
@plbossart plbossart changed the title topology: bytcht-nocodec: reduce deep-buffer to 5ms topology: bytcht: reduce deep-buffer to 5ms Jul 29, 2020
@paulstelian97
Copy link
Collaborator

rballoc should succeed with sizes >1024 right? With S16 the buffer size is 48 * 10 * 2 = 960 bytes, with S24 and S32 the buffer size is 1920 bytes. 5ms changes it to 480, respectively 960.

@plbossart
Copy link
Member Author

rballoc should succeed with sizes >1024 right? With S16 the buffer size is 48 * 10 * 2 = 960 bytes, with S24 and S32 the buffer size is 1920 bytes. 5ms changes it to 480, respectively 960.

If there was an allocation failure, we should see it. But the problem is a write IO error, with firmware reporting it cannot use/consume data after the .trigger.
Or it could be a silent allocation issue, which succeeds on paper but is not working at all.

Or it could be a scheduling issue, where a pipeline which works with large number of samples cannot be serviced if it relies on scheduling information from another. I really have zero understanding of all the scheduling changes....

Copy link
Contributor

@xiulipan xiulipan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, the issue is very interesting. But if the configure change can fix it let try to solve it later. I think we may need to create a new issue to track it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants