[vdr] [PATCH] rcu NPTL fix for 1.3.34

Andreas Share a.share at t-online.de
Sat Nov 5 22:01:57 CET 2005


> Andreas Share wrote:
>>
>>> Andreas Share wrote:
>>>
>>>> Hi,
>>>>
>>>> attached patch should make the rcu code NPTL compatible. Without the 
>>>> patch using an RCU will fail (vdr hang during startup) on an NPTL 
>>>> enabled system.
>>>>
>>>> I have only move over L. Nussels lirc NPTL fix to the rcu code.
>>>>
>>>> Greetings
>>>>
>>>> Andreas
>>>
>>>
>>> Have you actually tested this?
>>> I wonder if simply removing all lock calls would work,
>>> because there _is_ a thread and a foreground function that
>>> both want to transfer data...
>>>
>>> Klaus
>>
>>
>> Yes, i have tested the patch on my system. With the lock´s the rcu-code 
>> block vdr completely during startup with NPTL enabled libraries, 
>> especialy this ones in /lib/tls. LD_ASSUME_KERNEL doesn´t work for this 
>> problem, only moving the tls-folder away from /lib (and do a ldconfig 
>> afters this) have let the rcu work again on my suse 9.1.
>>
>> Removing the lock in the main loop only will resolve this, but IR 
>> learning will fail, so i have removed the other locks also.
>>
>> With the patch vdr/rcu (learning included) works without any sideeffect 
>> in daily use since 21.10. on my system (internal IR-Header, DBox IR 
>> Codes).
>>
>> Greetings
>>
>> Andreas Share
>
> Well, I don't have a good feeling simply throwing out the
> locks here just because NPTL can't handle them.
>
> I guess this will have to wait then until I use NPTL myself,
> although I don't see this happening any time soon... ;-)
>
> Unless, of course, you can come up with a solution that
> still does some locking and runs with NPTL. The file handle
> _is_ accessed from both the foreground and the background thread,
> so this just can't work reliably without locking.
>
> Klaus

Hi,

no problem for me, and because i think most other user uses lirc or the 
remote plugin to control vdr it is only a minor problem. So i still use rcu 
without the locks and wait until you use a NPTL enabled linux;)


Greetings
Andreas




More information about the vdr mailing list