SOURCES (LINUX_2_6): esfq-kernel.patch, kernel-imq.patch - experimental 2.6...
pluto
pluto at pld-linux.org
Mon Oct 20 15:54:45 CEST 2008
Author: pluto Date: Mon Oct 20 13:54:45 2008 GMT
Module: SOURCES Tag: LINUX_2_6
---- Log message:
- experimental 2.6.27 port. may oops!
---- Files affected:
SOURCES:
esfq-kernel.patch (1.1.2.7 -> 1.1.2.8) , kernel-imq.patch (1.1.2.1.2.9 -> 1.1.2.1.2.10)
---- Diffs:
================================================================
Index: SOURCES/esfq-kernel.patch
diff -u SOURCES/esfq-kernel.patch:1.1.2.7 SOURCES/esfq-kernel.patch:1.1.2.8
--- SOURCES/esfq-kernel.patch:1.1.2.7 Mon May 19 12:16:45 2008
+++ SOURCES/esfq-kernel.patch Mon Oct 20 15:54:38 2008
@@ -603,13 +603,13 @@
+ }
+}
+
-+static int esfq_q_init(struct esfq_sched_data *q, struct rtattr *opt)
++static int esfq_q_init(struct esfq_sched_data *q, struct nlattr *opt)
+{
-+ struct tc_esfq_qopt *ctl = RTA_DATA(opt);
++ struct tc_esfq_qopt *ctl = nla_data(opt);
+ esfq_index p = ~0U/2;
+ int i;
+
-+ if (opt && opt->rta_len < RTA_LENGTH(sizeof(*ctl)))
++ if (opt && opt->nla_len < nla_attr_size(sizeof(*ctl)))
+ return -EINVAL;
+
+ q->perturbation = 0;
@@ -621,7 +621,7 @@
+ q->tail = q->limit = q->depth = 128;
+
+ } else {
-+ struct tc_esfq_qopt *ctl = RTA_DATA(opt);
++ struct tc_esfq_qopt *ctl = nla_data(opt);
+ if (ctl->quantum)
+ q->quantum = ctl->quantum;
+ q->perturb_period = ctl->perturb_period*HZ;
@@ -674,12 +674,12 @@
+ return -ENOBUFS;
+}
+
-+static int esfq_init(struct Qdisc *sch, struct rtattr *opt)
++static int esfq_init(struct Qdisc *sch, struct nlattr *opt)
+{
+ struct esfq_sched_data *q = qdisc_priv(sch);
+ int err;
+
-+ q->quantum = psched_mtu(sch->dev); /* default */
++ q->quantum = psched_mtu(qdisc_dev(sch)); /* default */
+ if ((err = esfq_q_init(q, opt)))
+ return err;
+
@@ -694,7 +694,7 @@
+ return 0;
+}
+
-+static int esfq_change(struct Qdisc *sch, struct rtattr *opt)
++static int esfq_change(struct Qdisc *sch, struct nlattr *opt)
+{
+ struct esfq_sched_data *q = qdisc_priv(sch);
+ struct esfq_sched_data new;
@@ -703,7 +703,7 @@
+
+ /* set up new queue */
+ memset(&new, 0, sizeof(struct esfq_sched_data));
-+ new.quantum = psched_mtu(sch->dev); /* default */
++ new.quantum = psched_mtu(qdisc_dev(sch)); /* default */
+ if ((err = esfq_q_init(&new, opt)))
+ return err;
+
@@ -756,11 +756,11 @@
+ opt.flows = q->depth;
+ opt.hash_kind = q->hash_kind;
+
-+ RTA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
++ NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
+
+ return skb->len;
+
-+rtattr_failure:
++nla_put_failure:
+ nlmsg_trim(skb, b);
+ return -1;
+}
================================================================
Index: SOURCES/kernel-imq.patch
diff -u SOURCES/kernel-imq.patch:1.1.2.1.2.9 SOURCES/kernel-imq.patch:1.1.2.1.2.10
--- SOURCES/kernel-imq.patch:1.1.2.1.2.9 Tue Sep 23 13:59:13 2008
+++ SOURCES/kernel-imq.patch Mon Oct 20 15:54:39 2008
@@ -79,7 +79,7 @@
+
+struct imq_private {
+ struct tasklet_struct tasklet;
-+ int tasklet_pending;
++ long tasklet_pending;
+};
+
+static nf_hookfn imq_nf_hook;
@@ -222,8 +222,8 @@
+ dev->stats.rx_bytes += entry->skb->len;
+ dev->stats.rx_packets++;
+
-+ spin_lock_bh(&dev->queue_lock);
-+ q = dev->qdisc;
++ netif_tx_lock_bh(dev);
++ q = netdev_get_tx_queue(dev, queue_num)->qdisc;
+ if (q->enqueue) {
+ q->enqueue(skb_get(entry->skb), q);
+ if (skb_shared(entry->skb)) {
@@ -234,7 +234,7 @@
+ }
+ if (!test_and_set_bit(1, &priv->tasklet_pending))
+ tasklet_schedule(&priv->tasklet);
-+ spin_unlock_bh(&dev->queue_lock);
++ netif_tx_unlock_bh(dev);
+
+ if (skb2)
+ kfree_skb(ret ? entry->skb : skb2);
@@ -252,10 +252,10 @@
+ struct net_device *dev = (struct net_device *)arg;
+ struct imq_private *priv = netdev_priv(dev);
+
-+ spin_lock(&dev->queue_lock);
-+ qdisc_run(dev);
++ netif_tx_lock(dev);
++ qdisc_run(netdev_get_tx_queue(dev, 0)->qdisc);
+ clear_bit(1, &priv->tasklet_pending);
-+ spin_unlock(&dev->queue_lock);
++ netif_tx_unlock(dev);
+}
+
+static unsigned int imq_nf_hook(unsigned int hook, struct sk_buff *pskb,
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/esfq-kernel.patch?r1=1.1.2.7&r2=1.1.2.8&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/kernel-imq.patch?r1=1.1.2.1.2.9&r2=1.1.2.1.2.10&f=u
More information about the pld-cvs-commit
mailing list