From patchwork Mon Feb 25 19:09:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Leslie Monis X-Patchwork-Id: 1047953 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="DAGqGWub"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 447Wjm348sz9sCH for ; Tue, 26 Feb 2019 06:10:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726947AbfBYTKT (ORCPT ); Mon, 25 Feb 2019 14:10:19 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:34939 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726496AbfBYTKQ (ORCPT ); Mon, 25 Feb 2019 14:10:16 -0500 Received: by mail-pg1-f196.google.com with SMTP id e17so2871200pgd.2 for ; Mon, 25 Feb 2019 11:10:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=dIpsvYuWwFbi1mRUKZaxSD0RQS7rY7zYfUynGTwM/Rw=; b=DAGqGWubGmVMvuOdyzo4ezCRCK2wYLGB1Pk9CdbVRoGpwDddpRcUky4W9TEwkqcObR Wgi7t8xY1o7STbolRnlxsFnygVFnm6lPXapT5cS2b/KyznkYi8jNI4l6Q3dAzyctjk0K oy1ZnsV+a8pZBpqOUVQQzF2oXrTa0Th9yZpwTaOKWrorb1HGhSrIUnIK6ROZUCdqT2i8 uc7dEargYAXkhCklhCp+ZlyR0rd8+Vs/+6J0lXjZV3A+GwsZWd1VcYZbMnXQoR0wPxoi J1VZ8SEqmh72I1ZPSfTEx7AXI5LSra17NA7Z4fcOnbJHzV/5c9jbde+M4xnso0d73MVX 0t/Q== 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; bh=dIpsvYuWwFbi1mRUKZaxSD0RQS7rY7zYfUynGTwM/Rw=; b=fNCHm4M3IsVXdgDBAR7QEoOpJ07Ob8UBEv3I0DMHbFpxNReeSXC7l5xjbDoAey04aK MAAcS6Sf2w/jtqAqKkRgTjFwXH9MsAJgidfBIJ7Trliv/g7TwSfZOjeBkQNCIn+fpbcM PoeyOeK4fBrWshicCEeoz7R/u5iVPKcuMoaF3iPtsyd9NvoADVX39gslTVHgos7pmIP5 hsFkbLUniTcVWQdtkYbVhBTMoAe/7NJ/UsQr4aABK/Rp7FqNez7P3siGzAtBiVqEUTK6 CTxUPRd/0qTGgoXjHRm16DozMZAsbCjxQ/toDdRGkq23ykOmvLHTbrczWBH2yCliUykS InVA== X-Gm-Message-State: AHQUAua4djOmCff1INvHVowpQcFjdMFH63VO76bUcqnpdIbcoBr4uvWC F3g8j7DpyOMAdDhowZsekOpECzLuBgw= X-Google-Smtp-Source: AHgI3IbeY6Fxac9MGEK2fGyOLunV4IM3+tKghhg4CGLHWwwexarU3h4kx7UGHSshMHcxqpozjmzh/Q== X-Received: by 2002:a63:4924:: with SMTP id w36mr16666879pga.227.1551121815079; Mon, 25 Feb 2019 11:10:15 -0800 (PST) Received: from localhost.localdomain ([106.216.180.155]) by smtp.gmail.com with ESMTPSA id g15sm13296394pfo.35.2019.02.25.11.10.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Feb 2019 11:10:14 -0800 (PST) From: Leslie Monis To: davem@davemloft.net Cc: netdev@vger.kernel.org, Leslie Monis , "Mohit P . Tahiliani" , Dave Taht , Jamal Hadi Salim Subject: [PATCH net-next v3 0/7] net: sched: pie: align PIE implementation with RFC 8033 Date: Tue, 26 Feb 2019 00:39:54 +0530 Message-Id: <20190225191001.26797-1-lesliemonis@gmail.com> X-Mailer: git-send-email 2.17.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The current implementation of the PIE queuing discipline is according to the IETF draft [http://tools.ietf.org/html/draft-pan-aqm-pie-00] and the paper [PIE: A Lightweight Control Scheme to Address the Bufferbloat Problem]. However, a lot of necessary modifications and enhancements have been proposed in RFC 8033, which have not yet been incorporated in the source code of Linux. This patch series helps in achieving the same. Performance tests carried out using Flent [https://flent.org/] Changes from v2 to v3: - Used div_u64() instead of direct division after explicit type casting as recommended by David Changes from v1 to v2: - Excluded the patch setting PIE dynamically active/inactive as the test results were unsatisfactory - Fixed a scaling issue when adding more auto-tuning cases which caused local variables to underflow - Changed the long if/else chain to a loop as suggested by Stephen - Changed the position of the accu_prob variable in the pie_vars structure as recommended by Stephen Mohit P. Tahiliani (7): net: sched: pie: change value of QUEUE_THRESHOLD net: sched: pie: change default value of pie_params->target net: sched: pie: change default value of pie_params->tupdate net: sched: pie: change initial value of pie_vars->burst_time net: sched: pie: add more cases to auto-tune alpha and beta net: sched: pie: add derandomization mechanism net: sched: pie: update references include/uapi/linux/pkt_sched.h | 2 +- net/sched/sch_pie.c | 107 ++++++++++++++++++++------------- 2 files changed, 66 insertions(+), 43 deletions(-)