From: Charles P W. <cpw...@us...> - 2008-10-13 15:31:23
|
Applied. Charles "M.H.VanLeeuwen" <mh...@sb...> wrote on 10/13/2008 01:02:44 AM: > Hi, > > CPU CONGESTION warnings are displayed unnecessarily when there are large > numbers of open sockets but little activity. This is caused by the > loops variable going negative while searching the sockets[] array for > file descriptors with messages. > > Variable loops is initialized from max_recv_loops defined as: > > {"max_recv_loops", "Set the maximum number of messages received read per > cycle. Increase this value for high traffic level. The default value is > 1000.", SIPP_OPTION_INT, &max_recv_loops, 1}, > > The fix is to decrement the loops variable based on receipt of messages > not the search for them. > > Thanks, > Martin > > > > --- sipp.cpp.cpu_overload Sun Oct 12 23:27:28 2008 > +++ sipp.cpp Sun Oct 12 23:30:06 2008 > @@ -3188,7 +3188,7 @@ > } > > /* We need to process any messages that we have left over. */ > - while (pending_messages && (loops-- > 0)) { > + while (pending_messages && (loops > 0)) { > clock_tick = getmilliseconds(); > if (sockets[read_index]->ss_msglen) { > struct sockaddr_storage src; > @@ -3199,6 +3199,7 @@ > } else { > assert(0); > } > + loops--; > } > read_index = (read_index + 1) % pollnfds; > } > @@ -3295,7 +3296,7 @@ > } > > /* We need to process any new messages that we read. */ > - while (pending_messages && (loops-- > 0)) { > + while (pending_messages && (loops > 0)) { > clock_tick = getmilliseconds(); > > if (sockets[read_index]->ss_msglen) { > @@ -3309,6 +3310,7 @@ > } else { > assert(0); > } > + loops--; > } > read_index = (read_index + 1) % pollnfds; > } > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Sipp-devel mailing list > Sip...@li... > https://lists.sourceforge.net/lists/listinfo/sipp-devel |