From patchwork Wed Oct 31 16:19:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leslie Monis X-Patchwork-Id: 991533 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mrhM9VuU"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42lYTD1hGxz9s1x for ; Thu, 1 Nov 2018 03:20:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729807AbeKABSj (ORCPT ); Wed, 31 Oct 2018 21:18:39 -0400 Received: from mail-pl1-f193.google.com ([209.85.214.193]:36192 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729287AbeKABSj (ORCPT ); Wed, 31 Oct 2018 21:18:39 -0400 Received: by mail-pl1-f193.google.com with SMTP id y11-v6so7531740plt.3 for ; Wed, 31 Oct 2018 09:19:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=16VmbFUwZMcja/rI4CfYBtBCM20EdngJ6EDVbZgmYSM=; b=mrhM9VuUk8U4CNG0dadDJHzy81oELBTesdei3TUlq8mmmrU/5Y7oczggVxz7iURxuT yy49tBq3irj7RVMHEQAf3cOgvMzk3TBlesBzMRrCheasFofgXy0IOFUzoJuFW3Z8oLQf 8o7LwfpWdMSoOgAIWvkcsXdq1t8voV89YZrE8Hkot7UE0I8pI36ulfsdPkU123a7Nvrc GV7U3TAIo/GevBUxMy8yvpYaivutkDMUI5iVc9rILMCcEb14RY8/3L0iIAba+1S2h8o+ GQFKNtF4FiW5luCp210asb2Jy2xo9QwJZeiOMRc2sTJHEQQ3hC34n+tlqeaJ1pM7NJfN jirA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=16VmbFUwZMcja/rI4CfYBtBCM20EdngJ6EDVbZgmYSM=; b=YsTRyqcFNuXeNmqbmI7mPH6gx2SgKeZxLA/ZjUpHNlRQ7vwsohC9ZqbRSoIztqLkPy 2e322h7H78ZsWdS4M+hjqYSLwKz+5iKojA+fMwYozwK+3uh4F7PIpDeNxG+jB3Y8Exlp xy5dR4454Xtl47/gnBpecvDqLYVjyOcEkyKZOkB3ePyc1w7J6qwkGtzc7zm/gKtZwZDT gLg3vbfSlWdgr14qYEcvSLO16gA9C+2s+quDuLLNfmjhGTPNXD212b4R7A0DBprf+7yd qW2p7lo6pavTu24McHE8s9hHT+4rs7adDz8ENHAAfV2TL3V1xGgIhobOirZTqNlXLmSR PuAg== X-Gm-Message-State: AGRZ1gKPqG65+PcTIQChstj6IWSGRrr9YjX5nglWfsUvTahO9Q9UCrRG xYnv2AfY45ZAzsCk2IW0Cks= X-Google-Smtp-Source: AJdET5e8M1i+v+R2MYujZ7Uswxl2LXlfP0N4S1cnj4ONRwiXimKdawQjd/VX0J/Nli7oRRxrH7mbRQ== X-Received: by 2002:a17:902:b485:: with SMTP id y5-v6mr3943720plr.122.1541002798194; Wed, 31 Oct 2018 09:19:58 -0700 (PDT) Received: from Inspiron.nitk.ac.in ([106.193.104.195]) by smtp.gmail.com with ESMTPSA id i21-v6sm33812969pgj.55.2018.10.31.09.19.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 31 Oct 2018 09:19:57 -0700 (PDT) From: Leslie Monis To: jhs@mojatatu.com Cc: netdev@vger.kernel.org, tahiliani@nitk.edu.in, dhavaljkhandla26@gmail.com, hrishihiraskar@gmail.com, bmanish15597@gmail.com, sdp.sachin@gmail.com Subject: [PATCH net-next 5/8] net: sched: pie: add more conditions to auto-tune alpha and beta Date: Wed, 31 Oct 2018 21:49:29 +0530 Message-Id: <1541002772-28040-6-git-send-email-lesliemonis@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1541002772-28040-1-git-send-email-lesliemonis@gmail.com> References: <1541002772-28040-1-git-send-email-lesliemonis@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: "Mohit P. Tahiliani" The update in drop probability depends on the parameters alpha and beta, which in turn reflect the current congestion level. However, the previous if-else cases were recommended when the supported bandwidth was up to 12 Mbps but, current data links support a much higher bandwidth, and the requirement for more bandwidth is in never-ending demand. Hence, RFC 8033 suggests using more if-else cases for better fine-tuning of parameters alpha and beta in order to control the congestion as much as possible. Signed-off-by: Mohit P. Tahiliani Signed-off-by: Dhaval Khandla Signed-off-by: Hrishikesh Hiraskar Signed-off-by: Manish Kumar B Signed-off-by: Sachin D. Patil Signed-off-by: Leslie Monis --- net/sched/sch_pie.c | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/net/sched/sch_pie.c b/net/sched/sch_pie.c index f4e189a..c84e91e 100644 --- a/net/sched/sch_pie.c +++ b/net/sched/sch_pie.c @@ -343,10 +343,30 @@ static void calculate_probability(struct Qdisc *sch) * appropriately 2) scaling down by 16 to come to 0-2 range. * Please see paper for details. * - * We scale alpha and beta differently depending on whether we are in - * light, medium or high dropping mode. + * We scale alpha and beta differently depending on how heavy the + * congestion is. */ - if (q->vars.prob < MAX_PROB / 100) { + if (q->vars.prob < MAX_PROB / 1000000) { + alpha = + (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 15; + beta = + (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 15; + } else if (q->vars.prob < MAX_PROB / 100000) { + alpha = + (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 13; + beta = + (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 13; + } else if (q->vars.prob < MAX_PROB / 10000) { + alpha = + (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 11; + beta = + (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 11; + } else if (q->vars.prob < MAX_PROB / 1000) { + alpha = + (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 9; + beta = + (q->params.beta * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 9; + } else if (q->vars.prob < MAX_PROB / 100) { alpha = (q->params.alpha * (MAX_PROB / PSCHED_TICKS_PER_SEC)) >> 7; beta =