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:
>> Hi,
>>
>> 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.
>
>

Hi,

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!

--HPS



More information about the freebsd-current mailing list