From: gautamramk@gmail.com
To: netdev@vger.kernel.org
Cc: "Gautam Ramakrishnan" <gautamramk@gmail.com>,
"Jamal Hadi Salim" <jhs@mojatatu.com>,
"David S . Miller" <davem@davemloft.net>,
"Dave Taht" <dave.taht@gmail.com>,
"Toke Høiland-Jørgensen" <toke@redhat.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Stephen Hemminger" <stephen@networkplumber.org>,
"Leslie Monis" <lesliemonis@gmail.com>,
"Mohit P . Tahiliani" <tahiliani@nitk.edu.in>
Subject: [PATCH net-next v7 00/10] net: sched: add Flow Queue PIE packet scheduler
Date: Wed, 22 Jan 2020 23:52:23 +0530 [thread overview]
Message-ID: <20200122182233.3940-1-gautamramk@gmail.com> (raw)
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 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.
- Patch #1
- Creates pie.h and moves all small functions and structures
common to PIE and FQ-PIE here. The functions are all made
inline.
- Patch #2 - #8
- Addresses code formatting, indentation, comment changes
and rearrangement of structure members.
- Patch #9
- Refactors sch_pie.c by changing arguments to
calculate_probability(), [pie_]drop_early() and
pie_process_dequeue() to make it generic enough to
be used by sch_fq_pie.c. These functions are exported
to be used by sch_fq_pie.c.
- Patch #10
- Adds the FQ-PIE Qdisc.
For more information:
https://tools.ietf.org/html/rfc8033
Changes from v6 to v7
- Call tcf_block_put() when destroying the Qdisc as suggested
by Jakub Kicinski.
Changes from v5 to v6
- Rearranged struct members according to their access pattern
and to remove holes.
Changes from v4 to v5
- This patch series breaks down patch 1 of v4 into
separate logical commits as suggested by David Miller.
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 (10):
net: sched: pie: move common code to pie.h
pie: use U64_MAX to denote (2^64 - 1)
pie: rearrange macros in order of length
pie: use u8 instead of bool in pie_vars
pie: rearrange structure members and their initializations
pie: improve comments and commenting style
net: sched: pie: fix commenting
net: sched: pie: fix alignment in struct instances
net: sched: pie: export symbols to be reused by FQ-PIE
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 | 562 +++++++++++++++++++++++++++++++++
net/sched/sch_pie.c | 289 ++++++-----------
6 files changed, 849 insertions(+), 185 deletions(-)
create mode 100644 include/net/pie.h
create mode 100644 net/sched/sch_fq_pie.c
--
2.17.1
next reply other threads:[~2020-01-22 18:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-22 18:22 gautamramk [this message]
2020-01-22 18:22 ` [PATCH net-next v7 01/10] net: sched: pie: move common code to pie.h gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 02/10] pie: use U64_MAX to denote (2^64 - 1) gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 03/10] pie: rearrange macros in order of length gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 04/10] pie: use u8 instead of bool in pie_vars gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 05/10] pie: rearrange structure members and their initializations gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 06/10] pie: improve comments and commenting style gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 07/10] net: sched: pie: fix commenting gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 08/10] net: sched: pie: fix alignment in struct instances gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 09/10] net: sched: pie: export symbols to be reused by FQ-PIE gautamramk
2020-01-22 18:22 ` [PATCH net-next v7 10/10] net: sched: add Flow Queue PIE packet scheduler gautamramk
2020-01-23 10:39 ` [PATCH net-next v7 00/10] " David Miller
2020-01-23 16:14 ` Gautam Ramakrishnan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200122182233.3940-1-gautamramk@gmail.com \
--to=gautamramk@gmail.com \
--cc=dave.taht@gmail.com \
--cc=davem@davemloft.net \
--cc=jhs@mojatatu.com \
--cc=kuba@kernel.org \
--cc=lesliemonis@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
--cc=tahiliani@nitk.edu.in \
--cc=toke@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).