Timer_fd, Pthreads, Or DAHDI Timer For Timing Under

Home » Asterisk Users » Timer_fd, Pthreads, Or DAHDI Timer For Timing Under
Asterisk Users 1 Comment

Hi guys

I have some questions regarding the above

1. Why are there different options for timing?

2. What are the differences between these types of timing sources?

3. When should you use what?

4. Is one timer type more “reliable” for an Asterisk system under heavy loads than another while NOT using any DAHDI hardware – SIP only?

I’m of course referring to the familiar “spamming timer_fd error messages in the CLI with increasing load until asterisk crashes” phenomenon.

Using on CentOS 6.5

Any thoughts appreciated!

Thank you


One thought on - Timer_fd, Pthreads, Or DAHDI Timer For Timing Under

  • Stefan Viljoen wrote:

    Some systems don’t have timerfd, some systems don’t have DAHDI. The goal is to have at least some sort of timing module for every system.

    Timerfd uses an interface provided by the kernel for reliable timing. DAHDI uses the timing provided by a physical card. pthread emulates a timing source by using some wait logic. kqueue is for OSX systems.

    timerfd > DAHDI > pthread.

    timerfd will always be more reliable than pthread.

    A change was done over 2 years ago[1] to stop this spamming from occurring. An issue[2] remains open, though, as the underlying reason for the failure was not isolated.

    [1] http://svnview.digium.com/svn/asterisk/branches/?view=log&pathrev75893
    [2] https://issues.asterisk.org/jira/browse/ASTERISK-20032