mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
eac91580672c1a61d0dbce0050a0eb65e2dce639
cpufreq_interactive_idle_end() will hold icpu->enable_sem lock and resched
the slack timer. But cpufreq_interactive_stop() delete slack timer without
lock, then the timer may resched, it will case timer BUG as below, so
hold icpu->enable_sem when delete slack timer.
[21728.659718] kernel BUG at kernel/time/timer.c:1154!
[21728.659731] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[21728.661019] Modules linked in: bcmdhd
[21728.661354] Process cpuhp/3 (pid: 26, stack limit = 0x0000000053b86a60)
[21728.661936] CPU: 3 PID: 26 Comm: cpuhp/3 Not tainted 4.19.80 #74
[21728.662461] Hardware name: Rockchip RK3328 EVB avb (DT)
[21728.662922] pstate: 20400085 (nzCv daIf +PAN -UAO)
[21728.663355] pc : add_timer_on+0x1f8/0x200
[21728.663724] lr : slack_timer_resched+0x9c/0xf8
[21728.766258] Call trace:
[21728.766491] add_timer_on+0x1f8/0x200
[21728.766823] slack_timer_resched+0x9c/0xf8
[21728.767196] cpufreq_interactive_start+0xa8/0x140
[21728.767615] cpufreq_start_governor+0x4c/0x98
[21728.767999] cpufreq_offline+0x140/0x218
[21728.768350] cpuhp_cpufreq_offline+0xc/0x18
[21728.768725] cpuhp_invoke_callback+0x98/0x770
[21728.769120] cpuhp_thread_fun+0xd0/0x158
[21728.769471] smpboot_thread_fn+0x200/0x2a0
[21728.769834] kthread+0xfc/0x128
[21728.770119] ret_from_fork+0x10/0x18
Fixes: 5a581cc47a ("RFC: FROMLIST: cpufreq: Add android's 'interactive' governor")
Change-Id: If2771305eb9489c175f5bca4c7be8fa0d8f87b84
Signed-off-by: Liang Chen <cl@rock-chips.com>
…
…
…
…
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%