[pulseaudio-tickets] [Bug 54779] Live lock on daemon startup when module combine is used and real time scheduling is enabled
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Sep 12 03:41:19 PDT 2012
https://bugs.freedesktop.org/show_bug.cgi?id=54779
--- Comment #5 from Tvrtko Ursulin <tvrtko.ursulin at onelan.co.uk> 2012-09-12 10:41:19 UTC ---
Created attachment 67041
--> https://bugs.freedesktop.org/attachment.cgi?id=67041
Workaround for avoiding the live lock
So in pa_rtpoll_run timeout for ppoll is calculated with micro-second
granularity and upscaled to nano-seconds for the actual ppoll call.
Going deeper, time accounting is done via pa_rtclock_get and pa_timeval_cmp
which internally downscale nano-seconds to micro-seconds.
This means if a sleep time is less than one micro-second, it will come out as
zero in pa_rtpoll_run. This will make the RT thread busy loop and thread live
lock on startup/shutdown.
This workaround patch works for me by ensuring no busy loop happens if time
calculation did run and said zero sleep.
Real patch would I assume be to change the pa_rtclock API to work with timespec
(nano-seconds) instead of timeval (micro-seconds). That way this down-scaling
error would not happen.
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the pulseaudio-bugs
mailing list