Re: [PATCH RESEND] sched: add missing group change toqfq_change_class

From: David Miller
Date: Wed Aug 08 2012 - 19:03:43 EST


From: Paolo Valente <paolo.valente@xxxxxxxxxx>
Date: Tue, 7 Aug 2012 19:27:25 +0200

> [Resending again, as the text was corrupted by the email client]
>
> To speed up operations, QFQ internally divides classes into
> groups. Which group a class belongs to depends on the ratio between
> the maximum packet length and the weight of the class. Unfortunately
> the function qfq_change_class lacks the steps for changing the group
> of a class when the ratio max_pkt_len/weight of the class changes.
>
> For example, when the last of the following three commands is
> executed, the group of class 1:1 is not correctly changed:
>
> tc disc add dev XXX root handle 1: qfq
> tc class add dev XXX parent 1: qfq classid 1:1 weight 1
> tc class change dev XXX parent 1: classid 1:1 qfq weight 4
>
> Not changing the group of a class does not affect the long-term
> bandwidth guaranteed to the class, as the latter is independent of the
> maximum packet length, and correctly changes (only) if the weight of
> the class changes. In contrast, if the group of the class is not
> updated, the class is still guaranteed the short-term bandwidth and
> packet delay related to its old group, instead of the guarantees that
> it should receive according to its new weight and/or maximum packet
> length. This may also break service guarantees for other classes.
> This patch adds the missing operations.
>
> Signed-off-by: Paolo Valente <paolo.valente@xxxxxxxxxx>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/