[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200117100921.31966-1-gautamramk@gmail.com>
Date: Fri, 17 Jan 2020 15:39:19 +0530
From: gautamramk@...il.com
To: netdev@...r.kernel.org
Cc: Gautam Ramakrishnan <gautamramk@...il.com>,
Jamal Hadi Salim <jhs@...atatu.com>,
"David S . Miller" <davem@...emloft.net>,
Dave Taht <dave.taht@...il.com>,
Toke Høiland-Jørgensen <toke@...hat.com>,
Jakub Kicinski <kuba@...nel.org>,
Stephen Hemminger <stephen@...workplumber.org>,
Leslie Monis <lesliemonis@...il.com>,
"Mohit P . Tahiliani" <tahiliani@...k.edu.in>
Subject: [PATCH net-next v4 0/2] net: sched: add Flow Queue PIE packet scheduler
From: Gautam Ramakrishnan <gautamramk@...il.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 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 v3 to v4
- Used non deprecated version of nla_parse_nested
- Used SZ_32M macro
- Removed an unused variable
- Code cleanup
All suggested by Jakub and Toke.
Changes from v2 to v3
- Exported drop_early, pie_process_dequeue and
calculate_probability functions from sch_pie as
suggested by Stephen Hemminger.
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 | 138 ++++++++
include/uapi/linux/pkt_sched.h | 31 ++
net/sched/Kconfig | 13 +
net/sched/Makefile | 1 +
net/sched/sch_fq_pie.c | 559 +++++++++++++++++++++++++++++++++
net/sched/sch_pie.c | 302 +++++++-----------
6 files changed, 854 insertions(+), 190 deletions(-)
create mode 100644 include/net/pie.h
create mode 100644 net/sched/sch_fq_pie.c
--
2.17.1
Powered by blists - more mailing lists