For reference, here is the AstLinux kernel config for the ALIX:
http://astlinux.svn.sourceforge.net/viewvc/astlinux/trunk/target/device/alix/linux.config?view=markup
We've got what I consider to be excellent support for the ALIX - most
of the developers use them and they are very popular in the
Here is what I found...
I tried high-priority scheduling as per your suggestion, reniced the program
explicitly, rewrote timer thread to sleep on cond. variable and activate
only when there are timers and only when the timer actually had to be
clicked, turned off SQL thread and removed polling
Did you do each thing alone too to tell the difference?
-hp alone, disable monotonic alone (i did not see you mention the disable
monotonic)
as for your 4ms thing, yes we require high resolution timing, if we ask to
sleep 1000 microseconds that is what we need it to sleep for or at least as
close
oh and also
use top -H to see which threads are using specific CPU and try to cross
reference them by attaching with gdb and dumping all the thread bt
On Mon, Dec 7, 2009 at 10:16 AM, Michael Jerris m...@jerris.com wrote:
Also I have seen some people reporting that the new tickless timers in
What do you want me to check while running these tests? Sound quality (it's
good now even with original 1.0.4). Or CPU utilization?
It's Debian 4.
Anthony Minessale-2 wrote:
Did you do each thing alone too to tell the difference?
-hp alone, disable monotonic alone (i did not see you
Both,
if it always sounds ok then I guess CPU usage.
On Mon, Dec 7, 2009 at 2:58 PM, eaf erandr-j...@usa.net wrote:
What do you want me to check while running these tests? Sound quality (it's
good now even with original 1.0.4). Or CPU utilization?
It's Debian 4.
Anthony Minessale-2
A word to the wise to the general FreeSWITCH community: If Anthony
Minessale suggests that you try to do any number of things, it's a very
good idea to try all those ideas before continuing on. I've known him,
MikeJ, and bkw for several years, and they almost always have very good
ideas as
There is another user here with a 300mhz box. I am willing to investigate
this improved performance for weak devices but I need to do it in a sane
cross-platform way.
On Fri, Dec 4, 2009 at 1:32 PM, Yossi Neiman freeswi...@cartissolutions.com
wrote:
A word to the wise to the general
A little more data from one of my (our) boxes:
starbox_352 ~ # uname -a
Linux starbox_352 2.6.26.8-astlinux #1 PREEMPT Tue Nov 24 16:20:52 EST
2009 i586 unknown
starbox_352 ~ #
starbox_352 ~ # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model
First off, maybe this conversation is better suited to the dev list, and second
off, the current setup of where we do timers, where we poll, polling frequency
and architecture is the result of 4+ years of ongoing testing and optimization.
We have tried all different methods throughout.
Oh, it's not just one timer thread... Why, why is sql_thread keeps on
checking for messages every millisecond? Couldn't there be some signalling
implemented that will make the thread suspend on condition variable or a
socket/pipe in between?
#0 do_sleep (t=1000) at src/switch_time.c:109
#1
Btw, I have these popping up in my logs from time to time:
2009-12-03 09:42:06.035294 [DEBUG] switch_core_state_machine.c:314
(sofia/external/xx...@4.68.250.148) Running State Change CS_HANGUP
2009-12-03 09:42:06.035294 [CRIT] switch_time.c:473 Virtual Migration
Detected! Syncing Clock
In this
If you see that message then your machine/os/combo is having some problems
keeping up.
It's not the timer missing anything its the monotonic clock detecting a 1
second or more differential from what its next prediction for the time
should be. The best way to trigger this would be to suspend FS
I'm sorry if I sounded that way. Did mean to. :)
Yes, it's an embedded platform. It's an ALIX board with AMD Geode LX800 chip
and 256MB of RAM. http://www.pcengines.ch/alix2d3.htm
Line offset difference is due to some minor logging changes I made to see
who's allocating timers and how often.
I don't think it's the board itself...
We have extensively tested FreeSwitch (no modifications) on that exact
board with AstLinux and have it running at multiple customer
locations.
No timing errors, no warnings or errors of any kind. Pretty standard
really just don't expect too much from the
I know people with hardware out there in production based on arm11 and those
are pretty small processors, not sure how they compare to this. In regards to
the DISABLE_1MS_COND, try getting rid of that, it did increase performance on
the high end but may be better for you on the low end with
What about the things I spent time suggesting in my last email?
Did you try them because I was actually curious if they made any impact.
On Thu, Dec 3, 2009 at 11:29 AM, eaf erandr-j...@usa.net wrote:
I'm sorry if I sounded that way. Did mean to. :)
Yes, it's an embedded platform. It's an
You mean, upgrading to the trunk and disabling RTP timers? Yes, I did. I
thought I responded back. Perhaps it didn't make through though, as I just
emailed back to the list instead of using nabble.com...
Anyway, upgrading to the trunk didn't change much, forcing SPA to 30ms went
w/o any effect
no,
I mean the one after that that you must have completely skipped with a
command line option to try and a param to set in the config. It somewhat
annoys me for taking the time to compose it now. I wrote all of the code
you are talking about myself and I was trying to give you some
Oh, you mean giving FS higher priority? Yeah, as a last resort I'll do that.
At the moment, I hope it won't be necessary as I can make those hyper
threads behave, and will see how that goes first. I see where your
implementation could be coming from. There is a queue of SQL queries in
sofia.c
Sigh,
You just took it up a notch in terms of disdain and sarcasm.
Why do people always only apologize sarcastically?
I asked you to try the -hp and turn off the monotonic clock just to gather
the results to help you. You completely missed it and just went on about
the threads. Please save
in and out of select()
every millisecond! Why??
-- Original Message --
Received: Tue, 01 Dec 2009 08:31:46 PM EST
From: erandr-j...@usa.net
To: freeswitch-users@lists.freeswitch.org
Subject: Re: [Freeswitch-users] Choppy sound with PCMU
Thanks. I tried that... Just forcing SPA
Can I reduce resolution of that timer thread 10 times? I mean, I glanced
through the code, and see that among others (are there others?) RTP and IVR
set up their timers that are subsequently managed by this thread. RTP timers
should be eliminated by that setting you've suggested. IVR timers are
Oh, looks like the timers are also used for streaming local data in
read_stream_thread(). Due to this there is always one timer active with 20ms
interval.
But wait a sec, why is freeswitch periodically trying to stream
/opt/freeswitch/sounds/music/8000/ponce-preludio-in-e-major.wav somewhere?
OK, I'm slow. It's music-on-hold, and it's playing non-stop like that timer
thread. Even when there are no calls. Why?
eaf wrote:
Oh, looks like the timers are also used for streaming local data in
read_stream_thread(). Due to this there is always one timer active with
20ms interval.
This is keeping track of a place in the music on hold so your hold
music does not start back up at the same place every time. If you
don't want to do this it is a module that you don't need to load and
you can get your moh from any soundfile at your choice in configuration.
Mike
On Dec 2,
In short. No, you can not for many reasons. The milisecond tic is
used throughout the code even when there is not any calls up. You can
grep for switch_cond_next if you would like to see where but it is
required to keep our global timestamp and for pacing the scheduler
among other
As I see it, switch_cond_next() currently is just a do_sleep(1000). Yes, it
could be mapped to a 1ms timer, but #define DISABLE_1MS_COND overrides
that.
Yeah, there is a global timestamp... It's easy to workaround that for RTP
who calls switch_micro_time_now()... But if somebody accesses
Hi,
I'm trying to migrate from Asterisk to FreeSWITCH (really like the way how
it can be programmed), but ran into one issue with sound quality that I just
cannot workaround by myself. I would describe the sound problem as being
choppy. From time to time small portions of the other party's voice
I should also add, after browsing through some topics here, that my SIP
provider sends 172-byte RTP frames, which is in accordance with ptime:20
that it gives to FreeSWITCH.
eaf wrote:
Hi,
I'm trying to migrate from Asterisk to FreeSWITCH (really like the way how
it can be programmed),
linksys has had a bug for eons that can be fixed by setting the ptime (or
rtp packet size in their terms)
in it's firmware to .20 instead of .30
Asterisk does not use async RTP like we do so it's never a problem
you can disable the timer by setting the channel var rtp_timer_name=none or
sofia
-users] Choppy sound with PCMU
linksys has had a bug for eons that can be fixed by setting the ptime (or
rtp packet size in their terms)
in it's firmware to .20 instead of .30
Asterisk does not use async RTP like we do so it's never a problem
you can disable the timer by setting the channel
Dec 2009 08:31:46 PM EST
From: erandr-j...@usa.net
To: freeswitch-users@lists.freeswitch.org
Subject: Re: [Freeswitch-users] Choppy sound with PCMU
Thanks. I tried that... Just forcing SPA to 20ms didn't change anything.
Just
installing SVN trunk didn't fix it either, but setting that option
33 matches
Mail list logo