From: Rusty Russell <rusty@rustcorp.com.au> Date: Fri, 16 May 2008 12:01:48 +1000Allowing TX_BUSY adds a special case to the caller which we'd like to remove at some point. Two things: 1) You can always make sure that you have enough space for a TSO frame, with arbitrary page boundaries and thus buffer chopping. It can even be estimated, and if violated by some corner case you can punt and drop. 2) You can queue inside of the driver one packet when you hit the limits unexpectedly, netif_stop_queue(), and return success. Spit this packet out right before waking the queue again. Really, there are no hard reasons to ever return TX_BUSY, it's always a bug. In fact, I want to move things more and more towards the driver queueing TX packets internally instead of the networking mid-layer. That will ahve benefits for things like TX multiqueue, we won't need any locking at all, nor have any knowledge about multiple queues at all, if the driver takes care of providing the buffer between what the kernel gives it and what the device can handle at the moment. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Andrew Morton | Re: Linux 2.6.21-rc4 |
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Balbir Singh | Re: [RFC][PATCH 2/7] RSS controller core |
git: | |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| David Miller | [GIT]: Networking |
| Andreas Henriksson | [PATCH 06/12] Remove bogus reference to tc-filters(8) from tc(8) manpage. |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
