[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