Patch for Linux Futexes
Hans Petter Selasky
hps at selasky.org
Thu May 22 18:33:39 UTC 2014
On 05/22/14 20:23, Chagin Dmitry wrote:
> On Thu, May 22, 2014 at 01:06:22PM +0200, Hans Petter Selasky wrote:
>> When using the Linux Skype client under FreeBSD I sometimes see that the
>> Audio disappears in the one direction. When I check "ps auxw" I see
>> skype is stuck on a so-called Futex. I looked into the Linux futex code
>> and see that wakeup_one() is used instead of wakeup(). Maybe others can
>> test too and verify if replacing wakeup_one() by wakeup() makes any
>> difference in for Linux applications using Futexes.
> generally speaking the patch is not correct as futex_wake() should
> wakeup n waiters which is specified by user space. and i think that
> futex_wake() is correct.
> so we must take a close look at futex_requeue() and FUTEX_WAKE_OP.
I still see the issue with Skype, even when running with my small patch :-(
I'll try to profile the threads in Skype while it is running like
expected and observe any differences when it is not working, when I have
some more time, using kgdb. I guess td->td_slptick can be used to figure
out if a thread has been left behind, because Skype creates many threads ...
Thank you for your time!
More information about the freebsd-multimedia