mbox series

[net-next,v2,0/7] net: sched: pie: align PIE implementation with RFC 8033

Message ID 20190225102051.12268-1-lesliemonis@gmail.com
Headers show
Series net: sched: pie: align PIE implementation with RFC 8033 | expand

Message

Leslie Monis Feb. 25, 2019, 10:20 a.m. UTC
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(-)

Comments

Jamal Hadi Salim Feb. 25, 2019, 1:43 p.m. UTC | #1
On 2019-02-25 5:20 a.m., Leslie Monis wrote:
> 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/]
> 

+Cc the authors of PIE to double check these values.
Please respond (it is how open source works!) and N/ACK

cheers,
jamal
Jamal Hadi Salim Feb. 25, 2019, 1:47 p.m. UTC | #2
On 2019-02-25 8:43 a.m., Jamal Hadi Salim wrote:
> On 2019-02-25 5:20 a.m., Leslie Monis wrote:
>> 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/]
>>
> 
> +Cc the authors of PIE to double check these values.
> Please respond (it is how open source works!) and N/ACK

Great. Bouncing addresses.
D. Taht - can you look at this?

cheers,
jamal
Dave Taht Feb. 25, 2019, 2:11 p.m. UTC | #3
Jamal Hadi Salim <jhs@mojatatu.com> writes:

> On 2019-02-25 8:43 a.m., Jamal Hadi Salim wrote:
>> On 2019-02-25 5:20 a.m., Leslie Monis wrote:
>>> 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/]
>>>
>>
>> +Cc the authors of PIE to double check these values.
>> Please respond (it is how open source works!) and N/ACK
>
> Great. Bouncing addresses.
> D. Taht - can you look at this?

Whose addresses are bouncing? The folk that did pie originally were
mostly contractors and long ago moved on to other things.

My taht.net address tends to bounce to vger as I long ago mandated
starttls on all email transactions which is why I use my gmail account
for postings there. I keep hoping that one day vger will support
starttls... posting it here as I'm an optimist. I wasn't expecting to be
cc'd on this submittal....

Pie seems to be mostly an abandoned CISCO effort outside of docsis-pie,
at least at the moment. I've heard not a peep from them in years.
(fq_codel seems to have mostly "won" in our world)

I did review all these changes when they went by in v1, and aside from
the ecn mistake ending up in the final RFC when I wasn't looking[1],
approve of these changes to sch_pie to make it compliant with the rfc,
finally.

[1] We proposed refining pie's ecn handling here:

https://github.com/gautamramk/FQ-PIE-for-Linux-Kernel/issues/2

Anyway:

Acked-by: Dave Taht <dave.taht@gmail.com>
Jamal Hadi Salim Feb. 25, 2019, 2:33 p.m. UTC | #4
On 2019-02-25 9:11 a.m., Dave Taht wrote:
> Jamal Hadi Salim <jhs@mojatatu.com> writes:
> 
>> On 2019-02-25 8:43 a.m., Jamal Hadi Salim wrote:
>>> On 2019-02-25 5:20 a.m., Leslie Monis wrote:
>>>> 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/]
>>>>
>>>
>>> +Cc the authors of PIE to double check these values.
>>> Please respond (it is how open source works!) and N/ACK
>>
>> Great. Bouncing addresses.
>> D. Taht - can you look at this?
> 
> Whose addresses are bouncing? The folk that did pie originally were
> mostly contractors and long ago moved on to other things.
> 

The Cisco addresses - listed as authors of PIE were bouncing.
Note: they are still listed as authors of the referenced
IETF draft with those email addresses.

> My taht.net address tends to bounce to vger as I long ago mandated
> starttls on all email transactions which is why I use my gmail account
> for postings there. I keep hoping that one day vger will support
> starttls... posting it here as I'm an optimist. I wasn't expecting to be
> cc'd on this submittal....
> 
> Pie seems to be mostly an abandoned CISCO effort outside of docsis-pie,
> at least at the moment. I've heard not a peep from them in years.
> (fq_codel seems to have mostly "won" in our world)
> 
> I did review all these changes when they went by in v1, and aside from
> the ecn mistake ending up in the final RFC when I wasn't looking[1],
> approve of these changes to sch_pie to make it compliant with the rfc,
> finally.
> 
> [1] We proposed refining pie's ecn handling here:
> 
> https://github.com/gautamramk/FQ-PIE-for-Linux-Kernel/issues/2
> 
> Anyway:
> 
> Acked-by: Dave Taht <dave.taht@gmail.com>
> 

Thats what i was hoping for. FWIW,

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>


cheers,
jamal
Leslie Monis Feb. 25, 2019, 3:04 p.m. UTC | #5
On Mon, Feb 25, 2019 at 06:11:25AM -0800, Dave Taht wrote:
> Jamal Hadi Salim <jhs@mojatatu.com> writes:
> 
> > On 2019-02-25 8:43 a.m., Jamal Hadi Salim wrote:
> >> On 2019-02-25 5:20 a.m., Leslie Monis wrote:
> >>> 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/]
> >>>
> >>
> >> +Cc the authors of PIE to double check these values.
> >> Please respond (it is how open source works!) and N/ACK
> >
> > Great. Bouncing addresses.
> > D. Taht - can you look at this?
> 
> Whose addresses are bouncing? The folk that did pie originally were
> mostly contractors and long ago moved on to other things.
> 
> My taht.net address tends to bounce to vger as I long ago mandated
> starttls on all email transactions which is why I use my gmail account
> for postings there. I keep hoping that one day vger will support
> starttls... posting it here as I'm an optimist. I wasn't expecting to be
> cc'd on this submittal....
> 
> Pie seems to be mostly an abandoned CISCO effort outside of docsis-pie,
> at least at the moment. I've heard not a peep from them in years.
> (fq_codel seems to have mostly "won" in our world)
> 
> I did review all these changes when they went by in v1, and aside from
> the ecn mistake ending up in the final RFC when I wasn't looking[1],
> approve of these changes to sch_pie to make it compliant with the rfc,
> finally.
> 
> [1] We proposed refining pie's ecn handling here:
> 
> https://github.com/gautamramk/FQ-PIE-for-Linux-Kernel/issues/2
> 
> Anyway:
> 
> Acked-by: Dave Taht <dave.taht@gmail.com>
> 

Hi Dave,

For now we would just like to make the PIE implementation meet the 
standards as expressed by the RFC. As ECN handling is outside the 
scope of the RFC we can consider refinements to it in the code later.

Thanks,
Leslie