[Click] Strange behavior when using RoundRobinSched, PrioSched

Eddie Kohler kohler at cs.ucla.edu
Thu Jun 12 10:17:48 EDT 2008


Hi Michael,

Thanks for the clear explanation.  I agree that a zero-input scheduler is not 
so useful, but it's a shame to lose that generality -- so I've made it so that 
"PrioSched -> Discard" doesn't waste CPU.  Hope it didn't break anything else.

Eddie


Michael Voorhaen wrote:
> When refactoring a large router we uncovered a problem with some of  
> the schedulers in click. The problem is easy to reproduce e.g.
> 
> PrioSched -> Discard;
> 
> or
> 
> RoundRobinSched -> Discard
> 
> result in click running at 100% CPU. Since the upstream Discard (or in  
> our case unqueue) will never find an upstream empty signal it seems to  
> never go to sleep. Off course this is a trivial example and one would  
> probably not write it to begin with. On the other hand, we were  
> removing the scheduler from the script and a line similar to the one  
> above, was mistakenly not removed.
> 
> The fix is pretty straightforward as it is sufficient to modify the  
> PrioSched or RoundRobinSched to take "1-/1" as the port_count return  
> value and not "-/1" as it is now. It seems rather unnecessary to be  
> able to define schedulers with no inputs at all.
> 
> Regards,
> Bart & Michael
> 
> -------------------------
> IBBT - PATS research group
> Dept. of Mathematics and Computer Sciences
> University of Antwerp
> Campus Middelheim, G3.30
> Middelheimlaan 1
> B-2020 Antwerpen, Belgium
> Phone: +32 (0)3 265.32.91
> Fax: +32 (0)3 265.37.77
> Web: www.pats.ua.ac.be/michael.voorhaen
> 
> 
> 
> 
> 
> 
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list