Author: mguevara                     Date: Thu Oct 23 00:19:56 2008 GMT
Module: SOURCES                       Tag: LINUX_2_6
---- Log message:
- updated to http://www.zz9.dk/patches/wrr-linux-080820-2.6.26.patch.gz
- fixed Makefile for PLD patched kernel (esfq stuff added)
- fixed qdisc_create_dflt args for 2.6.27 interface

---- Files affected:
SOURCES:
   kernel-wrr.patch (1.1 -> 1.1.4.1) 

---- Diffs:

================================================================
Index: SOURCES/kernel-wrr.patch
diff -u SOURCES/kernel-wrr.patch:1.1 SOURCES/kernel-wrr.patch:1.1.4.1
--- SOURCES/kernel-wrr.patch:1.1        Sun May 18 02:09:06 2008
+++ SOURCES/kernel-wrr.patch    Thu Oct 23 02:19:50 2008
@@ -1,6 +1,6 @@
-diff -urN linux-2.6.25.orig/include/linux/pkt_sched.h 
linux-2.6.25/include/linux/pkt_sched.h
---- linux-2.6.25.orig/include/linux/pkt_sched.h        2008-04-17 
04:49:44.000000000 +0200
-+++ linux-2.6.25/include/linux/pkt_sched.h     2008-04-24 16:19:03.000000000 
+0200
+diff -urN linux-2.6.26.2.org/include/linux/pkt_sched.h 
linux-2.6.26.2/include/linux/pkt_sched.h
+--- linux-2.6.26.2.org/include/linux/pkt_sched.h       2008-07-13 
23:51:29.000000000 +0200
++++ linux-2.6.26.2/include/linux/pkt_sched.h   2008-08-19 11:20:27.000000000 
+0200
 @@ -23,6 +23,8 @@
  
  #define TC_PRIO_MAX                   15
@@ -108,9 +108,9 @@
 +};
 +
  #endif
-diff -urN linux-2.6.25.orig/include/linux/wrr.h 
linux-2.6.25/include/linux/wrr.h
---- linux-2.6.25.orig/include/linux/wrr.h      1970-01-01 01:00:00.000000000 
+0100
-+++ linux-2.6.25/include/linux/wrr.h   2008-04-24 16:19:05.000000000 +0200
+diff -urN linux-2.6.26.2.org/include/linux/wrr.h 
linux-2.6.26.2/include/linux/wrr.h
+--- linux-2.6.26.2.org/include/linux/wrr.h     1970-01-01 01:00:00.000000000 
+0100
++++ linux-2.6.26.2/include/linux/wrr.h 2008-08-19 11:20:27.000000000 +0200
 @@ -0,0 +1,67 @@
 +#ifndef WRR_H
 +#define WRR_H
@@ -179,12 +179,12 @@
 +int proxyGetMaxConn(void *data);
 +
 +#endif
-diff -urN linux-2.6.25.orig/MAINTAINERS linux-2.6.25/MAINTAINERS
---- linux-2.6.25.orig/MAINTAINERS      2008-04-17 04:49:44.000000000 +0200
-+++ linux-2.6.25/MAINTAINERS   2008-04-24 16:19:05.000000000 +0200
-@@ -4351,6 +4351,12 @@
- W:    http://oops.ghostprotocols.net:81/blog
- S:    Maintained
+diff -urN linux-2.6.26.2.org/MAINTAINERS linux-2.6.26.2/MAINTAINERS
+--- linux-2.6.26.2.org/MAINTAINERS     2008-07-13 23:51:29.000000000 +0200
++++ linux-2.6.26.2/MAINTAINERS 2008-08-19 11:20:27.000000000 +0200
+@@ -4500,6 +4500,12 @@
+ W:    http://opensource.wolfsonmicro.com/node/7
+ S:    Supported
  
 +WRR NETWORK SCHEDULER
 +P:    Rasmus B�g Hansen
@@ -195,12 +195,12 @@
  X.25 NETWORK LAYER
  P:    Henner Eisen
  M:    [EMAIL PROTECTED]
-diff -urN linux-2.6.25.orig/net/sched/Kconfig linux-2.6.25/net/sched/Kconfig
---- linux-2.6.25.orig/net/sched/Kconfig        2008-04-17 04:49:44.000000000 
+0200
-+++ linux-2.6.25/net/sched/Kconfig     2008-04-24 16:19:05.000000000 +0200
-@@ -117,6 +117,25 @@
-         sch_rr, so it will load sch_prio, although it is referred
-         to using sch_rr.
+diff -urN linux-2.6.26.2.org/net/sched/Kconfig linux-2.6.26.2/net/sched/Kconfig
+--- linux-2.6.26.2.org/net/sched/Kconfig       2008-07-13 23:51:29.000000000 
+0200
++++ linux-2.6.26.2/net/sched/Kconfig   2008-08-19 11:20:27.000000000 +0200
+@@ -106,6 +106,25 @@
+         To compile this code as a module, choose M here: the
+         module will be called sch_prio.
  
 +config NET_SCH_WRR
 +      tristate "WRR packet scheduler"
