All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rajkumar Manoharan <rmanohar@codeaurora.org>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>,
	Rajkumar Manoharan <rmanohar@qti.qualcomm.com>,
	ath10k@lists.infradead.org
Subject: Re: [PATCH v3] ath10k: move mgmt descriptor limit handle under mgmt_tx
Date: Tue, 08 Mar 2016 22:13:09 +0530	[thread overview]
Message-ID: <3f8bfeb73178ec267d088f91a2f0350a@codeaurora.org> (raw)
In-Reply-To: <CA+BoTQk3i9QjF-W_1AZpMcwyceO-KDx8=R-swP0J-thqdxRcMg@mail.gmail.com>

On , Michal Kazior wrote:
> On 8 March 2016 at 13:54, Rajkumar Manoharan <rmanohar@codeaurora.org> 
> wrote:
>> On , Michal Kazior wrote:
>>> 
>>> On 8 March 2016 at 12:54, Rajkumar Manoharan 
>>> <rmanohar@qti.qualcomm.com>
>>> wrote:
...]
>>>> 
>>>>         skb_cb = ATH10K_SKB_CB(msdu);
>>>>         txq = skb_cb->txq;
>>>>         artxq = (void *)txq->drv_priv;
>>>> 
>>>> -       if (unlikely(skb_cb->flags & ATH10K_SKB_F_MGMT) &&
>>>> -           ar->hw_params.max_probe_resp_desc_thres)
>>>> -               limit_mgmt_desc = true;
>>>> -
>>> 
>>> 
>>> Oh wait.. I didn't pay attention before, but this looks rather ugly.
>>> With this you will actually make the num_pending_mgmt_tx spin
>>> endlessly upwards on firmware with HTT 3.0 (and uses TX_FRM for mgmt
>>> tx and TX_COMPL_IND for completions), no?
>>> 
>> Oops.. num_pending_mgmt_tx should be incremented only for MGMT_TX. 
>> Thats
>> why it is moved out of txrx_tx_unref.
> 
> Hmm.. in that case I think you should change is_htt in mac_op_tx() to
> compare only against TX_HTT_MGMT (instead of both TX_HTT and
> TX_HTT_MGMT).
> 
> Note, the is_mgmt should stay as it is possible for the TX_HTT_MGMT to
> be used for non-mgmt frames in some cases. This also implies you need
> to check for ATH10K_SKB_F_MGMT on the mgmt-tx-completion event as well
> (you might get to handle NullFunc there).
> 
If a frame is transmitted via MGMT_TX, the reserved descriptor slots 
will be
used in firmware. So irrespective of type,  num_pending_mgmt_tx should 
count
all frames that are transmitted via MGMT_TX to control probe resp. Here 
mgmt_tx
does not mean frame type but HTT tx type (HTT_H2T_MSG_TYPE_MGMT_TX).

So ATH10K_SKB_F_MGMT check in tx-compl is not needed. As you pointed 
out,
since nullfunc also uses MGMT_TX, is_mgmt should be as below. (not frame 
type)

is_mgmt = (txpath == ATH10K_MAC_TX_HTT_MGMT);

-Rajkumar

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

WARNING: multiple messages have this Message-ID (diff)
From: Rajkumar Manoharan <rmanohar@codeaurora.org>
To: Michal Kazior <michal.kazior@tieto.com>
Cc: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>,
	ath10k@lists.infradead.org,
	linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH v3] ath10k: move mgmt descriptor limit handle under mgmt_tx
Date: Tue, 08 Mar 2016 22:13:09 +0530	[thread overview]
Message-ID: <3f8bfeb73178ec267d088f91a2f0350a@codeaurora.org> (raw)
In-Reply-To: <CA+BoTQk3i9QjF-W_1AZpMcwyceO-KDx8=R-swP0J-thqdxRcMg@mail.gmail.com>

On , Michal Kazior wrote:
> On 8 March 2016 at 13:54, Rajkumar Manoharan <rmanohar@codeaurora.org> 
> wrote:
>> On , Michal Kazior wrote:
>>> 
>>> On 8 March 2016 at 12:54, Rajkumar Manoharan 
>>> <rmanohar@qti.qualcomm.com>
>>> wrote:
...]
>>>> 
>>>>         skb_cb = ATH10K_SKB_CB(msdu);
>>>>         txq = skb_cb->txq;
>>>>         artxq = (void *)txq->drv_priv;
>>>> 
>>>> -       if (unlikely(skb_cb->flags & ATH10K_SKB_F_MGMT) &&
>>>> -           ar->hw_params.max_probe_resp_desc_thres)
>>>> -               limit_mgmt_desc = true;
>>>> -
>>> 
>>> 
>>> Oh wait.. I didn't pay attention before, but this looks rather ugly.
>>> With this you will actually make the num_pending_mgmt_tx spin
>>> endlessly upwards on firmware with HTT 3.0 (and uses TX_FRM for mgmt
>>> tx and TX_COMPL_IND for completions), no?
>>> 
>> Oops.. num_pending_mgmt_tx should be incremented only for MGMT_TX. 
>> Thats
>> why it is moved out of txrx_tx_unref.
> 
> Hmm.. in that case I think you should change is_htt in mac_op_tx() to
> compare only against TX_HTT_MGMT (instead of both TX_HTT and
> TX_HTT_MGMT).
> 
> Note, the is_mgmt should stay as it is possible for the TX_HTT_MGMT to
> be used for non-mgmt frames in some cases. This also implies you need
> to check for ATH10K_SKB_F_MGMT on the mgmt-tx-completion event as well
> (you might get to handle NullFunc there).
> 
If a frame is transmitted via MGMT_TX, the reserved descriptor slots 
will be
used in firmware. So irrespective of type,  num_pending_mgmt_tx should 
count
all frames that are transmitted via MGMT_TX to control probe resp. Here 
mgmt_tx
does not mean frame type but HTT tx type (HTT_H2T_MSG_TYPE_MGMT_TX).

So ATH10K_SKB_F_MGMT check in tx-compl is not needed. As you pointed 
out,
since nullfunc also uses MGMT_TX, is_mgmt should be as below. (not frame 
type)

is_mgmt = (txpath == ATH10K_MAC_TX_HTT_MGMT);

-Rajkumar

  reply	other threads:[~2016-03-08 16:43 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-08 11:54 [PATCH v3] ath10k: move mgmt descriptor limit handle under mgmt_tx Rajkumar Manoharan
2016-03-08 11:54 ` Rajkumar Manoharan
2016-03-08 12:40 ` Michal Kazior
2016-03-08 12:40   ` Michal Kazior
2016-03-08 12:54   ` Rajkumar Manoharan
2016-03-08 12:54     ` Rajkumar Manoharan
2016-03-08 13:01     ` Michal Kazior
2016-03-08 13:01       ` Michal Kazior
2016-03-08 16:43       ` Rajkumar Manoharan [this message]
2016-03-08 16:43         ` Rajkumar Manoharan

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

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

  git send-email \
    --in-reply-to=3f8bfeb73178ec267d088f91a2f0350a@codeaurora.org \
    --to=rmanohar@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=michal.kazior@tieto.com \
    --cc=rmanohar@qti.qualcomm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.