Re: Patch for Linux Futexes

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Thu, 22 May 2014 20:34:21 +0200
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
Received on Thu May 22 2014 - 16:33:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:49 UTC