@@ -224,16 +224,29 @@
  config NET_SCH_RED
        tristate "Random Early Detection (RED)"
        ---help---
-diff -urN linux-2.6.25.orig/net/sched/Makefile linux-2.6.25/net/sched/Makefile
---- linux-2.6.25.orig/net/sched/Makefile       2008-04-17 04:49:44.000000000 
+0200
-+++ linux-2.6.25/net/sched/Makefile    2008-04-24 16:19:06.000000000 +0200
-@@ -0,0 +0,2 @@
+diff -urN linux-2.6.26.2.org/net/sched/Makefile 
linux-2.6.26.2/net/sched/Makefile
+--- linux-2.6.26.2.org/net/sched/Makefile      2008-07-13 23:51:29.000000000 
+0200
++++ linux-2.6.26.2/net/sched/Makefile  2008-08-19 11:20:27.000000000 +0200
+@@ -3,6 +3,7 @@
+ #
+ 
+ obj-y := sch_generic.o
 +sch_wrr-objs = wrr.o wrr_proxydict.o
+ 
+ obj-$(CONFIG_NET_SCHED)               += sch_api.o sch_blackhole.o
+ obj-$(CONFIG_NET_CLS)         += cls_api.o
+@@ -23,6 +24,7 @@
+ obj-$(CONFIG_NET_SCH_DSMARK)  += sch_dsmark.o
+ obj-$(CONFIG_NET_SCH_SFQ)     += sch_sfq.o
+ obj-$(CONFIG_NET_SCH_ESFQ)    += sch_esfq.o
 +obj-$(CONFIG_NET_SCH_WRR)     += sch_wrr.o
-diff -urN linux-2.6.25.orig/net/sched/wrr.c linux-2.6.25/net/sched/wrr.c
---- linux-2.6.25.orig/net/sched/wrr.c  1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.25/net/sched/wrr.c       2008-04-24 16:19:07.000000000 +0200
-@@ -0,0 +1,1385 @@
+ obj-$(CONFIG_NET_SCH_TBF)     += sch_tbf.o
+ obj-$(CONFIG_NET_SCH_TEQL)    += sch_teql.o
+ obj-$(CONFIG_NET_SCH_PRIO)    += sch_prio.o
+diff -urN linux-2.6.26.2.org/net/sched/wrr.c linux-2.6.26.2/net/sched/wrr.c
+--- linux-2.6.26.2.org/net/sched/wrr.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-2.6.26.2/net/sched/wrr.c     2008-08-20 16:40:09.000000000 +0200
+@@ -0,0 +1,1386 @@
 
+/*-----------------------------------------------------------------------------
 +Weighted Round Robin scheduler.
 +  
@@ -348,7 +361,7 @@
 +#include <linux/version.h>
 +#include <linux/wrr.h>
 +
-+#define WRR_VER "051111"
++#define WRR_VER "080820"
 +
 +#define my_malloc(size) kmalloc(size,GFP_KERNEL)
 +#define my_free(ptr)    kfree(ptr)
@@ -994,7 +1007,7 @@
 +              my_free(q->proxydict);
 +}
 +
-+static int wrr_init(struct Qdisc *sch, struct rtattr *opt)
++static int wrr_init(struct Qdisc *sch, struct nlattr *opt)
 +{
 +      struct wrr_sched_data *q = qdisc_priv(sch);
 +      int i, maciniterr;
@@ -1004,9 +1017,9 @@
 +      /* Parse options */
 +      if (!opt)
 +              return -EINVAL; /* Options must be specified */
-+      if (opt->rta_len < RTA_LENGTH(sizeof(*qopt)))
++      if (nla_len(opt) < sizeof(*qopt))
 +              return -EINVAL;
-+      qopt = RTA_DATA(opt);
++      qopt = nla_data(opt);
 +
 +      if (qopt->bands_max > 8192 || qopt->bands_max < 2) {
 +              /* More than 8192 queues or less than 2? That cannot be true - 
it must be 
@@ -1074,7 +1087,7 @@
 +              weight_setdefault(&q->bands[i].class_modf.weight2);
 +              if (!crterr) {
 +                      struct Qdisc *child =
-+                          qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops, 
sch->handle);
++                          qdisc_create_dflt(qdisc_dev(sch), sch->dev_queue, 
&pfifo_qdisc_ops, sch->handle);
 +                      if (child)
 +                              q->bands[i].que = child;
 +                      else {
@@ -1326,20 +1339,20 @@
 +              opt.proxy_curconn = 0;
 +      }
 +
-+      RTA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
++      NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
 +      return skb->len;
 +
-+      rtattr_failure:         /* seems like RTA_PUT jump to this label */
++      nla_put_failure:                /* NLA_PUT may jump to this label */
 +      skb_trim(skb, b - skb->data);
 +      return -1;
 +}
 +
