Hi Leo,
On 08/23/2017 10:00 AM, Leo Yan wrote:
Hi Vikram, Joonwoo,
[ + EAS mailing list ]
On Hikey960 with EASv1.3, I encountered many times for WALT panic, it reports the bug from below two functions; you also could see log in the below. Before I dig into this, could you give some suggestion for this? Or if there have some existed fixing for this? Thanks in advance.
void walt_dec_cumulative_runnable_avg(struct rq *rq, struct task_struct *p) { rq->cumulative_runnable_avg -= p->ravg.demand; BUG_ON((s64)rq->cumulative_runnable_avg < 0); }
static void fixup_cumulative_runnable_avg(struct rq *rq, struct task_struct *p, u64 new_task_load) { s64 task_load_delta = (s64)new_task_load - task_load(p);
rq->cumulative_runnable_avg += task_load_delta; if ((s64)rq->cumulative_runnable_avg < 0) panic("cra less than zero: tld: %lld, task_load(p) = %u\n", task_load_delta, task_load(p));
}
I'm running EAS v1.3 (4.4.80-02913-gc40a9a77daf7) with the default hikey960_defconfig on my hikey960 as well.
Haven't seen this WALT panic yet.
Let's compare the boards, maybe you use a different setup:
(1) kernel:
https://android.googlesource.com/kernel/hikey-linaro c40a9a77daf7
top commit is:
commit c40a9a77daf770cd8ca75572235b015ef6ff6589 Author: Brendan Jackman brendan.jackman@arm.com Date: Fri Aug 4 10:58:20 2017 +0100
hikey960:/ # zcat /proc/config.gz | grep _SCHED_
CONFIG_SCHED_WALT=y CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_SCHED_AUTOGROUP=y CONFIG_SCHED_TUNE=y CONFIG_SCHED_MC=y # CONFIG_SCHED_SMT is not set CONFIG_SCHED_HRTICK=y CONFIG_SCHED_DEBUG=y CONFIG_SCHED_INFO=y # CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_SCHED_TRACER=y
hikey960:/ # cat /sys/kernel/debug/sched_features GENTLE_FAIR_SLEEPERS START_DEBIT NO_NEXT_BUDDY LAST_BUDDY CACHE_HOT_BUDDY WAKEUP_PREEMPTION NO_HRTICK NO_DOUBLE_TICK LB_BIAS NONTASK_CAPACITY TTWU_QUEUE RT_PUSH_IPI NO_FORCE_SD_OVERLAP RT_RUNTIME_SHARE NO_LB_MIN ATTACH_AGE_LOAD ENERGY_AWARE
(2) Firmware:
https://github.com/96boards-hikey/tools-images-hikey960 master
top commit is:
ccb401f72634 - recovery-flash: add '-e' flag for bash (2017-07-18 Leo Yan)
[...]
-- Dietmar