[asterisk-dev] Help Solve the Mysterious Slowdown in Sip channel driver in Trunk!

Russell Bryant russell at digium.com
Thu Jul 24 15:02:04 CDT 2008

Steve Murphy wrote:
>         1. 1.6 locking and holding times are about, on the average, 
>            roughly, twice the time of 1.4.

Could very well be a side effect of #2 ...

>         2. channel_find_locked() is called 3 times in 1.4; it is 
>            called almost 7000 times in trunk,
>            and runs approx 6 times slower. 
>            Here is a possible candidate.

Wow... Can you add some debugging to figure out where these calls are 
being made from where it wasn't being done before?

>         3. taskprocessor stuff gets called 21,000 times 
>            in trunk, but wasn't used at all in 1.4
>            -- something to look at.

I'm not too suspicious of this.  This code was put in to replace 
equivalent logic that was in main/devicestate.c before.  It's now just 
being done through a common framework.

>         4. We have been "cheating" with trunk. All numbers 
>            and hold times with the channel lock
>            call removed from the handle_request_invite. 
>            This roughly doubled the performance of
>            chan_sip wrt call setup/teardown speed. It 
>            just tends to lock up when you do
>            a "stop gracefully"...

I guess we shouldn't cheat, anymore.  :)

Russell Bryant
Senior Software Engineer
Open Source Team Lead
Digium, Inc.

More information about the asterisk-dev mailing list