summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_hfsc.c
diff options
context:
space:
mode:
authorMichal Soltys <soltys@ziu.info>2016-06-30 02:26:48 +0200
committerDavid S. Miller <davem@davemloft.net>2016-07-01 11:03:43 +0200
commit33ef84a77d7502359abd097a28dbeb67d5466a7c (patch)
tree33367ce93af815a7be03dd351bf044276789dc41 /net/sched/sch_hfsc.c
parentnet/sched/sch_hfsc.c: go passive after vt update (diff)
downloadlinux-33ef84a77d7502359abd097a28dbeb67d5466a7c.tar.xz
linux-33ef84a77d7502359abd097a28dbeb67d5466a7c.zip
net/sched/sch_hfsc.c: anchor virtual curve at proper vt in hfsc_change_fsc()
cl->cl_vt alone is relative only to the current backlog period, while the curve operates on cumulative virtual time. This patch adds missing cl->cl_vtoff. Signed-off-by: Michal Soltys <soltys@ziu.info> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_hfsc.c')
-rw-r--r--net/sched/sch_hfsc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c
index 4eef857bac4d..dff92ea772fe 100644
--- a/net/sched/sch_hfsc.c
+++ b/net/sched/sch_hfsc.c
@@ -940,7 +940,7 @@ static void
hfsc_change_fsc(struct hfsc_class *cl, struct tc_service_curve *fsc)
{
sc2isc(fsc, &cl->cl_fsc);
- rtsc_init(&cl->cl_virtual, &cl->cl_fsc, cl->cl_vt, cl->cl_total);
+ rtsc_init(&cl->cl_virtual, &cl->cl_fsc, cl->cl_vtoff + cl->cl_vt, cl->cl_total);
cl->cl_flags |= HFSC_FSC;
}