Thread (15 messages) 15 messages, 4 authors, 2016-05-03

Re: [PATCHv2] netem: Segment GSO packets on enqueue.

From: Neil Horman <nhorman@tuxdriver.com>
Date: 2016-04-29 01:20:53

On Thu, Apr 28, 2016 at 01:58:53PM -0700, Eric Dumazet wrote:
On Thu, 2016-04-28 at 16:09 -0400, Neil Horman wrote:
quoted
This was recently reported to me, and reproduced on the latest net kernel, when
attempting to run netperf from a host that had a netem qdisc attached to the
egress interface:
quoted
 
-	return NET_XMIT_SUCCESS;
+finish_segs:
+	while (segs) {
+		skb2 = segs->next;
+		segs->next = NULL;
+		qdisc_skb_cb(segs)->pkt_len = segs->len;
+		rc = qdisc_enqueue(segs, sch);
+		if (rc != NET_XMIT_SUCCESS) {
+			if (net_xmit_drop_count(rc))
+				qdisc_qstats_drop(sch);
+		}
+		segs = skb2;
+	}
+	return rc;
 }
It seems you missed the qdisc_tree_reduce_backlog() call ?
Crap, yes, sorry.  I did a last minute modification to move the segment
requeuing to netem_enqueue and inadvertently remove it, I'll repost shortly.

Best
Neil
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help