Re: [PATCH] mac80211: rewrite fragmentation code

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <rusty@...>
Cc: <herbert@...>, <mb@...>, <johannes@...>, <linux-wireless@...>, <netdev@...>, <ron.rindjunsky@...>, <tomasw@...>, <ivdoorn@...>, <peter.p.waskiewicz.jr@...>
Date: Friday, May 16, 2008 - 12:58 am

From: Rusty Russell <rusty@rustcorp.com.au>
Date: Fri, 16 May 2008 12:01:48 +1000


Allowing 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
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC/RFT 3/4] mac80211: use GSO for fragmentation, Johannes Berg, (Wed Apr 30, 8:40 am)
Re: [RFC/RFT 3/4] mac80211: use GSO for fragmentation, Johannes Berg, (Wed May 7, 4:50 am)
[PATCH] mac80211: rewrite fragmentation code, Johannes Berg, (Wed May 7, 7:22 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Wed May 7, 7:41 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Johannes Berg, (Wed May 7, 7:52 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Wed May 7, 9:05 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Johannes Berg, (Wed May 7, 3:19 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, Michael Buesch, (Wed May 7, 9:48 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Wed May 7, 11:22 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, Michael Buesch, (Thu May 8, 9:00 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Thu May 8, 9:08 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Michael Buesch, (Thu May 8, 9:13 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Thu May 8, 9:32 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Michael Buesch, (Thu May 8, 9:15 am)
Re: [PATCH] mac80211: rewrite fragmentation code, David Miller, (Wed May 7, 11:26 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, Rusty Russell, (Thu May 15, 10:01 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, David Miller, (Fri May 16, 12:58 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Rusty Russell, (Fri May 16, 6:32 am)
Re: [PATCH] mac80211: rewrite fragmentation code, David Miller, (Fri May 16, 3:40 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, Rusty Russell, (Sun May 18, 11:08 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, David Miller, (Mon May 19, 3:03 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Fri May 16, 8:15 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Johannes Berg, (Fri May 16, 6:38 am)
Re: [PATCH] mac80211: rewrite fragmentation code, Herbert Xu, (Thu May 15, 11:28 pm)
Re: [PATCH] mac80211: rewrite fragmentation code, Johannes Berg, (Thu May 8, 5:00 am)