From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
Rafael Wysocki <rjw@rjwysocki.net>
Cc: linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org,
ego@linux.vnet.ibm.com, paulus@samba.org,
shilpa.bhat@linux.vnet.ibm.com, prarit@redhat.com,
robert.schoene@tu-dresden.de, skannan@codeaurora.org
Subject: Re: [PATCH 0/3] cpufreq: governor: Fix potential races
Date: Thu, 04 Jun 2015 10:44:16 +0530 [thread overview]
Message-ID: <556FDEA8.6090801@linux.vnet.ibm.com> (raw)
In-Reply-To: <cover.1433326032.git.viresh.kumar@linaro.org>
On 06/03/2015 03:57 PM, Viresh Kumar wrote:
> Hi Rafael,
>
> Preeti recently highlighted [1] some issues in cpufreq core locking with
> respect to governors. I wanted to solve them after we have simplified
> the hotplug paths in cpufreq core with my latest patches, but now that
> she has poked me, I have done some work in that area.
>
> I am trying to solve only a part of the bigger problem (in a way that I
> feel is the right way ahead). The first patches restructures code to
> make it more readable and the last patch does all the major changes. The
> logs in that one should be good enough to explain why and what I am
> doing.
>
> The first two shouldn't bring any functional change and so can be
> applied early if you are confident about them.
>
> @Preeti: I would like you to test these patches. These should get rid of
> the crashes you were facing but may generate a WARN() from line 447 of
> cpufreq_governor.c, if the sequence is wrong. That has to be fixed
> separately.
>
> Line 447: WARN_ON(!dbs_data && (event != CPUFREQ_GOV_POLICY_INIT))
>
> Rebased over: v4.1-rc6
> Tested-on: ARM dual Cortex -A15 Exynos board.
>
> [1] http://marc.info/?i=20150601064031.2972.59208.stgit%40perfhull-ltc.austin.ibm.com
>
> Viresh Kumar (3):
> cpufreq: governor: register notifier from cs_init()
> cpufreq: governor: split cpufreq_governor_dbs()
> cpufreq: governor: Serialize governor callbacks
>
> drivers/cpufreq/cpufreq_conservative.c | 28 +--
> drivers/cpufreq/cpufreq_governor.c | 340 ++++++++++++++++++---------------
> drivers/cpufreq/cpufreq_governor.h | 16 +-
> drivers/cpufreq/cpufreq_ondemand.c | 6 +-
> 4 files changed, 209 insertions(+), 181 deletions(-)
>
I did a hotplug test on a single core alongside changing governors
between ondemand and conservative on the same core. The policy is per
core on powerpc. Within a second of that run the kernel panics. The
backtrace is below:
[ 165.981836] Unable to handle kernel paging request for data at
address 0x00000000
[ 165.981929] Faulting instruction address: 0xc00000000053b3e0
cpu 0x4: Vector: 300 (Data Access) at [c000000fe0b2b880]
pc: c00000000053b3e0: __bitmap_weight+0x70/0x100
lr: c00000000085a008: need_load_eval+0x38/0xf0
sp: c000000fe0b2bb00
msr: 9000000100009033
dar: 0
dsisr: 40000000
current = 0xc000000003e4fc90
paca = 0xc000000007da2600 softe: 0 irq_happened: 0x01
pid = 812, comm = kworker/4:2
enter ? for help
[c000000fe0b2bb50] c00000000085a008 need_load_eval+0x38/0xf0
[c000000fe0b2bb80] c00000000085815c cs_dbs_timer+0xdc/0x150
[c000000fe0b2bbe0] c0000000000f489c process_one_work+0x24c/0x910
[c000000fe0b2bc90] c0000000000f50dc worker_thread+0x17c/0x540
[c000000fe0b2bd20] c0000000000fed70 kthread+0x120/0x140
[c000000fe0b2be30] c000000000009678 ret_from_kernel_thread+0x5c/0x64
The crash is the same as was reported at
http://www.gossamer-threads.com/lists/linux/kernel/2186336.
Regards
Preeti U Murthy
next prev parent reply other threads:[~2015-06-04 5:24 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 10:27 [PATCH 0/3] cpufreq: governor: Fix potential races Viresh Kumar
2015-06-03 10:27 ` [PATCH 1/3] cpufreq: governor: register notifier from cs_init() Viresh Kumar
2015-06-04 5:38 ` Preeti U Murthy
2015-06-04 6:02 ` Viresh Kumar
2015-06-04 7:33 ` Preeti U Murthy
2015-06-03 10:27 ` [PATCH 2/3] cpufreq: governor: split cpufreq_governor_dbs() Viresh Kumar
2015-06-04 10:04 ` Preeti U Murthy
2015-06-04 10:17 ` Viresh Kumar
2015-06-04 11:13 ` [PATCH V2 " Viresh Kumar
2015-06-05 2:51 ` Preeti U Murthy
2015-06-03 10:27 ` [PATCH 3/3] cpufreq: governor: Serialize governor callbacks Viresh Kumar
2015-06-04 10:47 ` Preeti U Murthy
2015-06-04 5:14 ` Preeti U Murthy [this message]
2015-06-04 6:08 ` [PATCH 0/3] cpufreq: governor: Fix potential races Preeti U Murthy
2015-06-04 6:11 ` Viresh Kumar
2015-06-04 6:36 ` Preeti U Murthy
2015-06-04 6:42 ` Viresh Kumar
2015-06-04 7:04 ` Preeti U Murthy
2015-06-04 7:13 ` Viresh Kumar
2015-06-04 7:27 ` Preeti U Murthy
2015-06-05 3:00 ` Viresh Kumar
2015-06-05 3:04 ` Preeti U Murthy
2015-06-05 4:05 ` Preeti U Murthy
2015-06-15 23:48 ` Rafael J. Wysocki
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=556FDEA8.6090801@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=ego@linux.vnet.ibm.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-pm@vger.kernel.org \
--cc=paulus@samba.org \
--cc=prarit@redhat.com \
--cc=rjw@rjwysocki.net \
--cc=robert.schoene@tu-dresden.de \
--cc=shilpa.bhat@linux.vnet.ibm.com \
--cc=skannan@codeaurora.org \
--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.