-+static int wrr_tune_std(struct Qdisc *sch, struct rtattr *opt)
++static int wrr_tune_std(struct Qdisc *sch, struct nlattr *opt)
 +{
 +      struct wrr_sched_data *q = qdisc_priv(sch);
-+      struct tc_wrr_qdisc_modf_std *qopt = RTA_DATA(opt);
++      struct tc_wrr_qdisc_modf_std *qopt = nla_data(opt);
 +
-+      if (opt->rta_len < RTA_LENGTH(sizeof(*qopt)))
++      if (nla_len(opt) < sizeof(*qopt))
 +              return -EINVAL;
 +
 +      LOCK_START;
@@ -1364,10 +1377,10 @@
 +      return 0;
 +}
 +
-+static int wrr_tune_proxy(struct Qdisc *sch, struct rtattr *opt)
++static int wrr_tune_proxy(struct Qdisc *sch, struct nlattr *opt)
 +{
 +      struct wrr_sched_data *q = qdisc_priv(sch);
-+      struct tc_wrr_qdisc_modf_proxy *qopt = RTA_DATA(opt);
++      struct tc_wrr_qdisc_modf_proxy *qopt = nla_data(opt);
 +      int i;
 +
 +      /* Return if we are not configured with proxy support */
@@ -1375,9 +1388,10 @@
 +              return -ENOSYS;
 +
 +      /* Return if not enough data given */
-+      if (opt->rta_len < RTA_LENGTH(sizeof(*qopt)) ||
-+          opt->rta_len <
-+          RTA_LENGTH(sizeof(*qopt) + sizeof(ProxyRemapBlock) * qopt->changec))
++      if (nla_len(opt) < sizeof(*qopt))
++
++      if (nla_len(opt) < sizeof(*qopt) ||
++          nla_len(opt) < sizeof(*qopt) + sizeof(ProxyRemapBlock) * 
qopt->changec)
 +              return -EINVAL;
 +
 +      LOCK_START;
@@ -1396,9 +1410,9 @@
 +      return 0;
 +}
 +
-+static int wrr_tune(struct Qdisc *sch, struct rtattr *opt)
++static int wrr_tune(struct Qdisc *sch, struct nlattr *opt)
 +{
-+      if (((struct tc_wrr_qdisc_modf_std *)RTA_DATA(opt))->proxy) {
++      if (((struct tc_wrr_qdisc_modf_std *)nla_data(opt))->proxy) {
 +              return wrr_tune_proxy(sch, opt);
 +      } else {
 +              return wrr_tune_std(sch, opt);
@@ -1472,7 +1486,7 @@
 +      tcm->tcm_handle = sch->handle | cl;
 +
 +      if (cl == 0 || cl > q->bandc)
-+              goto rtattr_failure;
++              goto nla_put_failure;
 +      cl--;
 +
 +      if ((cl < q->bandc) && q->bands[cl].que)
@@ -1504,27 +1518,27 @@
 +      }
 +
 +      /* Put quing information */
-+      RTA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
++      NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
 +      return skb->len;
 +
-+      rtattr_failure:
++      nla_put_failure:                /* NLA_PUT may jump here */
 +      skb_trim(skb, b - skb->data);
 +      return -1;
 +}
 +
 +static int wrr_change(struct Qdisc *sch, u32 handle, u32 parent,
-+                    struct rtattr **tca, unsigned long *arg)
++                    struct nlattr **tca, unsigned long *arg)
 +{
 +      unsigned long cl = *arg;
 +      struct wrr_sched_data *q = qdisc_priv(sch);
-+      struct rtattr *opt = tca[TCA_OPTIONS - 1];
-+      struct tc_wrr_class_modf *copt = RTA_DATA(opt);
++      struct nlattr *opt = tca[TCA_OPTIONS];
++      struct tc_wrr_class_modf *copt = nla_data(opt);
 +
 +      if (cl == 0 || cl > q->bandc)
 +              return -EINVAL;
 +      cl--;
 +
-+      if (opt->rta_len < RTA_LENGTH(sizeof(*copt)))
++      if (nla_len(opt) < sizeof(*copt))
 +              return -EINVAL;
 +
 +      LOCK_START;
@@ -1619,9 +1633,9 @@
 +
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Christian Worm Mortensen");
-diff -urN linux-2.6.25.orig/net/sched/wrr_proxydict.c 
linux-2.6.25/net/sched/wrr_proxydict.c
---- linux-2.6.25.orig/net/sched/wrr_proxydict.c        1970-01-01 
01:00:00.000000000 +0100
-+++ linux-2.6.25/net/sched/wrr_proxydict.c     2008-04-24 16:19:07.000000000 
+0200
+diff -urN linux-2.6.26.2.org/net/sched/wrr_proxydict.c 
linux-2.6.26.2/net/sched/wrr_proxydict.c
+--- linux-2.6.26.2.org/net/sched/wrr_proxydict.c       1970-01-01 
01:00:00.000000000 +0100
++++ linux-2.6.26.2/net/sched/wrr_proxydict.c   2008-08-19 11:20:27.000000000 
+0200
 @@ -0,0 +1,156 @@
 +#ifndef __KERNEL__
 +#include <string.h>
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-wrr.patch?r1=1.1&r2=1.1.4.1&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to