|
|
Subscribe / Log in / New account

net: sched: add Flow Queue PIE packet scheduler

From:  gautamramk-AT-gmail.com
To:  netdev-AT-vger.kernel.org
Subject:  [PATCH net-next v2 0/2] net: sched: add Flow Queue PIE packet scheduler
Date:  Tue, 31 Dec 2019 16:53:14 +0530
Message-ID:  <20191231112316.2788-1-gautamramk@gmail.com>
Cc:  Gautam Ramakrishnan <gautamramk-AT-gmail.com>, Jamal Hadi Salim <jhs-AT-mojatatu.com>, "David S . Miller" <davem-AT-davemloft.net>, Dave Taht <dave.taht-AT-gmail.com>, =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke-AT-redhat.com>, Leslie Monis <lesliemonis-AT-gmail.com>, "Mohit P . Tahiliani" <tahiliani-AT-nitk.edu.in>
Archive-link:  Article

From: Gautam Ramakrishnan <gautamramk@gmail.com>

Flow Queue PIE packet scheduler

This patch series implements the Flow Queue Proportional
Integral controller Enhanced (FQ-PIE) active queue
Management algorithm. It is an enhancement over the PIE
algorithm. It integrates the PIE AQM with a deficit round-robin
scheme.

FQ-PIE is implemented over the latest version of PIE which uses timestamps
to calculate queue delay with an additional option of using average dequeue
rate (Little's law) to calculate the queue delay. This patch also adds a
memory limit of all the packets across all queues to a default value of
32Mb.

For more information: 
https://tools.ietf.org/html/rfc8033

Changes from v1 (and RFC patch) to v2
 - Added timestamp to calculate queue delay as recommended
   by Dave Taht
 - Packet memory limit implemented as recommended by Toke.
 - Added external classifier as recommended by Toke.
 - Used NET_XMIT_CN instead of NET_XMIT_DROP as the return
   value in the fq_pie_qdisc_enqueue function.

Mohit P. Tahiliani (2):
  net: sched: pie: refactor code
  net: sched: add Flow Queue PIE packet scheduler

 include/net/pie.h              | 401 ++++++++++++++++++++++++
 include/uapi/linux/pkt_sched.h |  33 ++
 net/sched/Kconfig              |  11 +
 net/sched/Makefile             |   1 +
 net/sched/sch_fq_pie.c         | 550 +++++++++++++++++++++++++++++++++
 net/sched/sch_pie.c            | 386 +----------------------
 6 files changed, 1011 insertions(+), 371 deletions(-)
 create mode 100644 include/net/pie.h
 create mode 100644 net/sched/sch_fq_pie.c

-- 
2.17.1



Copyright © 2019, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds