On 2014-12-18 16:30, Gilles Chanteperdrix wrote:
> On Thu, Dec 18, 2014 at 04:25:40PM +0100, Ronny Meeus wrote:
>> On Thu, Dec 18, 2014 at 4:04 PM, Gilles Chanteperdrix
>> <[email protected]> wrote:
>>> On Thu, Dec 18, 2014 at 03:58:52PM +0100, Jan Kiszka wrote:
>>>> On 2014-12-18 15:12, Gilles Chanteperdrix wrote:
>>>>> Otherwise, have you tried some alternate libc, such as musl:
>>>>> http://www.musl-libc.org/
>>>>>
>>>>> The following blog:
>>>>> http://ewontfix.com/
>>>>>
>>>>> Seems to show that the musl maintainers try and report glibc bugs
>>>>> and avoid them in their implementation.
>>>>>
>>>>> I have not tried xenomai with musl at all, so, maybe it does not
>>>>> even compile. But maybe just compiling a testcase for the condvar
>>>>> issue with that libc would help know if it has the same issue or
>>>>> not.
>>>>
>>>> Well, like with many of those "light-weight" re-implementations, the are
>>>> "small" issues with bits required for real-time:
>>>>
>>>> http://git.musl-libc.org/cgit/musl/tree/src/thread/pthread_mutexattr_setprotocol.c
>>>
>>> On the other hand, no implementation with a clear ENOTSUPP is better
>>> than a partial and buggy implementation that can not be trusted anyway.
>>>
>>> --
>>>                                             Gilles.
>>
>> Gilles I agree.
>>
>> In the meantime I tried it already.
>>
>> This is indeed the trace I get when running my test application with musl.
>> # ./cond_test_arm
>> # hread_mutexattr_setprotocol: Not supported
>>
>> Cobalt is not an option for us either since in that case all Linux
>> applications will run in low-priority. Next to that we also have a
>> huge priority inversion each time a Linux system call is done.
>>
>> Do we have other options to fix forge?
> 
> Well, three options have been proposed if I followed this thread
> correctly: 
> - stop using priority inheritance for these internal mutexes, at the
> risk of creating priority inversions
> - switch to priority ceiling (but what will be the ceiling? 99?)

Likely - part of the reason why that is no general solution.

> - use cobalt.

- use a patched glibc
- fix upstream glibc - non-trivial, as history shows, but long overdue

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SES-DE
Corporate Competence Center Embedded Linux

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to