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 <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html