[Freeswitch-users] FreeSWITCH and SOHO systems / HPET timers

Brett Maxfield brett.maxfield+freeswitch at gmail.com
Fri May 6 17:30:40 MSD 2011


Hi List,

I have been looking for a small SOHO software switch to manage one or two
phone extensions to initially one upstream SIP provider.

I have installed the demo/example system on a few pieces of hardware which
while are not high end, nevertheless are OK considering the very small
capacity required for a SOHO system, and me wanting to reserve my better
hardware for more high end loads. The embedded fanless system i have runs
ok, but the voice for the test IVR is very choppy, and the same choppy
result on a atom dual core net-top (both centos 5.6). I understand that
tuning is a complex issue on a non-RT system such as Linux, and so
FreeSWITCH is probably only tuned for high end systems. This choppiness,
specifically on low end systems, is "mentioned" in previous list discussions
as being a timer granularity issue with the kernel.

I've had some googling around and it seems that the newest centos version
supported by FreeSWITCH is CentOS 5.3, perhaps due to issues with timer
resolution in newer kernels. The stock kernel for 5.4 and 5.5 does not
appear to have a 1000Hz kernel, from what i can see, and xen stock kernels
that i have seen have 250Hz, which is different again, and would also be a
problem for FreeSWITCH running in a xen guest.

So my question is, given the contentious issue this seems to have been in
the past, should i even bother trying/using FreeSWITCH for these sorts of
SOHO / low end systems ?

Is there any plan to make FreeSWITCH tunable (in a non-default way) for low
end SOHO systems, which might have a typical 3-4 (say 10 at max)
connections, rather than being tuned for 100's or even 1000's of connections
by default.

>From what i have seen i quite like FreeSWITCH, and would like to run it for
both SOHO and learning purposes.

I note that centos 5.6 does not explicitly mention CONFIG_HZ_* anymore in
the kernel config (/boot/config-2.6.18-238.9.1.el5.centos.plus), but it does
appear to have support for HPET :

CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_TICK_DIVIDER=y

There was talk of high resolution timer patches for kernel 2.6.17, and hpet
timers seem to be present in the 2.6.18 kernel, at least in centos 5.6 above
(i have not checked previous versions).

Given the increasing availability of HPET timers in newer kernels, could
features such as nanosleep() and HPET timers be used to avoid the problems
with the kernel's timer granularity / HZ issues ?

Cheers
Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110506/817f211d/attachment.html 


More information about the FreeSWITCH-users mailing list