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 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(-) -- 2.17.1