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