[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080812.181549.229367205.davem@davemloft.net>
Date: Tue, 12 Aug 2008 18:15:49 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: gallatin@...i.com
Cc: netdev@...r.kernel.org, robert@...ur.slu.se
Subject: Re: CPU utilization increased in 2.6.27rc
From: Andrew Gallatin <gallatin@...i.com>
Date: Tue, 12 Aug 2008 20:56:23 -0400
> pkt_sched: Schedule qdiscs instead of netdev_queue.
While I'm waiting for your beforehand profile data,
here is a stab in the dark patch which might fix
the problem.
Robert, this could explain some of the things in the
multiqueue testing profile you sent me a week or so
ago.
Let me know how well it works:
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
index 6affcfa..720cae6 100644
--- a/include/net/pkt_sched.h
+++ b/include/net/pkt_sched.h
@@ -89,7 +89,10 @@ extern void __qdisc_run(struct Qdisc *q);
static inline void qdisc_run(struct Qdisc *q)
{
- if (!test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))
+ struct netdev_queue *txq = q->dev_queue;
+
+ if (!netif_tx_queue_stopped(txq) &&
+ !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state))
__qdisc_run(q);
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists