Re: [PATCH v2 1/3] process cputimer is moving faster than its corresponding clock

KOSAKI Motohiro
2013-04-29T18:37:51Z

(4/29/13 2:20 PM), Olivier Langlois wrote:
>
>>
>>>> I'm confused. glibc's rt/tst-cputimer1 doesn't have thread exiting code. I have
>>>> no seen any issue in this accounting.
>>>
>>> glibc launch a helper thread to receive timer signal and will also
>>> create a new thread upon signal reception when a timer is created with
>>> sigev_notify = SIGEV_THREAD;
>>>
>>> please see:
>>>
>>> glibc-2.17/nptl/sysdeps/unix/sysv/linux/timer_create.c
>>> glibc-2.17/nptl/sysdeps/unix/sysv/linux/timer_routines.c
>>
>> I know. I taled thread exiting. not thread creating. And, as far as I can see, only test sig1 can fail,
>> not thr[12].
>>
> Apart from glibc helper thread, the threads created for handling timer
> firing all do exit immediatly as soon as user callback returns.

And, libc ensure its exiting finished before starting actual tests. Why such thread exiting
affect timers code? It shouldn't. becuase signal.cputimer is initialized timer_settime().
The initialization is incorrect, we should fix initialization.

> I count 12 thread exits during tst-cputimer1 execution. The errors do
> add up hence you're more likely to see errors after 2.5 sec and up from
> start of execution. I have seen sig1, thr[12] fails. I see no reason why
> one could not fail.