[Xenomai] Cobalt __SIGPOOL_SIZE

Jan Kiszka jan.kiszka at siemens.com
Mon Jul 2 15:41:10 CEST 2018


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?

Jan

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux



More information about the Xenomai mailing list