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

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

Reply via email to