* [alsa-devel] axfer: break transmission of audio data frame when transmission backend queues no PCM event within timeout
[not found] <1572406354427948952-webhooks-bot@alsa-project.org>
@ 2019-10-30 3:32 ` GitHub pull_request - opened
0 siblings, 0 replies; only message in thread
From: GitHub pull_request - opened @ 2019-10-30 3:32 UTC (permalink / raw)
To: alsa-devel
alsa-project/alsa-utils pull request #31 was opened from takaswie:
Axfer internally has the waiter abstraction for polling system call. This is used without explicit timeout for IRQ-based scheduling model. As a result, axfer process is corrupted to be blocked due to a call of polling system call when transmission backend has a bug to queue PCM event in I/O thread or hardware IRQ context.
This patchset implements error reporting for such buggy backend. When call of polling system call returns with timeout, axfer reports it as a bug. The timeout is equivalent to the size of buffer. Precisely it should be the size of period, however the larger size is used to stabilize runtime for existent PCM plugins.
```
Takashi Sakamoto (6):
axfer: return the number of file descriptors for I/O events from select(2) waiter
axfer: fix to return error code when a call of select(2) fails
axfer: return ETIMEDOUT when no event occurs after waiter expiration
axfer: handle -ETIMEDOUT before handle mmap I/O operation
axfer: code refactoring for a helper function to wait for avail buffer space
axfer: handle -ETIMEDOUT before non-block I/O operation
axfer/waiter-select.c | 4 +--
axfer/xfer-libasound-irq-mmap.c | 19 +++++++++-
axfer/xfer-libasound-irq-rw.c | 62 +++++++++++++++++++--------------
axfer/xfer-libasound.c | 21 +++++++----
4 files changed, 70 insertions(+), 36 deletions(-)
```
Request URL : https://github.com/alsa-project/alsa-utils/pull/31
Patch URL : https://github.com/alsa-project/alsa-utils/pull/31.patch
Repository URL: https://github.com/alsa-project/alsa-utils
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-10-30 3:33 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1572406354427948952-webhooks-bot@alsa-project.org>
2019-10-30 3:32 ` [alsa-devel] axfer: break transmission of audio data frame when transmission backend queues no PCM event within timeout GitHub pull_request - opened
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).