From: andrew-sh.cheng <andrew-sh.cheng@mediatek.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
"Nishanth Menon" <nm@ti.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
srv_heupstream <srv_heupstream@mediatek.com>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"Stephen Boyd" <sboyd@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Chanwoo Choi" <cw00.choi@samsung.com>,
"Kyungmin Park" <kyungmin.park@samsung.com>,
"Rob Herring" <robh+dt@kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"MyungJoo Ham" <myungjoo.ham@samsung.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Fan Chen (陳凡)" <fan.chen@mediatek.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [v5, PATCH 4/5] cpufreq: mediatek: add opp notification for SVS support
Date: Mon, 6 Apr 2020 17:12:46 +0800 [thread overview]
Message-ID: <1586164366.5015.6.camel@mtksdaap41> (raw)
In-Reply-To: <20200313091038.q7q7exiowoah4nk4@vireshk-i7>
On Fri, 2020-03-13 at 14:40 +0530, Viresh Kumar wrote:
> On 13-03-20, 15:22, andrew-sh.cheng wrote:
> > I have something want to consult you.
> > For your previous comment, you suggest use read-write lock to replace
> > mutex lock.
> > Will it be more efficiently even when all are write lock?
> > (all lock region are "setting VProc voltage")
>
> The data to be protected here isn't the VProc voltage but the list of
> valid OPPs. My idea was if we can make the target() routine run a bit
> faster as it really matters as it is called from scheduler hot path.
>
> It won't be wrong to use the mutex the way you have used it right now,
> but I think the read lock is much faster, though the read/write lock
> is more beneficial in case where there are multiple readers and fewer
> writers. The target() routine gets called multiple times here, not
> in parallel, and the OPP change notifier won't be called so often.
>
Hi Viresh,
I will use regulator in the locked region.
And regulator will use mutex_lock.
I use read_lock/write_lock, and there will be below run time error,
Is it due to read_lock/write_lock using spin lock?
write_lock() => _raw_write_lock() @ spinlock.c
Please give me some advices.
Thank you.
[ 28.109082] BUG: sleeping function called from invalid context at
kernel/locking/mutex.c:254
[ 28.117710] in_atomic(): 1, irqs_disabled(): 0, pid: 1855, name:
sugov:0
[ 28.124788] CPU: 0 PID: 1855 Comm: sugov:0 Tainted: G W
4.19.107 #51
[ 28.132440] Hardware name: MediaTek krane sku176 board (DT)
[ 28.138006] Call trace:
[ 28.140461] dump_backtrace+0x0/0x17c
[ 28.144121] show_stack+0x20/0x2c
[ 28.147432] dump_stack+0xd4/0x10c
[ 28.150831] ___might_sleep+0x108/0x118
[ 28.154659] __might_sleep+0x50/0x84
[ 28.158230] mutex_lock+0x28/0x60
[ 28.161541] regulator_lock_dependent+0x3c/0x10c
[ 28.166152] regulator_set_voltage+0x48/0xa0
[ 28.170417] mtk_cpufreq_set_voltage+0x16c/0x324
[ 28.175046] mtk_cpufreq_set_target+0x13c/0x2c8
[ 28.179574] __cpufreq_driver_target+0x424/0x4c4
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: andrew-sh.cheng <andrew-sh.cheng@mediatek.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Mark Rutland" <mark.rutland@arm.com>,
"Nishanth Menon" <nm@ti.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
srv_heupstream <srv_heupstream@mediatek.com>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"Stephen Boyd" <sboyd@kernel.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Chanwoo Choi" <cw00.choi@samsung.com>,
"Kyungmin Park" <kyungmin.park@samsung.com>,
"Rob Herring" <robh+dt@kernel.org>,
"linux-mediatek@lists.infradead.org"
<linux-mediatek@lists.infradead.org>,
"MyungJoo Ham" <myungjoo.ham@samsung.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"Fan Chen (陳凡)" <fan.chen@mediatek.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [v5, PATCH 4/5] cpufreq: mediatek: add opp notification for SVS support
Date: Mon, 6 Apr 2020 17:12:46 +0800 [thread overview]
Message-ID: <1586164366.5015.6.camel@mtksdaap41> (raw)
In-Reply-To: <20200313091038.q7q7exiowoah4nk4@vireshk-i7>
On Fri, 2020-03-13 at 14:40 +0530, Viresh Kumar wrote:
> On 13-03-20, 15:22, andrew-sh.cheng wrote:
> > I have something want to consult you.
> > For your previous comment, you suggest use read-write lock to replace
> > mutex lock.
> > Will it be more efficiently even when all are write lock?
> > (all lock region are "setting VProc voltage")
>
> The data to be protected here isn't the VProc voltage but the list of
> valid OPPs. My idea was if we can make the target() routine run a bit
> faster as it really matters as it is called from scheduler hot path.
>
> It won't be wrong to use the mutex the way you have used it right now,
> but I think the read lock is much faster, though the read/write lock
> is more beneficial in case where there are multiple readers and fewer
> writers. The target() routine gets called multiple times here, not
> in parallel, and the OPP change notifier won't be called so often.
>
Hi Viresh,
I will use regulator in the locked region.
And regulator will use mutex_lock.
I use read_lock/write_lock, and there will be below run time error,
Is it due to read_lock/write_lock using spin lock?
write_lock() => _raw_write_lock() @ spinlock.c
Please give me some advices.
Thank you.
[ 28.109082] BUG: sleeping function called from invalid context at
kernel/locking/mutex.c:254
[ 28.117710] in_atomic(): 1, irqs_disabled(): 0, pid: 1855, name:
sugov:0
[ 28.124788] CPU: 0 PID: 1855 Comm: sugov:0 Tainted: G W
4.19.107 #51
[ 28.132440] Hardware name: MediaTek krane sku176 board (DT)
[ 28.138006] Call trace:
[ 28.140461] dump_backtrace+0x0/0x17c
[ 28.144121] show_stack+0x20/0x2c
[ 28.147432] dump_stack+0xd4/0x10c
[ 28.150831] ___might_sleep+0x108/0x118
[ 28.154659] __might_sleep+0x50/0x84
[ 28.158230] mutex_lock+0x28/0x60
[ 28.161541] regulator_lock_dependent+0x3c/0x10c
[ 28.166152] regulator_set_voltage+0x48/0xa0
[ 28.170417] mtk_cpufreq_set_voltage+0x16c/0x324
[ 28.175046] mtk_cpufreq_set_target+0x13c/0x2c8
[ 28.179574] __cpufreq_driver_target+0x424/0x4c4
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-04-06 9:13 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20191126115058epcas1p3caa6da2508caa5fbe71c202834184b15@epcas1p3.samsung.com>
2019-11-26 11:50 ` [v5, PATCH 0/5] Add cpufreq and cci devfreq for mt8183, and SVS support Andrew-sh.Cheng
2019-11-26 11:50 ` Andrew-sh.Cheng
2019-11-26 11:50 ` [v5, PATCH 1/5] cpufreq: mediatek: add clock enable for intermediate clock Andrew-sh.Cheng
2019-11-26 11:50 ` Andrew-sh.Cheng
2019-11-26 11:50 ` [v5, PATCH 2/5] dt-bindings: devfreq: add compatible for mt8183 cci devfreq Andrew-sh.Cheng
2019-11-26 11:50 ` Andrew-sh.Cheng
2019-12-17 2:38 ` Chanwoo Choi
2019-12-17 2:38 ` Chanwoo Choi
2019-12-17 2:38 ` Chanwoo Choi
2019-11-26 11:50 ` [v5, PATCH 3/5] devfreq: add mediatek " Andrew-sh.Cheng
2019-11-26 11:50 ` Andrew-sh.Cheng
2019-12-17 10:08 ` Chanwoo Choi
2019-12-17 10:08 ` Chanwoo Choi
2019-12-17 10:08 ` Chanwoo Choi
2019-11-26 11:50 ` [v5, PATCH 4/5] cpufreq: mediatek: add opp notification for SVS support Andrew-sh.Cheng
2019-11-26 11:50 ` Andrew-sh.Cheng
2019-11-27 8:36 ` Viresh Kumar
2019-11-27 8:36 ` Viresh Kumar
2019-11-27 8:36 ` Viresh Kumar
2019-12-09 6:56 ` andrew-sh.cheng
2019-12-09 6:56 ` andrew-sh.cheng
2019-12-10 6:43 ` Viresh Kumar
2019-12-10 6:43 ` Viresh Kumar
2019-12-10 6:43 ` Viresh Kumar
2020-03-10 8:11 ` andrew-sh.cheng
2020-03-10 8:11 ` andrew-sh.cheng
2020-03-11 6:06 ` Viresh Kumar
2020-03-11 6:06 ` Viresh Kumar
2020-03-11 6:06 ` Viresh Kumar
2020-03-12 9:12 ` andrew-sh.cheng
2020-03-12 9:12 ` andrew-sh.cheng
2020-03-13 7:22 ` andrew-sh.cheng
2020-03-13 7:22 ` andrew-sh.cheng
2020-03-13 9:10 ` Viresh Kumar
2020-03-13 9:10 ` Viresh Kumar
2020-03-13 9:10 ` Viresh Kumar
2020-04-06 9:12 ` andrew-sh.cheng [this message]
2020-04-06 9:12 ` andrew-sh.cheng
2020-04-06 9:29 ` Viresh Kumar
2020-04-06 9:29 ` Viresh Kumar
2020-04-06 9:29 ` Viresh Kumar
2020-04-07 6:54 ` andrew-sh.cheng
2020-04-07 6:54 ` andrew-sh.cheng
2020-04-07 8:29 ` Viresh Kumar
2020-04-07 8:29 ` Viresh Kumar
2020-04-07 8:29 ` Viresh Kumar
2020-04-07 9:09 ` andrew-sh.cheng
2020-04-07 9:09 ` andrew-sh.cheng
2019-11-26 11:50 ` [v5, PATCH 5/5] devfreq: mediatek: cci devfreq register " Andrew-sh.Cheng
2019-11-26 11:50 ` Andrew-sh.Cheng
2019-12-17 7:31 ` [v5, PATCH 0/5] Add cpufreq and cci devfreq for mt8183, and " Chanwoo Choi
2019-12-17 7:31 ` Chanwoo Choi
2019-12-17 7:31 ` Chanwoo Choi
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=1586164366.5015.6.camel@mtksdaap41 \
--to=andrew-sh.cheng@mediatek.com \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=fan.chen@mediatek.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=matthias.bgg@gmail.com \
--cc=myungjoo.ham@samsung.com \
--cc=nm@ti.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=srv_heupstream@mediatek.com \
--cc=viresh.kumar@linaro.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 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.