All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Hongyan Xia <hongyan.xia2@arm.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [RFC PATCH v3 6/6] Propagate negative bias
Date: Fri, 10 May 2024 06:16:20 +0800	[thread overview]
Message-ID: <202405100609.722jdfri-lkp@intel.com> (raw)
In-Reply-To: <f60a29ac1af5098e0d37d426aec27db05d5d43e1.1715082714.git.hongyan.xia2@arm.com>

Hi Hongyan,

[This is a private test report for your RFC patch.]
kernel test robot noticed the following build errors:

[auto build test ERROR on tip/sched/core]
[also build test ERROR on tip/master next-20240509]
[cannot apply to rafael-pm/linux-next rafael-pm/bleeding-edge linus/master tip/auto-latest peterz-queue/sched/core v6.9-rc7]
[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/Hongyan-Xia/Revert-sched-uclamp-Set-max_spare_cap_cpu-even-if-max_spare_cap-is-0/20240507-205300
base:   tip/sched/core
patch link:    https://lore.kernel.org/r/f60a29ac1af5098e0d37d426aec27db05d5d43e1.1715082714.git.hongyan.xia2%40arm.com
patch subject: [RFC PATCH v3 6/6] Propagate negative bias
config: arm-allnoconfig (https://download.01.org/0day-ci/archive/20240510/202405100609.722jdfri-lkp@intel.com/config)
compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project b910bebc300dafb30569cecc3017b446ea8eafa0)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240510/202405100609.722jdfri-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202405100609.722jdfri-lkp@intel.com/

All errors (new ones prefixed by >>):

     429 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   In file included from kernel/sched/fair.c:54:
   kernel/sched/sched.h:3065:27: error: no member named 'avg' in 'struct cfs_rq'
    3065 |         return READ_ONCE(rq->cfs.avg.util_avg);
         |                          ~~~~~~~ ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
      49 |         compiletime_assert_rwonce_type(x);                              \
         |                                        ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |                                          ^
   include/linux/compiler_types.h:417:38: note: expanded from macro '__native_word'
     417 |          sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
         |                                             ^
   include/linux/compiler_types.h:449:22: note: expanded from macro 'compiletime_assert'
     449 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |                             ^~~~~~~~~
   include/linux/compiler_types.h:437:23: note: expanded from macro '_compiletime_assert'
     437 |         __compiletime_assert(condition, msg, prefix, suffix)
         |                              ^~~~~~~~~
   include/linux/compiler_types.h:429:9: note: expanded from macro '__compiletime_assert'
     429 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   In file included from kernel/sched/fair.c:54:
   kernel/sched/sched.h:3065:27: error: no member named 'avg' in 'struct cfs_rq'
    3065 |         return READ_ONCE(rq->cfs.avg.util_avg);
         |                          ~~~~~~~ ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
      49 |         compiletime_assert_rwonce_type(x);                              \
         |                                        ^
   include/asm-generic/rwonce.h:36:48: note: expanded from macro 'compiletime_assert_rwonce_type'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |                                                       ^
   include/linux/compiler_types.h:449:22: note: expanded from macro 'compiletime_assert'
     449 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |                             ^~~~~~~~~
   include/linux/compiler_types.h:437:23: note: expanded from macro '_compiletime_assert'
     437 |         __compiletime_assert(condition, msg, prefix, suffix)
         |                              ^~~~~~~~~
   include/linux/compiler_types.h:429:9: note: expanded from macro '__compiletime_assert'
     429 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   In file included from kernel/sched/fair.c:54:
   kernel/sched/sched.h:3065:27: error: no member named 'avg' in 'struct cfs_rq'
    3065 |         return READ_ONCE(rq->cfs.avg.util_avg);
         |                          ~~~~~~~ ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
      50 |         __READ_ONCE(x);                                                 \
         |                     ^
   include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE'
      44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
         |                                                                  ^
   include/linux/compiler_types.h:405:13: note: expanded from macro '__unqual_scalar_typeof'
     405 |                 _Generic((x),                                           \
         |                           ^
   In file included from kernel/sched/fair.c:54:
   kernel/sched/sched.h:3065:27: error: no member named 'avg' in 'struct cfs_rq'
    3065 |         return READ_ONCE(rq->cfs.avg.util_avg);
         |                          ~~~~~~~ ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
      50 |         __READ_ONCE(x);                                                 \
         |                     ^
   include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE'
      44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
         |                                                                  ^
   include/linux/compiler_types.h:412:15: note: expanded from macro '__unqual_scalar_typeof'
     412 |                          default: (x)))
         |                                    ^
   In file included from kernel/sched/fair.c:54:
   kernel/sched/sched.h:3065:27: error: no member named 'avg' in 'struct cfs_rq'
    3065 |         return READ_ONCE(rq->cfs.avg.util_avg);
         |                          ~~~~~~~ ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
      50 |         __READ_ONCE(x);                                                 \
         |                     ^
   include/asm-generic/rwonce.h:44:72: note: expanded from macro '__READ_ONCE'
      44 | #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
         |                                                                         ^
   In file included from kernel/sched/fair.c:54:
   kernel/sched/sched.h:3065:9: error: returning 'void' from a function with incompatible result type 'unsigned long'
    3065 |         return READ_ONCE(rq->cfs.avg.util_avg);
         |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:47:28: note: expanded from macro 'READ_ONCE'
      47 | #define READ_ONCE(x)                                                    \
         |                                                                         ^
      48 | ({                                                                      \
         | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      49 |         compiletime_assert_rwonce_type(x);                              \
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      50 |         __READ_ONCE(x);                                                 \
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      51 | })
         | ~~
   kernel/sched/fair.c:6795:29: error: no member named 'avg' in 'struct cfs_rq'
    6795 |         util_bias_enqueue(&rq->cfs.avg, p);
         |                            ~~~~~~~ ^
   kernel/sched/fair.c:6889:29: error: no member named 'avg' in 'struct cfs_rq'
    6889 |         util_bias_dequeue(&rq->cfs.avg, p);
         |                            ~~~~~~~ ^
