Linux-mediatek Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Jason-JH Lin (林睿祥)" <Jason-JH.Lin@mediatek.com>
To: "jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mediatek@lists.infradead.org"
	<linux-mediatek@lists.infradead.org>,
	"Singo Chang (張興國)" <Singo.Chang@mediatek.com>,
	"chunkuang.hu@kernel.org" <chunkuang.hu@kernel.org>,
	"Nancy Lin (林欣螢)" <Nancy.Lin@mediatek.com>,
	Project_Global_Chrome_Upstream_Group
	<Project_Global_Chrome_Upstream_Group@mediatek.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"matthias.bgg@gmail.com" <matthias.bgg@gmail.com>,
	"angelogioacchino.delregno@collabora.com"
	<angelogioacchino.delregno@collabora.com>
Subject: Re: [PATCH 2/2] mailbox: mtk-cmdq: Move pm_runimte_get and put to mbox_chan_ops API
Date: Wed, 3 Jul 2024 16:41:41 +0000	[thread overview]
Message-ID: <092d917b4cae2762317a8739c874855554ae913f.camel@mediatek.com> (raw)
In-Reply-To: <CABb+yY0+fFw7Bg578DFEdrigVFgf4-v3qo2JVruEa3ExtvRsMg@mail.gmail.com>

On Thu, 2024-06-27 at 22:40 -0500, Jassi Brar wrote:
>  	 
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
>  On Wed, Jun 26, 2024 at 4:32 AM Jason-JH Lin (林睿祥)
> <Jason-JH.Lin@mediatek.com> wrote:
> > >
> > > The idea is that
> > > 1) If the gap between transfers on a busy channel is ~10ms or
> > > more.  And ..
> > > 2) The silence on the mailbox channel is multiple of 100ms. And
> ...
> >
> > The mailbox channel would not be always busy and the gap is not
> > consistent as well.
> > For example, display driver calls mbox_send_message() every ~16ms
> while
> > UI is updating in 60fps.
> > If UI dose not update, display driver won't call
> mbox_send_message(),
> > so user may not has the gap and the silence like this.
> >
> From your logs, send_diff only increases from 16ms if the UI is not
> updating. Which makes it more prudent to release the channel.
> 
> The user needs the channel for mbox_send_message, while actual power
> saving comes from cmdq_runtime_suspend/resume.
> So for your target usage pattern, trace mbox_send_message() ,
> cmdq_runtime_resume() and cmdq_runtime_suspend() and compare the
> timestamped logs with and without this patchset.
> 
[snip]

I realized that we have 2 cmdq drivers:
display uses 10320000.mailbox and imgsys uses 10330000.mailbox

I added diff logs in cmdq_runtime_resume(), cmdq_runtime_suspend()
and cmdq_mbox_send_data().

Here is the log of 10320000.mailbox:
// CMDQ probe
[    4.288408] mtk_cmdq 10320000.mailbox: IRQ=279++++++++++++++
// Show boot logo
[    9.177741] cmdq_runtime_resume: resume_diff=9177 ms
[    9.698045] cmdq_mbox_send_data: send_diff=14 ms
// Show UI     
[   15.620525] cmdq_mbox_send_data: send_diff=5922 ms
[   15.652041] cmdq_mbox_send_data: send_diff=31 ms
[   15.681308] cmdq_mbox_send_data: send_diff=29 ms
[   16.276090] cmdq_mbox_send_data: send_diff=594 ms
[   16.355256] cmdq_mbox_send_data: send_diff=79 ms
...            
[   35.013395] cmdq_mbox_send_data: send_diff=16 ms
[   35.030301] cmdq_mbox_send_data: send_diff=16 ms
[   35.047002] cmdq_mbox_send_data: send_diff=16 ms
[   35.068360] cmdq_mbox_send_data: send_diff=21 ms
// Open camera APP
[   37.291937] cmdq_mbox_send_data: send_diff=2223 ms
[   37.884435] cmdq_mbox_send_data: send_diff=592 ms
[   37.905703] cmdq_mbox_send_data: send_diff=21 ms
[   37.928599] cmdq_mbox_send_data: send_diff=22 ms
...
[   41.396577] cmdq_mbox_send_data: send_diff=16 ms
[   41.413107] cmdq_mbox_send_data: send_diff=16 ms
[   42.440862] cmdq_mbox_send_data: send_diff=1027 ms
[   42.647045] cmdq_mbox_send_data: send_diff=206 ms
// Close camera APP
[   89.940631] cmdq_mbox_send_data: send_diff=47293 ms
[  106.704928] cmdq_mbox_send_data: send_diff=16764 ms
...
[  113.130841] cmdq_mbox_send_data: send_diff=211 ms
// push power key to disable panel
[  113.281999] cmdq_runtime_suspend: R/S_diff=104104 ms
// push power key to enable panel
[  131.287190] cmdq_runtime_resume: resume_diff=122109 ms


