tree:
https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git asym32
head: be20cb98fbdf590a335cb6dfa06090cc9ea8b661
commit: 97662cafd0d41ed3d4b69cf0ff71fe98243a08dd [14/21] freezer: Add frozen_or_skipped()
helper function
config: arm64-randconfig-r025-20210514 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
425781bce01f2f1d5f553d3b2bf9ebbd6e15068c)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/commit/?id...
git remote add arm-perf
https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git
git fetch --no-tags arm-perf asym32
git checkout 97662cafd0d41ed3d4b69cf0ff71fe98243a08dd
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
> kernel/hung_task.c:95:15: error: implicit declaration of function
'frozen_or_skipped' [-Werror,-Wimplicit-function-declaration]
if
(unlikely(frozen_or_skipped(t)))
^
1 error generated.
vim +/frozen_or_skipped +95 kernel/hung_task.c
86
87 static void check_hung_task(struct task_struct *t, unsigned long timeout)
88 {
89 unsigned long switch_count = t->nvcsw + t->nivcsw;
90
91 /*
92 * Ensure the task is not frozen.
93 * Also, skip vfork and any other user process that freezer should skip.
94 */
95 if (unlikely(frozen_or_skipped(t)))
96 return;
97
98 /*
99 * When a freshly created task is scheduled once, changes its state to
100 * TASK_UNINTERRUPTIBLE without having ever been switched out once, it
101 * musn't be checked.
102 */
103 if (unlikely(!switch_count))
104 return;
105
106 if (switch_count != t->last_switch_count) {
107 t->last_switch_count = switch_count;
108 t->last_switch_time = jiffies;
109 return;
110 }
111 if (time_is_after_jiffies(t->last_switch_time + timeout * HZ))
112 return;
113
114 trace_sched_process_hang(t);
115
116 if (sysctl_hung_task_panic) {
117 console_verbose();
118 hung_task_show_lock = true;
119 hung_task_call_panic = true;
120 }
121
122 /*
123 * Ok, the task did not get scheduled for more than 2 minutes,
124 * complain:
125 */
126 if (sysctl_hung_task_warnings) {
127 if (sysctl_hung_task_warnings > 0)
128 sysctl_hung_task_warnings--;
129 pr_err("INFO: task %s:%d blocked for more than %ld seconds.\n",
130 t->comm, t->pid, (jiffies - t->last_switch_time) / HZ);
131 pr_err(" %s %s %.*s\n",
132 print_tainted(), init_utsname()->release,
133 (int)strcspn(init_utsname()->version, " "),
134 init_utsname()->version);
135 pr_err("\"echo 0 >
/proc/sys/kernel/hung_task_timeout_secs\""
136 " disables this message.\n");
137 sched_show_task(t);
138 hung_task_show_lock = true;
139
140 if (sysctl_hung_task_all_cpu_backtrace)
141 hung_task_show_all_bt = true;
142 }
143
144 touch_nmi_watchdog();
145 }
146
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org