All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [peterz-queue:sched/core-sched 27/29] kernel/sched/core.c:9396:35: error: incompatible type for argument 2 of 'sched_core_cgroup_online'
Date: Thu, 01 Apr 2021 06:47:13 +0800	[thread overview]
Message-ID: <202104010608.FOdfXWrK-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 6975 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/core-sched
head:   e30de7e3ea1fa2282b1eac0dd93479d4ddb91fea
commit: 3eac321e8dc316b01ff277c9cbbdbafd68c8631b [27/29] sched: Cgroup core-scheduling interface
config: arm-randconfig-s032-20210330 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-279-g6d5d9b42-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?id=3eac321e8dc316b01ff277c9cbbdbafd68c8631b
        git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
        git fetch --no-tags peterz-queue sched/core-sched
        git checkout 3eac321e8dc316b01ff277c9cbbdbafd68c8631b
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   kernel/sched/core.c: In function 'sched_online_group':
>> kernel/sched/core.c:9396:35: error: incompatible type for argument 2 of 'sched_core_cgroup_online'
    9396 |  sched_core_cgroup_online(parent, tg);
         |                                   ^~
         |                                   |
         |                                   struct task_group *
   kernel/sched/core.c:5731:90: note: expected 'struct task_group' but argument is of type 'struct task_group *'
    5731 | static inline void sched_core_cgroup_online(struct task_group *parent, struct task_group tg) { }
         |                                                                        ~~~~~~~~~~~~~~~~~~^~
   kernel/sched/core.c: In function 'sched_move_task':
>> kernel/sched/core.c:9489:11: error: implicit declaration of function 'sched_core_cgroup_cookie'; did you mean 'sched_core_cgroup_online'? [-Werror=implicit-function-declaration]
    9489 |  cookie = sched_core_cgroup_cookie(tsk->sched_task_group);
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
         |           sched_core_cgroup_online
>> kernel/sched/core.c:9490:11: error: implicit declaration of function 'sched_core_update_cookie' [-Werror=implicit-function-declaration]
    9490 |  cookie = sched_core_update_cookie(tsk, cookie);
         |           ^~~~~~~~~~~~~~~~~~~~~~~~
>> kernel/sched/core.c:9491:2: error: implicit declaration of function 'sched_core_put_cookie' [-Werror=implicit-function-declaration]
    9491 |  sched_core_put_cookie(cookie);
         |  ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/sched_core_cgroup_online +9396 kernel/sched/core.c

  9378	
  9379	void sched_online_group(struct task_group *tg, struct task_group *parent)
  9380	{
  9381		unsigned long flags;
  9382	
  9383		spin_lock_irqsave(&task_group_lock, flags);
  9384		list_add_rcu(&tg->list, &task_groups);
  9385	
  9386		/* Root should already exist: */
  9387		WARN_ON(!parent);
  9388	
  9389		tg->parent = parent;
  9390		INIT_LIST_HEAD(&tg->children);
  9391		list_add_rcu(&tg->siblings, &parent->children);
  9392		spin_unlock_irqrestore(&task_group_lock, flags);
  9393	
  9394		online_fair_sched_group(tg);
  9395	
> 9396		sched_core_cgroup_online(parent, tg);
  9397	}
  9398	
  9399	/* rcu callback to free various structures associated with a task group */
  9400	static void sched_free_group_rcu(struct rcu_head *rhp)
  9401	{
  9402		/* Now it should be safe to free those cfs_rqs: */
  9403		sched_free_group(container_of(rhp, struct task_group, rcu));
  9404	}
  9405	
  9406	void sched_destroy_group(struct task_group *tg)
  9407	{
  9408		/* Wait for possible concurrent references to cfs_rqs complete: */
  9409		call_rcu(&tg->rcu, sched_free_group_rcu);
  9410	}
  9411	
  9412	void sched_offline_group(struct task_group *tg)
  9413	{
  9414		unsigned long flags;
  9415	
  9416		/* End participation in shares distribution: */
  9417		unregister_fair_sched_group(tg);
  9418	
  9419		spin_lock_irqsave(&task_group_lock, flags);
  9420		list_del_rcu(&tg->list);
  9421		list_del_rcu(&tg->siblings);
  9422		spin_unlock_irqrestore(&task_group_lock, flags);
  9423	}
  9424	
  9425	static void sched_change_group(struct task_struct *tsk, int type)
  9426	{
  9427		struct task_group *tg;
  9428	
  9429		/*
  9430		 * All callers are synchronized by task_rq_lock(); we do not use RCU
  9431		 * which is pointless here. Thus, we pass "true" to task_css_check()
  9432		 * to prevent lockdep warnings.
  9433		 */
  9434		tg = container_of(task_css_check(tsk, cpu_cgrp_id, true),
  9435				  struct task_group, css);
  9436		tg = autogroup_task_group(tsk, tg);
  9437		tsk->sched_task_group = tg;
  9438	
  9439	#ifdef CONFIG_FAIR_GROUP_SCHED
  9440		if (tsk->sched_class->task_change_group)
  9441			tsk->sched_class->task_change_group(tsk, type);
  9442		else
  9443	#endif
  9444			set_task_rq(tsk, task_cpu(tsk));
  9445	}
  9446	
  9447	/*
  9448	 * Change task's runqueue when it moves between groups.
  9449	 *
  9450	 * The caller of this function should have put the task in its new group by
  9451	 * now. This function just updates tsk->se.cfs_rq and tsk->se.parent to reflect
  9452	 * its new group.
  9453	 */
  9454	void sched_move_task(struct task_struct *tsk)
  9455	{
  9456		int queued, running, queue_flags =
  9457			DEQUEUE_SAVE | DEQUEUE_MOVE | DEQUEUE_NOCLOCK;
  9458		unsigned long cookie;
  9459		struct rq_flags rf;
  9460		struct rq *rq;
  9461	
  9462		rq = task_rq_lock(tsk, &rf);
  9463		update_rq_clock(rq);
  9464	
  9465		running = task_current(rq, tsk);
  9466		queued = task_on_rq_queued(tsk);
  9467	
  9468		if (queued)
  9469			dequeue_task(rq, tsk, queue_flags);
  9470		if (running)
  9471			put_prev_task(rq, tsk);
  9472	
  9473		sched_change_group(tsk, TASK_MOVE_GROUP);
  9474	
  9475		if (queued)
  9476			enqueue_task(rq, tsk, queue_flags);
  9477		if (running) {
  9478			set_next_task(rq, tsk);
  9479			/*
  9480			 * After changing group, the running task may have joined a
  9481			 * throttled one but it's still the running task. Trigger a
  9482			 * resched to make sure that task can still run.
  9483			 */
  9484			resched_curr(rq);
  9485		}
  9486	
  9487		task_rq_unlock(rq, tsk, &rf);
  9488	
> 9489		cookie = sched_core_cgroup_cookie(tsk->sched_task_group);
> 9490		cookie = sched_core_update_cookie(tsk, cookie);
> 9491		sched_core_put_cookie(cookie);
  9492	}
  9493	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35444 bytes --]

                 reply	other threads:[~2021-03-31 22:47 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202104010608.FOdfXWrK-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.