Here is the log of 10330000.mailbox:
// CMDQ probe
[    4.290404] mtk_cmdq 10330000.mailbox: IRQ=280++++++++++++++
// Open camera APP
[   36.174867] BUG: sleeping function called from invalid context at
drivers/base/power/runtime.c:1164
[   36.183942] in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid:
95, name: kworker/u17:0
[   36.192383] preempt_count: 1, expected: 0
[   36.196395] RCU nest depth: 0, expected: 0
[   36.200489] INFO: lockdep is turned off.
[   36.204405] irq event stamp: 16
[   36.238636] CPU: 2 PID: 95 Comm: kworker/u17:0 Not tainted
[   36.251508] Hardware name: Google Ciri sku0/unprovisioned board (DT)
[   36.257864] Workqueue: imgsys_runner imgsys_runner_func
[   36.263107] Call trace:
[   36.265555]  dump_backtrace+0x100/0x120
[   36.269400]  show_stack+0x20/0x2c
[   36.272722]  dump_stack_lvl+0x84/0xb4
[   36.276390]  dump_stack+0x18/0x44
[   36.279706]  __might_resched+0x204/0x214
[   36.283631]  __might_sleep+0x50/0x80
[   36.287209]  __pm_runtime_resume+0x48/0xbc
[   36.291316]  cmdq_mbox_send_data+0x84/0x43c
[   36.295510]  msg_submit+0x84/0x104
[   36.298919]  mbox_send_message+0xb8/0x124
[   36.302934]  imgsys_cmdq_sendtask+0x6b0/0x990
[   36.307300]  imgsys_runner_func+0x44/0x78
[   36.311318]  process_one_work+0x274/0x574
[   36.315336]  worker_thread+0x240/0x3f0
[   36.319093]  kthread+0xfc/0x11c
[   36.322242]  ret_from_fork+0x10/0x20
[   36.325989] cmdq_runtime_resume: resume_diff=36325 ms
[   36.342235] cmdq_mbox_send_data: send_diff=167 ms
[   36.366714] cmdq_mbox_send_data: send_diff=24 ms
[   36.382882] cmdq_mbox_send_data: send_diff=16 ms
[   36.399512] cmdq_mbox_send_data: send_diff=16 ms
...
[   42.817244] cmdq_mbox_send_data: send_diff=16 ms
[   42.844891] cmdq_mbox_send_data: send_diff=27 ms
[   42.856340] cmdq_mbox_send_data: send_diff=11 ms
[   42.856364] cmdq_mbox_send_data: send_diff=0 ms
[   42.856384] cmdq_mbox_send_data: send_diff=0 ms
[   42.856410] cmdq_mbox_send_data: send_diff=0 ms
[   42.856431] cmdq_mbox_send_data: send_diff=0 ms
[   42.856458] cmdq_mbox_send_data: send_diff=0 ms
[   42.856482] cmdq_mbox_send_data: send_diff=0 ms
[   42.985695] cmdq_mbox_send_data: send_diff=129 ms
[   42.992017] cmdq_runtime_suspend: R/S_diff=6666 ms

Regards,
Jason-JH.Lin

  reply	other threads:[~2024-07-03 16:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-14  4:01 [PATCH 0/2] Fix sleeping function called from invalid context Jason-JH.Lin
2024-06-14  4:01 ` [PATCH 1/2] mailbox: Add power_get/power_put API to mbox_chan_ops Jason-JH.Lin
2024-06-14 11:35   ` Markus Elfring
2024-06-18  6:26     ` Jason-JH Lin (林睿祥)
2024-06-14 16:23   ` kernel test robot
2024-06-14 16:55   ` kernel test robot
2024-06-14 18:51   ` kernel test robot
2024-06-17 12:39   ` Dan Carpenter
2024-06-14  4:01 ` [PATCH 2/2] mailbox: mtk-cmdq: Move pm_runimte_get and put to mbox_chan_ops API Jason-JH.Lin
2024-06-17 18:18   ` Jassi Brar
2024-06-18  8:42     ` Jason-JH Lin (林睿祥)
2024-06-18 15:59       ` Jassi Brar
2024-06-19  8:18         ` AngeloGioacchino Del Regno
2024-06-19 15:38           ` Jassi Brar
2024-06-20  6:32             ` Jason-JH Lin (林睿祥)
2024-06-20 14:39               ` Jassi Brar
2024-06-24 11:29                 ` AngeloGioacchino Del Regno
2024-06-24 17:45                   ` Jassi Brar
2024-06-25  3:40                     ` Jason-JH Lin (林睿祥)
2024-06-25  4:21                       ` Jassi Brar
2024-06-26  9:32                         ` Jason-JH Lin (林睿祥)
2024-06-28  3:40                           ` Jassi Brar
2024-07-03 16:41                             ` Jason-JH Lin (林睿祥) [this message]
2024-07-03 19:06                               ` Jassi Brar
2024-07-05  6:11                                 ` Jason-JH Lin (林睿祥)
2024-07-05 16:43                                   ` Jassi Brar
2024-07-11  2:00                                     ` Jason-JH Lin (林睿祥)
2024-07-11  3:47                                       ` Jassi Brar
2024-07-12  7:23                                         ` Jason-JH Lin (林睿祥)
2024-07-15  9:45                                           ` Jason-JH Lin (林睿祥)
2024-07-17 16:17                                             ` Jassi Brar

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=092d917b4cae2762317a8739c874855554ae913f.camel@mediatek.com \
    --to=jason-jh.lin@mediatek.com \
    --cc=Nancy.Lin@mediatek.com \
    --cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
    --cc=Singo.Chang@mediatek.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=jassisinghbrar@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox