On Wed, Feb 11, 2015 at 11:48 PM, Michal Kazior <michal.kazior@xxxxxxxxx> wrote: > On 11 February 2015 at 09:57, Michal Kazior <michal.kazior@xxxxxxxxx> wrote: >> On 10 February 2015 at 15:19, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: >>> On Tue, 2015-02-10 at 11:33 +0100, Michal Kazior wrote: >>> >>>> + if (msdu->sk) { >>>> + ewma_add(&ar->tx_delay_us, >>>> + ktime_to_ns(ktime_sub(ktime_get(), skb_cb->stamp)) / >>>> + NSEC_PER_USEC); >>>> + >>>> + ACCESS_ONCE(msdu->sk->sk_tx_completion_delay_cushion) = >>>> + (ewma_read(&ar->tx_delay_us) * >>>> + msdu->sk->sk_pacing_rate) >> 20; >>>> + } >>> >>> To some extent, every wifi driver is going to have this problem. Perhaps >>> we should do this in mac80211? >> >> Good point. I was actually thinking about it. I can try cooking a >> patch unless you want to do it yourself :-) > > I've taken a look into this. The most obvious place to add the > timestamp for each packet would be ieee80211_tx_info (i.e. the > skb->cb[48]). The problem is it's very tight there. Even squeezing 2 > bytes (allowing up to 64ms of tx completion delay which I'm worried I will argue strongly in favor of never allowing more than 4ms packets to accumulate in the firmware. > won't be enough) will be troublesome. Some drivers already use every > last byte of their allowance on 64bit archs (e.g. ar5523 uses entire > 40 bytes of driver_data). > > I wonder if it's okay to bump skb->cb to 56 bytes to avoid the cascade > of changes required to implement the tx completion delay accounting? > > > Michał > -- > To unsubscribe from this list: send the line "unsubscribe netdev" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Dave Täht thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks -- 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