q->flows[reduced_hash].dsthost = dsthost_idx;
}
}
-@@ -1793,20 +1797,30 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1817,20 +1821,30 @@ static s32 cake_enqueue(struct sk_buff *
b->sparse_flow_count++;
if (cake_dsrc(q->flow_mode))
}
if (q->buffer_used > q->buffer_max_used)
-@@ -1974,23 +1988,8 @@ retry:
+@@ -1998,23 +2012,8 @@ retry:
dsthost = &b->hosts[flow->dsthost];
host_load = 1;
/* Keep all flows with deficits out of the sparse and decaying
* rotations. No non-empty flow can go into the decaying
* rotation, so they can't get deficits
-@@ -1999,6 +1998,13 @@ retry:
+@@ -2023,6 +2022,13 @@ retry:
if (flow->head) {
b->sparse_flow_count--;
b->bulk_flow_count++;
flow->set = CAKE_SET_BULK;
} else {
/* we've moved it to the bulk rotation for
-@@ -2008,6 +2014,22 @@ retry:
+@@ -2032,6 +2038,22 @@ retry:
flow->set = CAKE_SET_SPARSE_WAIT;
}
}
goto retry;
}
-@@ -2028,6 +2050,13 @@ retry:
+@@ -2052,6 +2074,13 @@ retry:
&b->decaying_flows);
if (flow->set == CAKE_SET_BULK) {
b->bulk_flow_count--;
b->decaying_flow_count++;
} else if (flow->set == CAKE_SET_SPARSE ||
flow->set == CAKE_SET_SPARSE_WAIT) {
-@@ -2041,14 +2070,19 @@ retry:
+@@ -2065,14 +2094,19 @@ retry:
if (flow->set == CAKE_SET_SPARSE ||
flow->set == CAKE_SET_SPARSE_WAIT)
b->sparse_flow_count--;