[Xorp-hackers] xorp-ospf performance issues: busy-spins & packet floods.

Ben Greear greearb at candelatech.com
Sat Oct 20 19:53:52 PDT 2007


Ben Greear wrote:
> Pavlin Radoslavov wrote:
>   
>> See SelectorList::get_ready_priority() inside libxorp/selector.cc
>> for example.
>> It is used to find the best priority of a file descriptor that is
>> ready.
>>     
The attached patch still lets ospf busy-spin, but at least now it's 
spinning doing reads and
writes of some SCTP payload instead of just spinning w/out obviously 
doing anything...

It should get rid of several time calls and some static global variables 
as well.

Thanks,
Ben

>>   
>>     
>
> What do you think about having the run() method execute the timer(s),
> then tasks, then the selector.   I'd run the selector last since it can 
> sleep.
> We can get rid of the get_ready_priority() all together that way.  If you
> really wanted to not handle all of the available fds at once (ie, allow low
> priorities to be skipped), then we could just not process all of them.  
> I can't
> think of a good reason to do that, however.
>
> Then, we have only one call to select(), as well as making sure that each
> of the run-queues (timers, tasks, selectors) gets some time to run.  I 
> am suspicious
> that the loop I see in ospf has to do with an endless timer loop where 
> the ospf
> code keeps trying to fire timers but never reads/writes the sockets.  I 
> also assume
> that if it could actually process the sockets, it's timers would be 
> satisfied and quit
> re-arming themselves.  This is idle conjecture at this time, but it 
> would fit the
> strace log I saw...
>
> I think I can code this up and test it out if it's something you'd
> consider merging.
>
> Thanks,
> Ben
>
>   


-- 
Ben Greear <greearb at candelatech.com> 
Candela Technologies Inc  http://www.candelatech.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: xorp.patch
Type: text/x-patch
Size: 2759 bytes
Desc: not available
Url : http://mailman.ICSI.Berkeley.EDU/pipermail/xorp-hackers/attachments/20071020/bac14d00/attachment.bin 


More information about the Xorp-hackers mailing list