[Xenomai] Cobalt __SIGPOOL_SIZE

Philippe Gerum rpm at xenomai.org
Tue Jul 3 19:13:33 CEST 2018


On 07/02/2018 03:41 PM, Jan Kiszka wrote:
> On 2018-07-02 15:18, Jan Kiszka wrote:
>> Hi Philippe,
>>
>> The comment for __SIGPOOL_SIZE in kernel/cobalt/posix/signal.c suggests
>> that there can't be many signals in pending state at the same time, but
>> I think it is wrong: Signal are collected per thread, and each of it can
>> pile up multiple of them. Even if we assume that typical threads will
>> not queue those for long and will not wait for many of them, the fact
>> that the system-wide(!) number of threads is a scaling factor and the
>> pool is system-wide as well makes me wonder if __SIGPOOL_SIZE shouldn't
>> become a tunable.
>>
>> BTW, I think we are leaking pending signals on thread destruction.
>> Currently writing a test case, and I already have a fix candidate at hand.
> 
> Confirmed, fix is on the way.
> 
> We also need to remove or replace printk_ratelimit because it is not
> Xenomai-compatible (takes a Linux spinlock internally). But we solved
> that problem already, for RTDM: Should I move rtdm_printk_ratelimit to
> the core?
> 

Ok.


-- 
Philippe.



More information about the Xenomai mailing list