* sch_prio.c vs CONFIG_NETDEVICES_MULTIQUEUE
@ 2007-10-23 12:14 Alexey Dobriyan
2007-10-23 12:17 ` Patrick McHardy
0 siblings, 1 reply; 4+ messages in thread
From: Alexey Dobriyan @ 2007-10-23 12:14 UTC (permalink / raw)
To: netdev; +Cc: peter.p.waskiewicz.jr, kaber
gcc spits following warnings
net/sched/sch_prio.c:139: warning: passing argument 2 of 'netif_subqueue_stopped' makes pointer from integer without a cast
net/sched/sch_prio.c:169: warning: passing argument 2 of 'netif_subqueue_stopped' makes pointer from integer without a cast
and he is dead right -- passing integer instead of skb is not going to
work:
if (!netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) {
skb_get_queue_mapping will ignore it if multiqueue support is off and
dereference it otherwise.
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: sch_prio.c vs CONFIG_NETDEVICES_MULTIQUEUE 2007-10-23 12:14 sch_prio.c vs CONFIG_NETDEVICES_MULTIQUEUE Alexey Dobriyan @ 2007-10-23 12:17 ` Patrick McHardy 2007-10-23 13:01 ` Pavel Emelyanov 0 siblings, 1 reply; 4+ messages in thread From: Patrick McHardy @ 2007-10-23 12:17 UTC (permalink / raw) To: Alexey Dobriyan; +Cc: netdev, peter.p.waskiewicz.jr, Pavel Emelyanov CCed Pavel Alexey Dobriyan wrote: > gcc spits following warnings > > net/sched/sch_prio.c:139: warning: passing argument 2 of 'netif_subqueue_stopped' makes pointer from integer without a cast > net/sched/sch_prio.c:169: warning: passing argument 2 of 'netif_subqueue_stopped' makes pointer from integer without a cast > > and he is dead right -- passing integer instead of skb is not going to > work: > > if (!netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) { > > skb_get_queue_mapping will ignore it if multiqueue support is off and > dereference it otherwise. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: sch_prio.c vs CONFIG_NETDEVICES_MULTIQUEUE 2007-10-23 12:17 ` Patrick McHardy @ 2007-10-23 13:01 ` Pavel Emelyanov 2007-10-24 3:51 ` David Miller 0 siblings, 1 reply; 4+ messages in thread From: Pavel Emelyanov @ 2007-10-23 13:01 UTC (permalink / raw) To: Patrick McHardy, Alexey Dobriyan; +Cc: netdev, peter.p.waskiewicz.jr Try with this patch. Log: Fix more users of netiff_subqueue_stopped. To check for the queue id one must use the __netiff_subqueue_stoped call. These run out of my sight when I made the 668f895a85b0c3a62a690425145f13dabebebd7a commit :( Signed-off-by: Pavel Emelyanov <xemul@openvz.org> --- diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c index ae41973..d337bfa 100644 --- a/drivers/net/cpmac.c +++ b/drivers/net/cpmac.c @@ -534,7 +534,7 @@ static void cpmac_end_xmit(struct net_device *dev, int queue) dev_kfree_skb_irq(desc->skb); desc->skb = NULL; #ifdef CONFIG_NETDEVICES_MULTIQUEUE - if (netif_subqueue_stopped(dev, queue)) + if (__netif_subqueue_stopped(dev, queue)) netif_wake_subqueue(dev, queue); #else if (netif_queue_stopped(dev)) @@ -545,7 +545,7 @@ static void cpmac_end_xmit(struct net_device *dev, int queue) printk(KERN_WARNING "%s: end_xmit: spurious interrupt\n", dev->name); #ifdef CONFIG_NETDEVICES_MULTIQUEUE - if (netif_subqueue_stopped(dev, queue)) + if (__netif_subqueue_stopped(dev, queue)) netif_wake_subqueue(dev, queue); #else if (netif_queue_stopped(dev)) @@ -649,7 +649,7 @@ static void cpmac_clear_tx(struct net_device *dev) for (i = 0; i < CPMAC_QUEUES; i++) if (priv->desc_ring[i].skb) { dev_kfree_skb_any(priv->desc_ring[i].skb); - if (netif_subqueue_stopped(dev, i)) + if (__netif_subqueue_stopped(dev, i)) netif_wake_subqueue(dev, i); } } diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c index abd82fc..de89409 100644 --- a/net/sched/sch_prio.c +++ b/net/sched/sch_prio.c @@ -136,7 +136,7 @@ prio_dequeue(struct Qdisc* sch) * pulling an skb. This way we avoid excessive requeues * for slower queues. */ - if (!netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) { + if (!__netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) { qdisc = q->queues[prio]; skb = qdisc->dequeue(qdisc); if (skb) { @@ -165,7 +165,7 @@ static struct sk_buff *rr_dequeue(struct Qdisc* sch) * for slower queues. If the queue is stopped, try the * next queue. */ - if (!netif_subqueue_stopped(sch->dev, + if (!__netif_subqueue_stopped(sch->dev, (q->mq ? q->curband : 0))) { qdisc = q->queues[q->curband]; skb = qdisc->dequeue(qdisc); ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: sch_prio.c vs CONFIG_NETDEVICES_MULTIQUEUE 2007-10-23 13:01 ` Pavel Emelyanov @ 2007-10-24 3:51 ` David Miller 0 siblings, 0 replies; 4+ messages in thread From: David Miller @ 2007-10-24 3:51 UTC (permalink / raw) To: xemul; +Cc: kaber, adobriyan, netdev, peter.p.waskiewicz.jr From: Pavel Emelyanov <xemul@openvz.org> Date: Tue, 23 Oct 2007 17:01:24 +0400 > Fix more users of netiff_subqueue_stopped. To check for the > queue id one must use the __netiff_subqueue_stoped call. > > These run out of my sight when I made the > 668f895a85b0c3a62a690425145f13dabebebd7a commit :( > > Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Applied, thanks Pavel. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-10-24 3:51 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-10-23 12:14 sch_prio.c vs CONFIG_NETDEVICES_MULTIQUEUE Alexey Dobriyan 2007-10-23 12:17 ` Patrick McHardy 2007-10-23 13:01 ` Pavel Emelyanov 2007-10-24 3:51 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).