From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nbd.name ([46.4.11.11]:50792 "EHLO nbd.name" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932087AbeCKH6d (ORCPT ); Sun, 11 Mar 2018 03:58:33 -0400 Subject: Re: [PATCH RFC] net_sched/codel: do not defer queue length update To: Konstantin Khlebnikov , netdev@vger.kernel.org, "David S. Miller" Cc: Cong Wang , Eric Dumazet , Jiri Pirko References: <150330325401.155105.30496752582836861.stgit@buzz> From: Felix Fietkau Message-ID: Date: Sun, 11 Mar 2018 08:58:25 +0100 MIME-Version: 1.0 In-Reply-To: <150330325401.155105.30496752582836861.stgit@buzz> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: netdev-owner@vger.kernel.org List-ID: On 2017-08-21 10:14, Konstantin Khlebnikov wrote: > When codel wants to drop last packet in ->dequeue() it cannot call > qdisc_tree_reduce_backlog() right away - it will notify parent qdisc > about zero qlen and HTB/HFSC will deactivate class. The same class will > be deactivated second time by caller of ->dequeue(). Currently codel and > fq_codel defer update. This triggers warning in HFSC when it's qlen != 0 > but there is no active classes. > > This patch update parent queue length immediately: just temporary increase > qlen around qdisc_tree_reduce_backlog() to prevent first class deactivation > if we have skb to return. > > This might open another problem in HFSC - now operation peek could fail and > deactivate parent class. > > Signed-off-by: Konstantin Khlebnikov > Link: https://bugzilla.kernel.org/show_bug.cgi?id=109581 This has been tested by several people and it seems to be working well. Please make sure this gets merged soon. Thanks, - Felix