idc: zephyr: add a timeout to blocking IDC send#8911
idc: zephyr: add a timeout to blocking IDC send#8911kv2019i merged 1 commit intothesofproject:mainfrom
Conversation
|
Subset of #8753 that was never merged. This commit is part of the Intel mtl-008-drop-stable branch. |
|
wouldn't expect CI to be so unhappy about this, is it an existing unrelated regression? https://sof-ci.01.org/sofpr/PR8911/build3147/devicetest/index.html?model=MTLP_RVP_NOCODEC&testcase=check-playback-3times |
|
The "Intel CI System/merge/build" fail seems to be an infra problem, I see fail on step "UPDATE BUILD.JSON ON STORAGE" (build id 13680274). Will refresh the PR. In https://sof-ci.01.org/sofpr/PR8911/build3147/devicetest/index.html we hit a case of #8642 |
Replace infinite wait with a time-limited wait. In case a blocking IDC message is not handled within IDC_TIMEOUT, return an error instead of waiting. This allows to debug stuck core-to-core communication easier. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
946daa5 to
902a9a2
Compare
|
@wszypelt Can you check this as well? I've triggered a few times and the errors don't seem to be in the test runs. |
| switch (mode) { | ||
| case IDC_BLOCKING: | ||
| ret = k_p4wq_wait(work, K_FOREVER); | ||
| ret = k_p4wq_wait(work, K_USEC(IDC_TIMEOUT)); |
There was a problem hiding this comment.
IDC_TIMEOUT is currently 10ms, should be enough
|
Now passing, merging. |
Replace infinite wait with a time-limited wait. In case a blocking IDC message is not handled within IDC_TIMEOUT, return an error instead of waiting. This allows to debug stuck core-to-core communication easier.