[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+ASDXNGR2=sQ+w1LkMiY_UCfaYgQ5tcu2pbBn46R2asv83sSQ@mail.gmail.com>
Date: Wed, 1 Sep 2021 14:04:04 -0700
From: Brian Norris <briannorris@...omium.org>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Jonas Dreßler <verdre@...d.nl>,
Amitkumar Karwar <amitkarwar@...il.com>,
Ganapathi Bhat <ganapathi017@...il.com>,
Xinming Hu <huxinming820@...il.com>,
Kalle Valo <kvalo@...eaurora.org>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Tsuchiya Yuto <kitakar@...il.com>,
linux-wireless <linux-wireless@...r.kernel.org>,
"<netdev@...r.kernel.org>" <netdev@...r.kernel.org>,
Linux Kernel <linux-kernel@...r.kernel.org>,
linux-pci <linux-pci@...r.kernel.org>,
Maximilian Luz <luzmaximilian@...il.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Pali Rohár <pali@...nel.org>
Subject: Re: [PATCH 1/2] mwifiex: Use non-posted PCI register writes
On Wed, Sep 1, 2021 at 1:41 PM Andy Shevchenko
<andy.shevchenko@...il.com> wrote:
>
> On Wed, Sep 1, 2021 at 11:25 PM Brian Norris <briannorris@...omium.org> wrote:
> > On Mon, Aug 30, 2021 at 5:37 AM Jonas Dreßler <verdre@...d.nl> wrote:
>
> ...
>
> > This might be good for many cases, but please read this commit:
> >
> > https://git.kernel.org/linus/062e008a6e83e7c4da7df0a9c6aefdbc849e2bb3
> > mwifiex: pcie: use posted write to wake up firmware
> >
> > It's very much intentional that this is a posted write in some cases.
> >
> > Without ensuring this doesn't regress, NAK from me.
>
> Can you ensure that from Chrome / Google perspective, please?
I mean, the context link should be pretty obvious. But sure: with this patch:
(a) all my least-favorite audio issues to debug return (audio is
especially latency-sensitive on the Rockchip RK3399 systems I have)
(b) latency spikes to ~6ms:
# trace-cmd record -p function_graph -O funcgraph-abstime -l
mwifiex_pm_wakeup_card
# trace-cmd report
kworker/u13:0-199 [003] 348.987306: funcgraph_entry: #
6219.500 us | mwifiex_pm_wakeup_card();
kworker/u13:0-199 [003] 349.316312: funcgraph_entry: #
6267.625 us | mwifiex_pm_wakeup_card();
kworker/u13:3-4057 [001] 352.238530: funcgraph_entry: #
6184.250 us | mwifiex_pm_wakeup_card();
kworker/u13:0-199 [002] 356.626366: funcgraph_entry: #
6553.166 us | mwifiex_pm_wakeup_card();
kworker/u13:3-4057 [002] 356.709389: funcgraph_entry: #
6212.500 us | mwifiex_pm_wakeup_card();
kworker/u13:3-4057 [002] 356.847215: funcgraph_entry: #
6230.292 us | mwifiex_pm_wakeup_card();
kworker/u13:3-4057 [000] 356.897576: funcgraph_entry: #
6451.667 us | mwifiex_pm_wakeup_card();
kworker/u13:0-199 [004] 357.175025: funcgraph_entry: #
6204.042 us | mwifiex_pm_wakeup_card();
whereas it used to look more like:
kworker/u13:1-173 [005] 212.230542: funcgraph_entry:
7.000 us | mwifiex_pm_wakeup_card();
kworker/u13:3-1768 [005] 213.886063: funcgraph_entry:
9.334 us | mwifiex_pm_wakeup_card();
kworker/u13:3-1768 [002] 214.473273: funcgraph_entry: +
11.375 us | mwifiex_pm_wakeup_card();
kworker/u13:3-1768 [005] 214.530705: funcgraph_entry:
5.542 us | mwifiex_pm_wakeup_card();
kworker/u13:1-173 [002] 215.050168: funcgraph_entry: +
13.125 us | mwifiex_pm_wakeup_card();
kworker/u13:1-173 [002] 215.106492: funcgraph_entry: +
11.959 us | mwifiex_pm_wakeup_card();
kworker/u13:3-1768 [005] 215.484807: funcgraph_entry:
8.459 us | mwifiex_pm_wakeup_card();
kworker/u13:1-173 [003] 215.515238: funcgraph_entry: +
15.166 us | mwifiex_pm_wakeup_card();
kworker/u13:3-1768 [001] 217.175691: funcgraph_entry: +
11.083 us | mwifiex_pm_wakeup_card();
I think it would be enough to only modify mwifiex_pm_wakeup_card() to
retain the posted version, but I'm not sure how that fits in with the
rest of the author's work. I suppose I can give a later version a run
if needed.
Brian
Powered by blists - more mailing lists