On Thu, Jan 31, 2013 at 04:14:05PM +0100, Johannes Berg wrote: > On Tue, 2013-01-29 at 17:47 -0600, Seth Forshee wrote: > > > + if (offchan_tx_ok) { > > unlikely(), this is one of the hottest code paths in mac80211 after > all :-) Ack, I'll change this for v2. > > + /* > > + * Always directly transmit off-channel frames > > + * unless the driver has stopped the queues. > > + */ > > + if (test_bit(IEEE80211_QUEUE_STOP_REASON_DRIVER, > > + &local->queue_stop_reasons[q])) { > > might there be other reasons to TX, i.e. ignore only > STOP_REASON_OFFCHANNEL? I originally wrote it that way, but I'm not sure that all of the stop reasons need to block tx here. I'll take another look. > That might be more efficient too: > > offchflag = offchan_tx_ok << log2(STOP_REASON_OFFCHANNEL); > > > + } else if (local->queue_stop_reasons[q] || > > if (local->queue_stop_reasons[q] & ~offchflag || ... > > OTOH, I guess you want a different return value too. But that's in a > relatively unlikely code path again, so might still be better to then > again differentiate within that if. Good suggestions, I'll take a look at applying them in some form. Seth -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html