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 > [email protected] > https://amsterdam.lcs.mit.edu/mailman/listinfo/click _______________________________________________ click mailing list [email protected] https://amsterdam.lcs.mit.edu/mailman/listinfo/click
