Lets make wifi fast again!
 help / color / mirror / Atom feed
From: Jason Andryuk <jandryuk@gmail.com>
To: "Toke Høiland-Jørgensen" <toke@toke.dk>
Cc: make-wifi-fast@lists.bufferbloat.net,
	 "linux-wireless@vger.kernel.org"
	<linux-wireless@vger.kernel.org>
Subject: Re: [Make-wifi-fast] [PATCH v5] mac80211: Move reorder-sensitive TX handlers to after TXQ dequeue.
Date: Fri, 02 Sep 2016 02:48:52 -0000	[thread overview]
Message-ID: <CAKf6xptJrniYA3Q2pYN4DkpKf_30dNJTdHqm+jCM=enDRSQhJQ@mail.gmail.com> (raw)
In-Reply-To: <20160901160312.31540-1-toke@toke.dk>

On Thu, Sep 1, 2016 at 12:03 PM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
> @@ -1481,33 +1506,57 @@ struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
>  {
>         struct ieee80211_local *local = hw_to_local(hw);
>         struct txq_info *txqi = container_of(txq, struct txq_info, txq);
> -       struct ieee80211_hdr *hdr;
>         struct sk_buff *skb = NULL;
>         struct fq *fq = &local->fq;
>         struct fq_tin *tin = &txqi->tin;
> +       struct ieee80211_tx_info *info;
>
>         spin_lock_bh(&fq->lock);
>
>         if (test_bit(IEEE80211_TXQ_STOP, &txqi->flags))
>                 goto out;
>
> +begin:
>         skb = fq_tin_dequeue(fq, tin, fq_tin_dequeue_func);
>         if (!skb)
>                 goto out;
>
>         ieee80211_set_skb_vif(skb, txqi);
>
> -       hdr = (struct ieee80211_hdr *)skb->data;
> -       if (txq->sta && ieee80211_is_data_qos(hdr->frame_control)) {
> +       info = IEEE80211_SKB_CB(skb);
> +       if (txq->sta && info->control.flags & IEEE80211_TX_CTRL_FAST_XMIT) {
>                 struct sta_info *sta = container_of(txq->sta, struct sta_info,
>                                                     sta);
> -               struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
> +               struct ieee80211_fast_tx *fast_tx;
>
> -               hdr->seq_ctrl = ieee80211_tx_next_seq(sta, txq->tid);
> -               if (test_bit(IEEE80211_TXQ_AMPDU, &txqi->flags))
> -                       info->flags |= IEEE80211_TX_CTL_AMPDU;
> -               else
> -                       info->flags &= ~IEEE80211_TX_CTL_AMPDU;
> +               fast_tx = rcu_dereference(sta->fast_tx);
> +               if (WARN_ON(!fast_tx)) {
> +                       /* lost the fast_tx pointer while the packet was queued */
> +                       ieee80211_free_txskb(hw, skb);
> +                       goto begin;
> +               }
> +               ieee80211_xmit_fast_finish(sta->sdata, sta, fast_tx, skb, false);
> +       } else {
> +               struct ieee80211_tx_data tx = { };
> +
> +               __skb_queue_head_init(&tx.skbs);
> +               tx.local = local;
> +               if (txq->sta) {
> +                       struct sta_info *sta = container_of(txq->sta,
> +                                                           struct sta_info,
> +                                                           sta);

sta is unneeded give the assignment below?

Regards,
Jason

> +                       tx.sta = container_of(txq->sta, struct sta_info, sta);
> +                       tx.sdata = sta->sdata;
> +               } else {
> +                       tx.sdata = vif_to_sdata(info->control.vif);
> +               }
> +
> +               __skb_queue_tail(&tx.skbs, skb);
> +
> +               if (invoke_tx_handlers_late(&tx))
> +                       goto begin;
> +
> +               __skb_unlink(skb, &tx.skbs);
>         }

  parent reply	other threads:[~2016-09-02  2:48 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17 12:58 [Make-wifi-fast] [PATCH] mac80211: Move crypto IV generation " Toke Høiland-Jørgensen
2016-08-17 13:08 ` Johannes Berg
2016-08-17 13:16   ` Toke Høiland-Jørgensen
2016-08-17 13:18     ` Johannes Berg
2016-08-17 13:23       ` Toke Høiland-Jørgensen
2016-08-17 14:45 ` [Make-wifi-fast] [PATCH v2] " Toke Høiland-Jørgensen
2016-08-17 15:47   ` Noah Causin
2016-08-17 22:33     ` Toke Høiland-Jørgensen
2016-08-19  3:06       ` Noah Causin
2016-08-22 14:24         ` Toke Høiland-Jørgensen
2016-08-23 17:06           ` Noah Causin
2016-08-23 17:51             ` Toke Høiland-Jørgensen
2016-08-17 19:49   ` Johannes Berg
2016-08-17 20:07     ` Dave Taht
2016-08-17 20:43       ` Johannes Berg
2016-08-22 14:47         ` Toke Høiland-Jørgensen
2016-08-26  8:38           ` Johannes Berg
2016-08-26  8:54             ` Toke Høiland-Jørgensen
2016-08-24 16:20   ` [Make-wifi-fast] [PATCH v3] mac80211: Move reorder-sensitive TX handlers " Toke Høiland-Jørgensen
2016-08-24 22:40     ` Noah Causin
2016-08-25 12:45       ` Toke Høiland-Jørgensen
2016-08-26 14:30         ` Toke Høiland-Jørgensen
2016-08-26 14:51           ` Dave Taht
2016-08-30 13:15     ` [Make-wifi-fast] [PATCH v4] " Toke Høiland-Jørgensen
2016-08-30 13:17       ` Toke Høiland-Jørgensen
2016-08-31 21:06       ` Johannes Berg
2016-09-01  8:23         ` Toke Høiland-Jørgensen
2016-09-01  8:34           ` Johannes Berg
2016-09-01  8:38             ` Toke Høiland-Jørgensen
2016-09-01  9:07               ` Johannes Berg
2016-09-01  9:20                 ` Toke Høiland-Jørgensen
2016-09-01  9:27                   ` Johannes Berg
2016-09-01  9:42                     ` Toke Høiland-Jørgensen
2016-09-01 16:03       ` [Make-wifi-fast] [PATCH v5] " Toke Høiland-Jørgensen
2016-09-01 17:59         ` Johannes Berg
2016-09-01 18:30           ` Toke Høiland-Jørgensen
2016-09-01 18:35             ` Johannes Berg
2016-09-02  2:48         ` Jason Andryuk [this message]
2016-09-02  9:27           ` Toke Høiland-Jørgensen
2016-09-02 13:41         ` [Make-wifi-fast] [PATCH v6] " Toke Høiland-Jørgensen
2016-09-02 14:44           ` Toke Høiland-Jørgensen
2016-09-05 11:30           ` [Make-wifi-fast] [PATCH v7] " Toke Høiland-Jørgensen
2016-09-05 16:06             ` Toke Høiland-Jørgensen
2016-09-05 17:00               ` Dave Taht
2016-09-05 17:26                 ` Toke Høiland-Jørgensen
2016-09-05 17:59                   ` Dave Taht
2016-09-05 20:23                     ` Dave Taht
2016-09-05 20:45                       ` Toke Høiland-Jørgensen
2016-09-05 21:02                         ` Dave Taht
2016-09-05 21:25                           ` Toke Høiland-Jørgensen
2016-09-05 21:29                             ` Dave Taht
2016-09-05 21:35                               ` Toke Høiland-Jørgensen
2016-09-05 21:42                                 ` Dave Taht
2016-09-05 22:04                                   ` Dave Taht
2016-09-05 22:01                             ` Toke Høiland-Jørgensen
2016-09-05 22:08                               ` Dave Taht
2016-09-05 22:31                                 ` Dave Taht
2016-09-05 17:49             ` Felix Fietkau
2016-09-05 17:59               ` Toke Høiland-Jørgensen
2016-09-05 18:45                 ` Felix Fietkau
2016-09-06 11:43             ` Toke Høiland-Jørgensen
2016-09-06 11:45               ` Toke Høiland-Jørgensen
2016-09-06 11:44             ` [Make-wifi-fast] [PATCH v8] " Toke Høiland-Jørgensen
2016-09-06 22:04               ` Felix Fietkau
2016-09-12 12:35               ` Johannes Berg
2016-09-12 13:08                 ` Toke Høiland-Jørgensen
2016-09-12 13:19                   ` Johannes Berg
2016-09-22 17:04               ` [Make-wifi-fast] [PATCH v9 0/2] mac80211: TXQ dequeue path rework Toke Høiland-Jørgensen
2016-09-22 17:04               ` [Make-wifi-fast] [PATCH v9 1/2] mac80211: Move ieee802111_tx_dequeue() to later in tx.c Toke Høiland-Jørgensen
2016-09-30 11:13                 ` Johannes Berg
2016-09-22 17:04               ` [Make-wifi-fast] [PATCH v9 2/2] mac80211: Move reorder-sensitive TX handlers to after TXQ dequeue Toke Høiland-Jørgensen
2016-09-30 10:27                 ` Johannes Berg
2016-09-30 12:39                   ` Toke Høiland-Jørgensen
2016-09-30 12:43                     ` Johannes Berg
2016-09-30 12:45                       ` Toke Høiland-Jørgensen
2016-09-30 12:49                 ` Johannes Berg
2016-09-30 14:01                   ` Toke Høiland-Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/make-wifi-fast.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKf6xptJrniYA3Q2pYN4DkpKf_30dNJTdHqm+jCM=enDRSQhJQ@mail.gmail.com' \
    --to=jandryuk@gmail.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=make-wifi-fast@lists.bufferbloat.net \
    --cc=toke@toke.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox