linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wen Gong <wgong@codeaurora.org>
To: Krishna Chaitanya <chaitanya.mgit@gmail.com>
Cc: Kalle Valo <kvalo@codeaurora.org>,
	linux-wireless <linux-wireless@vger.kernel.org>,
	ath10k <ath10k@lists.infradead.org>
Subject: Re: [RFC] ath10k: change to do napi_enable and napi_disable when insmod and rmmod for sdio
Date: Thu, 20 Aug 2020 18:20:46 +0800	[thread overview]
Message-ID: <17857699628b4627ac3c781d9a20c0d8@codeaurora.org> (raw)
In-Reply-To: <CABPxzYJLvrZKFeun0PmvE5NbXfke3orJnaXEY3e17xeBYkSqnw@mail.gmail.com>

On 2020-08-20 17:26, Krishna Chaitanya wrote:
> On Thu, Aug 20, 2020 at 2:49 PM Krishna Chaitanya
> <chaitanya.mgit@gmail.com> wrote:
>> 
>> On Thu, Aug 20, 2020 at 2:03 PM Kalle Valo <kvalo@codeaurora.org> 
>> wrote:
>> >
>> > Wen Gong <wgong@codeaurora.org> writes:
>> >
...
>> > I'm not really convinced that this is the right fix, but I'm no NAPI
>> > expert. Can anyone else help?
>> Calling napi_disable() twice can lead to hangs, but moving NAPI from
>> start/stop to
>> the probe isn't the right approach as the datapath is tied to 
>> start/stop.
>> 
>> Maybe check the state of NAPI before disable?
>> 
>>  if (test_bit(NAPI_STATE_SCHED, &ar->napi.napi.state))
>>   napi_disable(&ar->napi)
>> 
>> or maintain napi_state like this 
>> https://patchwork.kernel.org/patch/10249365/
>> 
>> Also, the most common cause for such issues (1st
>> napi_synchronize/napi_disable hang)
>> is that napi_poll is being scheduled, so, you might want to check that
>> napi_schedule isn't
>> called after stop.
>> 
>> cd ath10k; git log --grep=napi shows plenty of such issues. the one
>> that matches closest is
>> c2cac2f74ab4bcf0db0dcf3a612f1e5b52d145c8, so, it could just be a 
>> regression.
> Also, I see that napi_schedule() is being called from work_queue 
> async_work_rx
> so we should cancel that work in hif_stop before calling 
> napi_synchronize.
Yes, I will do that in a new patch.

  reply	other threads:[~2020-08-20 10:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14  3:55 [RFC] ath10k: change to do napi_enable and napi_disable when insmod and rmmod for sdio Wen Gong
2020-08-20  8:32 ` Kalle Valo
2020-08-20  9:19   ` Krishna Chaitanya
2020-08-20  9:26     ` Krishna Chaitanya
2020-08-20 10:20       ` Wen Gong [this message]
2020-08-20 10:14     ` Wen Gong
2020-08-20 10:52       ` Krishna Chaitanya
2020-08-20 14:37         ` Wen Gong
2020-08-20 16:08           ` Krishna Chaitanya
2020-08-20 16:32             ` Ben Greear
2020-08-20 17:00               ` Krishna Chaitanya
2020-08-20 17:07                 ` Ben Greear
2020-08-20 17:41                   ` Krishna Chaitanya
2020-08-20 17:42                     ` Krishna Chaitanya
2020-08-20 17:53                       ` Ben Greear
2020-08-20 20:15                         ` Krishna Chaitanya
2020-08-20 20:59                           ` Ben Greear
2020-08-21  2:45                             ` Wen Gong
2020-08-24  4:35                               ` Wen Gong
2020-09-07 16:07                             ` Kalle Valo
2020-09-07 17:18                               ` Ben Greear

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=17857699628b4627ac3c781d9a20c0d8@codeaurora.org \
    --to=wgong@codeaurora.org \
    --cc=ath10k@lists.infradead.org \
    --cc=chaitanya.mgit@gmail.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).