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

tests/kernel/sched/schedule_api: Restore spinning for timer alignment #13916

Merged
merged 1 commit into from
Feb 28, 2019

Conversation

andyross
Copy link
Contributor

Commit 0cc362f ("tests/kernel: Simplify timer spinning") was
added to work around a qemu bug with dropped interrupts on x86_64.
But it turns out that the tick alignment that the original
implementation provided (fundamentally, it spins waiting on the timer
driver to report tick changes) was needed for correct operation on
nRF52.

The effectively revert that commit (and refactors all the spinning
into a single utility) and replaces it with a workaround targeted to
qemu on x86_64 only. Fixes #11721

Signed-off-by: Andy Ross andrew.j.ross@intel.com

@andyross andyross requested review from ceolin, dcpleung and a user February 27, 2019 22:56
@codecov-io
Copy link

codecov-io commented Feb 27, 2019

Codecov Report

❗ No coverage uploaded for pull request base (master@c2a70a2). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff            @@
##             master   #13916   +/-   ##
=========================================
  Coverage          ?   52.31%           
=========================================
  Files             ?      307           
  Lines             ?    45436           
  Branches          ?    10512           
=========================================
  Hits              ?    23771           
  Misses            ?    16874           
  Partials          ?     4791

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c2a70a2...af8b79d. Read the comment docs.

Commit 0cc362f ("tests/kernel: Simplify timer spinning") was
added to work around a qemu bug with dropped interrupts on x86_64.
But it turns out that the tick alignment that the original
implementation provided (fundamentally, it spins waiting on the timer
driver to report tick changes) was needed for correct operation on
nRF52.

The effectively revert that commit (and refactors all the spinning
into a single utility) and replaces it with a workaround targeted to
qemu on x86_64 only.  Fixes zephyrproject-rtos#11721

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
@andyross
Copy link
Contributor Author

Rebased and pushed. Finally noticed why test code sometimes fails to retry spurious failures and filed it in #13956

@andyross
Copy link
Contributor Author

Yeah, this isn't likely to show a green. The problem is spurious failure on non-default platforms (which are run when you modify a test) are not retried in CI. I hereby request Dispensation.

@galak galak merged commit 3f4aa63 into zephyrproject-rtos:master Feb 28, 2019
@galak
Copy link
Collaborator

galak commented Feb 28, 2019

Yeah, this isn't likely to show a green. The problem is spurious failure on non-default platforms (which are run when you modify a test) are not retried in CI. I hereby request Dispensation.

granted!

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