* [PATCH net] net: sched: Cleanup PIE comments
@ 2014-02-13 2:58 Vijay Subramanian
2014-02-13 23:31 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Vijay Subramanian @ 2014-02-13 2:58 UTC (permalink / raw)
To: netdev; +Cc: davem, Vijay Subramanian, Mythili Prabhu, Norbert Kiesel
From: Vijay Subramanian <vijaynsu@cisco.com>
Fix incorrect comment reported by Norbert Kiesel. Edit another comment to add
more details. Also add references to algorithm (IETF draft and paper) to top of
file.
Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
CC: Mythili Prabhu <mysuryan@cisco.com>
CC: Norbert Kiesel <nkiesel@gmail.com>
---
net/sched/sch_pie.c | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/net/sched/sch_pie.c b/net/sched/sch_pie.c
index a255d02..fefeeb7 100644
--- a/net/sched/sch_pie.c
+++ b/net/sched/sch_pie.c
@@ -15,6 +15,11 @@
*
* ECN support is added by Naeem Khademi <naeemk@ifi.uio.no>
* University of Oslo, Norway.
+ *
+ * References:
+ * IETF draft submission: http://tools.ietf.org/html/draft-pan-aqm-pie-00
+ * IEEE Conference on High Performance Switching and Routing 2013 :
+ * "PIE: A * Lightweight Control Scheme to Address the Bufferbloat Problem"
*/
#include <linux/module.h>
@@ -36,7 +41,7 @@ struct pie_params {
psched_time_t target; /* user specified target delay in pschedtime */
u32 tupdate; /* timer frequency (in jiffies) */
u32 limit; /* number of packets that can be enqueued */
- u32 alpha; /* alpha and beta are between -4 and 4 */
+ u32 alpha; /* alpha and beta are between 0 and 32 */
u32 beta; /* and are used for shift relative to 1 */
bool ecn; /* true if ecn is enabled */
bool bytemode; /* to scale drop early prob based on pkt size */
@@ -326,10 +331,16 @@ static void calculate_probability(struct Qdisc *sch)
if (qdelay == 0 && qlen != 0)
update_prob = false;
- /* Add ranges for alpha and beta, more aggressive for high dropping
- * mode and gentle steps for light dropping mode
- * In light dropping mode, take gentle steps; in medium dropping mode,
- * take medium steps; in high dropping mode, take big steps.
+ /* In the algorithm, alpha and beta are between 0 and 2 with typical
+ * value for alpha as 0.125. In this implementation, we use values 0-32
+ * passed from user space to represent this. Also, alpha and beta have
+ * unit of HZ and need to be scaled before they can used to update
+ * probability. alpha/beta are updated locally below by 1) scaling them
+ * appropriately 2) scaling down by 16 to come to 0-2 range.
+ * Please see paper for details.
+ *
+ * We scale alpha and beta differently depending on whether we are in
+ * light, medium or high dropping mode.
*/
if (q->vars.prob < MAX_PROB / 100) {
alpha =
--
1.7.9.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net] net: sched: Cleanup PIE comments
2014-02-13 2:58 [PATCH net] net: sched: Cleanup PIE comments Vijay Subramanian
@ 2014-02-13 23:31 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2014-02-13 23:31 UTC (permalink / raw)
To: subramanian.vijay; +Cc: netdev, mysuryan, nkiesel
From: Vijay Subramanian <subramanian.vijay@gmail.com>
Date: Wed, 12 Feb 2014 18:58:21 -0800
> From: Vijay Subramanian <vijaynsu@cisco.com>
>
> Fix incorrect comment reported by Norbert Kiesel. Edit another comment to add
> more details. Also add references to algorithm (IETF draft and paper) to top of
> file.
>
> Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
Applied, thanks for following up on this.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-02-13 23:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-13 2:58 [PATCH net] net: sched: Cleanup PIE comments Vijay Subramanian
2014-02-13 23:31 ` David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.