From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jarek Poplawski Subject: Re: NET_SCHED cbq dropping too many packets on a bonding interface Date: Thu, 15 May 2008 20:09:14 +0200 Message-ID: <20080515180914.GA2936@ami.dom.local> References: <20080515091216.GA6550@ff.dom.local> <8ECDBB4EB5394859BFFACAAEE3A6EDB0@uglypunk> <482C6040.9030808@trash.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Kingsley Foreman , Eric Dumazet , Andrew Morton , linux-kernel@vger.kernel.org, netdev@vger.kernel.org To: Patrick McHardy Return-path: Content-Disposition: inline In-Reply-To: <482C6040.9030808@trash.net> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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(). I've asked to check tomorrow "pfifo limit 1000" for these drops too. > 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). Regards, Jarek P.