mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2026-02-05 04:06:34 -05:00
The Advanced Linux Sound Architecture (ALSA) - library
The recently reported (but a long-standing) bug about the unconditional semaphore usage in the dmix implies that basically we've had no problem with the locking in the practical usages over years. Although the lockless operation has a clear merit, it's a much higher CPU usage (especially on some uncached pages), and it might lead to a potential deadlock in theory (which is hard to reproduce at will, though). This patch introduces a new configure option "--enable-lockless-dmix" or "--disable-lockless-dmix" to let user choose the default dmix operation mode. The usage of the lockless mixing has been already conditionally enabled via asoundrc and card config "direct_memory_access", so we just need to set the default value based on it. In this patch, the default is set off to the lockless mixing, i.e. the generic mixing is chosen. It makes more sense from the performance POV. For any users who still require the lockless operation, it can be enabled either via configure option or the asoundrc. The magic number used in the shmem is also changed depending on the operation mode. It's just for safety, not to conflict both operation modes with each other. Reviewed-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de> |
||
|---|---|---|
| .github/workflows | ||
| alsalisp | ||
| aserver | ||
| doc | ||
| include | ||
| m4 | ||
| modules | ||
| src | ||
| test | ||
| utils | ||
| .gitignore | ||
| .travis.yml | ||
| acinclude.m4 | ||
| ChangeLog | ||
| configure.ac | ||
| COPYING | ||
| gitcompile | ||
| INSTALL | ||
| Makefile.am | ||
| MEMORY-LEAK | ||
| NOTES | ||
| README.md | ||
| TODO | ||
alsa-lib
Advanced Linux Sound Architecture (ALSA) project
The alsa-lib is a library to interface with ALSA in the Linux kernel and virtual devices using a plugin system.
The up-to-date reference generated from sources can be accessed here:
http://www.alsa-project.org/alsa-doc/alsa-lib/
You may give a look for more information about the ALSA project to URL http://www.alsa-project.org.