Re: NET_SCHED cbq dropping too many packets on a bonding interface

From: Patrick McHardy
Date: Thu May 15 2008 - 14:14:54 EST


Jarek Poplawski wrote:
On Thu, May 15, 2008 at 06:09:36PM +0200, Patrick McHardy wrote:
Kingsley Foreman wrote:
i just rolled back the kernel to 2.6.24 and im seeing the same thing,

I was using 2.6.22 before and didn't see the problem, txqueuelen on the bond0 interface is 0 (the default)
That might explain things, although it shouldn't have worked before
either.

CBQ creates default pfifo qdiscs for its leaves, these use a limit
of txqueuelen or 1 if it is zero. So even small bursts will cause
drops. Do things improve if you set txqueuelen to a larger value
*before* configuring the qdiscs?

Kingsley wrote to me that even after changing txqueuelen to 1000 the
"dropped" number didn't change much. A debugging patch with printks
around all "sch->qstats.dropps++" showed only the end of cbq_enqueue().


Thats where packets dropped by default pfifo would be accounted.
Did you change txqueuelen before or after setting up the qdiscs?

I've asked to check tomorrow "pfifo limit 1000" for these drops too.

That will clear it up.

Another thing is that CBQ on bond will probably not work properly
at all, it needs a real device since it measures the timing between
dequeue events for idle time estimation. On software devices this
doesn't work.

Right, but these drops without any sign of overactions or overlimits
seem to show it's not about shaping (or it's not counted/documented
enough).

Yes, these drops are probably unrelated, just thought I mention it.
--
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/