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

CI TEST ONLY #8001

Closed
Closed

Conversation

marcinszkudlinski
Copy link
Contributor

No description provided.

For LL modules it is very straightforward - all LL modules
are called one by one in every LL pipeline tick, so module's
period is always equal to LL pipeline period

For DP modules a period has different meaning. As DP
is called "on demand" - whenever it is ready, it may not be
scheduled at every LL tick (and usually is not)

A period meaning for DP is "a time when the module must finish
its job and provide data to next module in pipeline
or the data flow will be corrupted (a glitch)"

In common case the period is calculation is based on module's
OBS - if module provides OBS bytes of data in each cycle, it MUST
finish at least before the next module drains the buffer

In some special cases - modules producing a variable bitrate
(like MPEG) or not producing audio data at all (phrase detector,
speech recognition, etc.) - the module may set the period itself
during prepare operation

This commit adds calculation of DP period. This value will be used
in following commit as a base for deadlines calculation in EDF

Signed-off-by: Marcin Szkudlinski <[email protected]>
Earliest deadline first scheduling added, based on module
period

Detailed description in zephyr_dp_schedule.c

Signed-off-by: Marcin Szkudlinski <[email protected]>
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.

1 participant