Re: [GIT PULL] scheduler changes for v5.3

From: John Stultz
Date: Wed Jul 10 2019 - 01:49:04 EST


On Mon, Jul 8, 2019 at 9:33 AM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> Please pull the latest sched-core-for-linus git tree from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched-core-for-linus
....
> Peter Zijlstra (1):
> sched/core: Optimize try_to_wake_up() for local wakeups

Hey Peter, Ingo,
Since this change landed in Linus' tree, I've been seeing a lot of
the following dmesg noise when running AOSP on the HiKey960 board.

[ 173.162712] CPU: 2 PID: 731 Comm: ndroid.systemui Tainted: G S
5.2.0-rc5-00110-g6751c43d94d6 #447
[ 173.162721] Hardware name: HiKey960 (DT)
[ 173.171194] caller is try_to_wake_up+0x3e4/0x788
[ 173.179605] Call trace:
[ 173.179617] dump_backtrace+0x0/0x140
[ 173.179626] show_stack+0x14/0x20
[ 173.179638] dump_stack+0x9c/0xc4
[ 173.179649] debug_smp_processor_id+0x148/0x150
[ 173.179659] try_to_wake_up+0x3e4/0x788
[ 173.179669] wake_up_q+0x5c/0x98
[ 173.179681] futex_wake+0x170/0x1a8
[ 173.179696] do_futex+0x560/0xf30
[ 173.284541] __arm64_sys_futex+0xfc/0x148
[ 173.288570] el0_svc_common.constprop.0+0x64/0x188
[ 173.293371] el0_svc_handler+0x28/0x78
[ 173.297131] el0_svc+0x8/0xc
[ 173.300045] CPU: 0 PID: 1258 Comm: Binder:363_5 Tainted: G S
5.2.0-rc5-00110-g6751c43d94d6 #447
[ 173.301130] BUG: using smp_processor_id() in preemptible [00000000]
code: ndroid.systemui/731
[ 173.310074] Hardware name: HiKey960 (DT)
[ 173.310084] Call trace:
[ 173.310112] dump_backtrace+0x0/0x140
[ 173.310131] show_stack+0x14/0x20
[ 173.318685] caller is try_to_wake_up+0x3e4/0x788
[ 173.322583] dump_stack+0x9c/0xc4
[ 173.322595] debug_smp_processor_id+0x148/0x150
[ 173.322605] try_to_wake_up+0x3e4/0x788
[ 173.322615] wake_up_q+0x5c/0x98
[ 173.322628] futex_wake+0x170/0x1a8
[ 173.322641] do_futex+0x560/0xf30
[ 173.358367] __arm64_sys_futex+0xfc/0x148
[ 173.362397] el0_svc_common.constprop.0+0x64/0x188
[ 173.367199] el0_svc_handler+0x28/0x78
[ 173.370956] el0_svc+0x8/0xc

Reverting aacedf26fb76 ("sched/core: Optimize try_to_wake_up() for
local wakeups") seems to quiet down these warnings.

I've just bisected this down (and am about to crash for the night), so
I've not had much time to look at what a fix might be, but I wanted to
raise it with you.

If you have suggestions for patches to try, I'll happily do so in the morning!

thanks
-john