[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071113174444.27916.1892.stgit@localhost.localdomain>
Date: Tue, 13 Nov 2007 09:44:44 -0800
From: PJ Waskiewicz <peter.p.waskiewicz.jr@...el.com>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org
Subject: [PATCH] SCHED: Fix unnecesary driver entries when queue is stopped
Dave,
This patch addresses an issue with multiqueue devices and non-multiqueue
qdiscs which is causing performance issues. This patch should be
considered for both 2.6.23-stable and 2.6.24 upstream. Basically, if
a driver is using the netif_*_subqueue() calls, then qdisc_restart() will
happily call hard_start_xmit() even if subqueue 0 is stopped, which is bad.
This re-adds the check for the subqueue state.
Note that this check was removed when qdisc_restart() was rewritten. At that
time though, we didn't understand the full effect of multiqueue with respect
to the qdiscs and queue management from a driver to kernel perspective. Since
the driver doesn't know what qdisc capabilities live above it, it needs to
decide to use the queue or subqueue functions ahead of time. This patch is
just cleaning up a miss from that rewrite.
Patch 1 is for 2.6.24, patch 2 is for 2.6.23 stable.
Thanks,
--
PJ Waskiewicz <peter.p.waskiewicz.jr@...el.com>
-
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