>> kernel/sched/fair.c:6890:2: error: call to undeclared function 'propagate_negative_bias'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    6890 |         propagate_negative_bias(p);
         |         ^
   1 warning and 12 errors generated.


vim +/propagate_negative_bias +6890 kernel/sched/fair.c

  6823	
  6824	/*
  6825	 * The dequeue_task method is called before nr_running is
  6826	 * decreased. We remove the task from the rbtree and
  6827	 * update the fair scheduling stats:
  6828	 */
  6829	static void dequeue_task_fair(struct rq *rq, struct task_struct *p, int flags)
  6830	{
  6831		struct cfs_rq *cfs_rq;
  6832		struct sched_entity *se = &p->se;
  6833		int task_sleep = flags & DEQUEUE_SLEEP;
  6834		int idle_h_nr_running = task_has_idle_policy(p);
  6835		bool was_sched_idle = sched_idle_rq(rq);
  6836	
  6837		util_est_dequeue(&rq->cfs, p);
  6838	
  6839		for_each_sched_entity(se) {
  6840			cfs_rq = cfs_rq_of(se);
  6841			dequeue_entity(cfs_rq, se, flags);
  6842	
  6843			cfs_rq->h_nr_running--;
  6844			cfs_rq->idle_h_nr_running -= idle_h_nr_running;
  6845	
  6846			if (cfs_rq_is_idle(cfs_rq))
  6847				idle_h_nr_running = 1;
  6848	
  6849			/* end evaluation on encountering a throttled cfs_rq */
  6850			if (cfs_rq_throttled(cfs_rq))
  6851				goto dequeue_throttle;
  6852	
  6853			/* Don't dequeue parent if it has other entities besides us */
  6854			if (cfs_rq->load.weight) {
  6855				/* Avoid re-evaluating load for this entity: */
  6856				se = parent_entity(se);
  6857				/*
  6858				 * Bias pick_next to pick a task from this cfs_rq, as
  6859				 * p is sleeping when it is within its sched_slice.
  6860				 */
  6861				if (task_sleep && se && !throttled_hierarchy(cfs_rq))
  6862					set_next_buddy(se);
  6863				break;
  6864			}
  6865			flags |= DEQUEUE_SLEEP;
  6866		}
  6867	
  6868		for_each_sched_entity(se) {
  6869			cfs_rq = cfs_rq_of(se);
  6870	
  6871			update_load_avg(cfs_rq, se, UPDATE_TG);
  6872			se_update_runnable(se);
  6873			update_cfs_group(se);
  6874	
  6875			cfs_rq->h_nr_running--;
  6876			cfs_rq->idle_h_nr_running -= idle_h_nr_running;
  6877	
  6878			if (cfs_rq_is_idle(cfs_rq))
  6879				idle_h_nr_running = 1;
  6880	
  6881			/* end evaluation on encountering a throttled cfs_rq */
  6882			if (cfs_rq_throttled(cfs_rq))
  6883				goto dequeue_throttle;
  6884	
  6885		}
  6886	
  6887		/* At this point se is NULL and we are at root level*/
  6888		sub_nr_running(rq, 1);
  6889		util_bias_dequeue(&rq->cfs.avg, p);
> 6890		propagate_negative_bias(p);
  6891		/* XXX: We should skip the update above and only do it once here. */
  6892		cpufreq_update_util(rq, 0);
  6893	
  6894		/* balance early to pull high priority tasks */
  6895		if (unlikely(!was_sched_idle && sched_idle_rq(rq)))
  6896			rq->next_balance = jiffies;
  6897	
  6898	dequeue_throttle:
  6899		util_est_update(&rq->cfs, p, task_sleep);
  6900		hrtick_update(rq);
  6901	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

  reply	other threads:[~2024-05-09 22:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-07 12:50 [RFC PATCH v3 0/6] Uclamp sum aggregation Hongyan Xia
2024-05-07 12:50 ` [RFC PATCH v3 1/6] Revert "sched/uclamp: Set max_spare_cap_cpu even if max_spare_cap is 0" Hongyan Xia
2024-05-07 12:50 ` [RFC PATCH v3 2/6] sched/uclamp: Track a new util_avg_bias signal Hongyan Xia
2024-05-09 21:04   ` kernel test robot
2024-05-26 22:52   ` Dietmar Eggemann
2024-05-28 11:09     ` Hongyan Xia
2024-06-10 15:29       ` Hongyan Xia
2024-05-07 12:50 ` [RFC PATCH v3 3/6] sched/fair: Use util biases for utilization and frequency Hongyan Xia
2024-05-09 21:45   ` kernel test robot
2024-05-26 22:52   ` Dietmar Eggemann
2024-05-28 11:38     ` Hongyan Xia
2024-05-07 12:50 ` [RFC PATCH v3 4/6] sched/uclamp: Remove all uclamp bucket logic Hongyan Xia
2024-05-07 12:50 ` [RFC PATCH v3 5/6] sched/uclamp: Simplify uclamp_eff_value() Hongyan Xia
2024-05-26 22:52   ` Dietmar Eggemann
2024-05-28 11:42     ` Hongyan Xia
2024-05-07 12:50 ` [RFC PATCH v3 6/6] Propagate negative bias Hongyan Xia
2024-05-09 22:16   ` kernel test robot [this message]
2024-05-26 22:53   ` Dietmar Eggemann
2024-05-28 11:53     ` Hongyan Xia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202405100609.722jdfri-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=hongyan.xia2@arm.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.