Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
>> Jan Kiszka wrote:
>>> Gilles Chanteperdrix wrote:
>>>> Jan Kiszka wrote:
>>>>> Gilles Chanteperdrix wrote:
>>>>>> Jan Kiszka wrote:
>>>>>>> Gilles Chanteperdrix wrote:
>>>>>>>> Jan Kiszka wrote:
>>>>>>>>> Gilles Chanteperdrix wrote:
>>>>>>>>>> Jan Kiszka wrote:
>>>>>>>>>>> Disabling SMP (on platforms where this isn't off by design already) 
>>>>>>>>>>> is
>>>>>>>>>>> an optimization. In contrast, not enabling it by default is doomed 
>>>>>>>>>>> to
>>>>>>>>>>> cause problems for users that run ./configure without looking into 
>>>>>>>>>>> each
>>>>>>>>>>> and every switch - now that CONFIG_SMP is very important for all the
>>>>>>>>>>> fast locking stuff.
>>>>>>>>>> I would consider setting CONFIG_SMP by default on x86... because on 
>>>>>>>>>> some
>>>>>>>>>> other architectures like arm, it is not even yet a valid 
>>>>>>>>>> configuration.
>>>>>>>>> But it is on PowerPC or IA64. Would it cause troubles for the
>>>>>>>>> non-SMP-ready archs? Then we can disable it on those selectively.
>>>>>>>> Are you sure that the lock prefix on an UP x86 or lsync on an UP 
>>>>>>>> powerpc
>>>>>>>> is hamrless ?
>>>>>>> LOCK is harmless (except for potential overhead), can't comment isync,
>>>>>>> but I strongly suspect the same (locking at the glibc e.g.). There is a
>>>>>>> simple idea behind this: Do you have to install a special glibc in order
>>>>>>> to enable/disable SMP support?
>>>>>>>
>>>>>>> [ BTW, I think the current pthread_mutex implementation lacks the LOCK
>>>>>>> prefix even in SMP mode due to include issues. Will get fixed with my
>>>>>>> patches under preparation, which also unifies that stuff on x86. ]
>>>>>> Should be easy to check, disassemble pthread_mutex_lock with CONFIG_SMP
>>>>>> enabled.
>>>>>>
>>>>>> You mean we should include asm/xenomai/features.h before using 
>>>>>> CONFIG_SMP ?
>>>>> That helps as well - I added xeno_config.h explicitly so far, but
>>>>> features.h implies xeno_config.h, of course.
>>>> asm/xenomai/features.h does convert the configure.in options into the
>>>> kernel "namespace" options. But it seems that CONFIG_SMP is directly set
>>>> by configure.in anyway.
>>>>
>>>>> Jan - who seems to have run into alignment issues of cmpxchg on x86_64
>>>> pthread_mutex_lock uses xnheap_alloc to allocate the piece of memory
>>>> used for the mutex. So, if the piece of memory is not eight bytes
>>>> aligned, this is xnheap_alloc's fault...
>>> Maybe it's far simpler: XNARCH_HAVE_US_ATOMIC_CMPXCHG - where the heck
>>> does this come from? I just thought I only forgot to define it for
>>> x86_64, but I don't find any traces for 32-bit as well. Hmm, should this
>>> be called "CONFIG_XENO_FASTSEM" now? Testing...
>> Yes, XNARCH_HAVE_US_ATOMIC_CMPXCHG is dead now, it was replaced with
>> CONFIG_XENO_FASTSEM.
>> CONFIG_XENO_FASTSEM, in turn is set by Kconfig in kernel space, and
>> configure.in in user-space.
>>
> 
> Then this should fix fastsem support again (still preparing the
> test...):

Yes, please commit.

-- 
                                                 Gilles.

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to