Re: [PATCH v5] hung_task: Deduplicate identical hang reports using explicit blocker tracking

kernel test robot <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
Hi Aaron,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on tip/sched/core linus/master kees/for-next/execve v7.2-rc6 next-20260804]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Aaron-Tomlin/hung_task-Deduplicate-identical-hang-reports-using-explicit-blocker-tracking/20260804-194519
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20260712202100.123934-1-atomlin%40atomlin.com
patch subject: [PATCH v5] hung_task: Deduplicate identical hang reports using explicit blocker tracking
config: openrisc-randconfig-r071-20260805 (https://download.01.org/0day-ci/archive/20260805/[email protected]/config)
compiler: or1k-linux-gcc (GCC) 12.5.0
smatch: v0.5.0-9187-g5189e3fb
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260805/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

   kernel/hung_task.c: In function 'check_hung_uninterruptible_tasks':
>> kernel/hung_task.c:337:14: warning: variable 'scan_completed' set but not used [-Wunused-but-set-variable]
     337 |         bool scan_completed = false;
         |              ^~~~~~~~~~~~~~


vim +/scan_completed +337 kernel/hung_task.c

   323	
   324	/*
   325	 * Check whether a TASK_UNINTERRUPTIBLE does not get woken up for
   326	 * a really long time. If that happens, print out a warning.
   327	 */
   328	static void check_hung_uninterruptible_tasks(unsigned long timeout)
   329	{
   330		int max_count = sysctl_hung_task_check_count;
   331		unsigned long last_break = jiffies;
   332		struct task_struct *g, *t;
   333		unsigned long this_round_count;
   334		int need_warning = sysctl_hung_task_warnings;
   335		unsigned long si_mask = hung_task_si_mask;
   336		unsigned int skip_show_task;
 > 337		bool scan_completed = false;
   338	#ifdef CONFIG_DETECT_HUNG_TASK_BLOCKER
   339		unsigned long blocker;
   340		static int warnings_reset_value;
   341		unsigned long seen_blockers_mask = 0;
   342	#endif
   343	
   344		/*
   345		 * If the system crashed already then all bets are off,
   346		 * do not report extra hung tasks:
   347		 */
   348		if (test_taint(TAINT_DIE) || did_panic)
   349			return;
   350	
   351		this_round_count = 0;
   352		rcu_read_lock();
   353		for_each_process_thread(g, t) {
   354			if (!max_count--)
   355				goto unlock;
   356			if (time_after(jiffies, last_break + HUNG_TASK_LOCK_BREAK)) {
   357				if (!rcu_lock_break(g, t))
   358					goto unlock;
   359				last_break = jiffies;
   360			}
   361	
   362			if (task_is_hung(t, timeout)) {
   363				skip_show_task = t->hung_task_reported;
   364				/*
   365				 * Increment the global counter so that userspace could
   366				 * start migrating tasks ASAP. But count the current
   367				 * round separately because userspace could reset
   368				 * the global counter at any time.
   369				 */
   370				atomic_long_inc(&sysctl_hung_task_detect_count);
   371				this_round_count++;
   372	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.