All of lore.kernel.org
 help / color / mirror / Atom feed
* [zen-kernel-zen-kernel:5.9/muqss 1/1] kernel/sched/MuQSS.c:2471:11: sparse: sparse: incorrect type in assignment (different address spaces)
@ 2020-11-17 23:26 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-11-17 23:26 UTC (permalink / raw)
  To: kbuild-all

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

Hi Steven,

First bad commit (maybe != root cause):

tree:   https://github.com/zen-kernel/zen-kernel 5.9/muqss
head:   bb2916b2fc9b8433563583c67044135c9cfad84e
commit: bb2916b2fc9b8433563583c67044135c9cfad84e [1/1] Revert "Fix cpufreq_cooling build."
config: alpha-randconfig-s031-20201117 (attached as .config)
compiler: alpha-linux-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-107-gaf3512a6-dirty
        # https://github.com/zen-kernel/zen-kernel/commit/bb2916b2fc9b8433563583c67044135c9cfad84e
        git remote add zen-kernel-zen-kernel https://github.com/zen-kernel/zen-kernel
        git fetch --no-tags zen-kernel-zen-kernel 5.9/muqss
        git checkout bb2916b2fc9b8433563583c67044135c9cfad84e
        # 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=alpha 

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


"sparse warnings: (new ones prefixed by >>)"
>> kernel/sched/MuQSS.c:2471:11: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:2471:11: sparse:     expected struct task_struct *p
>> kernel/sched/MuQSS.c:2471:11: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:2518:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *parent @@     got struct task_struct [noderef] __rcu *parent @@
>> kernel/sched/MuQSS.c:2518:16: sparse:     expected struct task_struct *parent
>> kernel/sched/MuQSS.c:2518:16: sparse:     got struct task_struct [noderef] __rcu *parent
>> kernel/sched/MuQSS.c:2530:17: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *rq_curr @@     got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:2530:17: sparse:     expected struct task_struct *rq_curr
   kernel/sched/MuQSS.c:2530:17: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:3480:35: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/MuQSS.c:3480:35: sparse:     expected struct task_struct *p
   kernel/sched/MuQSS.c:3480:35: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:3712:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/MuQSS.c:3712:37: sparse:     expected struct task_struct *p
   kernel/sched/MuQSS.c:3712:37: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:4158:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *prev @@     got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:4158:14: sparse:     expected struct task_struct *prev
   kernel/sched/MuQSS.c:4158:14: sparse:     got struct task_struct [noderef] __rcu *curr
>> kernel/sched/MuQSS.c:4661:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
>> kernel/sched/MuQSS.c:4661:17: sparse:    struct task_struct *
>> kernel/sched/MuQSS.c:4661:17: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.c:4834:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.c:4834:22: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.c:4834:22: sparse:    struct task_struct *
>> kernel/sched/MuQSS.c:5847:14: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct task_struct *rq_p @@     got struct task_struct [noderef] __rcu *curr @@
>> kernel/sched/MuQSS.c:5847:14: sparse:     expected struct task_struct *rq_p
   kernel/sched/MuQSS.c:5847:14: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/MuQSS.c:5855:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/MuQSS.c:5855:34: sparse:     expected struct task_struct *p
   kernel/sched/MuQSS.c:5855:34: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/MuQSS.c:6117:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/MuQSS.c:6117:25: sparse:     expected struct task_struct *p
   kernel/sched/MuQSS.c:6117:25: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/MuQSS.c:1234:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct task_struct *p @@     got struct task_struct [noderef] __rcu *curr @@
   kernel/sched/MuQSS.c:1234:24: sparse:     expected struct task_struct *p
   kernel/sched/MuQSS.c:1234:24: sparse:     got struct task_struct [noderef] __rcu *curr
   kernel/sched/MuQSS.c:1225:27: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.c:1225:27: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.c:1225:27: sparse:    struct task_struct *
   kernel/sched/MuQSS.c:1225:27: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.c:1225:27: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.c:1225:27: sparse:    struct task_struct *
   kernel/sched/MuQSS.c:3398:15: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.c:3398:15: sparse:    struct task_struct *
   kernel/sched/MuQSS.c:3398:15: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.c: note: in included file:
   kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct *
   kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct *
   kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct *
   kernel/sched/MuQSS.h:382:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct [noderef] __rcu *
   kernel/sched/MuQSS.h:382:25: sparse:    struct task_struct *

vim +2471 kernel/sched/MuQSS.c

49e82d66c704858 Con Kolivas 2019-10-25  2452  
49e82d66c704858 Con Kolivas 2019-10-25  2453  /*
49e82d66c704858 Con Kolivas 2019-10-25  2454   * High-resolution time_slice expiry.
49e82d66c704858 Con Kolivas 2019-10-25  2455   * Runs from hardirq context with interrupts disabled.
49e82d66c704858 Con Kolivas 2019-10-25  2456   */
49e82d66c704858 Con Kolivas 2019-10-25  2457  static enum hrtimer_restart hrexpiry(struct hrtimer *timer)
49e82d66c704858 Con Kolivas 2019-10-25  2458  {
49e82d66c704858 Con Kolivas 2019-10-25  2459  	struct rq *rq = container_of(timer, struct rq, hrexpiry_timer);
49e82d66c704858 Con Kolivas 2019-10-25  2460  	struct task_struct *p;
49e82d66c704858 Con Kolivas 2019-10-25  2461  
49e82d66c704858 Con Kolivas 2019-10-25  2462  	/* This can happen during CPU hotplug / resume */
49e82d66c704858 Con Kolivas 2019-10-25  2463  	if (unlikely(cpu_of(rq) != smp_processor_id()))
49e82d66c704858 Con Kolivas 2019-10-25  2464  		goto out;
49e82d66c704858 Con Kolivas 2019-10-25  2465  
49e82d66c704858 Con Kolivas 2019-10-25  2466  	/*
49e82d66c704858 Con Kolivas 2019-10-25  2467  	 * We're doing this without the runqueue lock but this should always
49e82d66c704858 Con Kolivas 2019-10-25  2468  	 * be run on the local CPU. Time slice should run out in __schedule
49e82d66c704858 Con Kolivas 2019-10-25  2469  	 * but we set it to zero here in case niffies is slightly less.
49e82d66c704858 Con Kolivas 2019-10-25  2470  	 */
49e82d66c704858 Con Kolivas 2019-10-25 @2471  	p = rq->curr;
49e82d66c704858 Con Kolivas 2019-10-25  2472  	p->time_slice = 0;
49e82d66c704858 Con Kolivas 2019-10-25  2473  	__set_tsk_resched(p);
49e82d66c704858 Con Kolivas 2019-10-25  2474  out:
49e82d66c704858 Con Kolivas 2019-10-25  2475  	return HRTIMER_NORESTART;
49e82d66c704858 Con Kolivas 2019-10-25  2476  }
49e82d66c704858 Con Kolivas 2019-10-25  2477  
49e82d66c704858 Con Kolivas 2019-10-25  2478  /*
49e82d66c704858 Con Kolivas 2019-10-25  2479   * Called to set the hrexpiry timer state.
49e82d66c704858 Con Kolivas 2019-10-25  2480   *
49e82d66c704858 Con Kolivas 2019-10-25  2481   * called with irqs disabled from the local CPU only
49e82d66c704858 Con Kolivas 2019-10-25  2482   */
49e82d66c704858 Con Kolivas 2019-10-25  2483  static void hrexpiry_start(struct rq *rq, u64 delay)
49e82d66c704858 Con Kolivas 2019-10-25  2484  {
49e82d66c704858 Con Kolivas 2019-10-25  2485  	if (!hrexpiry_enabled(rq))
49e82d66c704858 Con Kolivas 2019-10-25  2486  		return;
49e82d66c704858 Con Kolivas 2019-10-25  2487  
49e82d66c704858 Con Kolivas 2019-10-25  2488  	hrtimer_start(&rq->hrexpiry_timer, ns_to_ktime(delay),
49e82d66c704858 Con Kolivas 2019-10-25  2489  		      HRTIMER_MODE_REL_PINNED);
49e82d66c704858 Con Kolivas 2019-10-25  2490  }
49e82d66c704858 Con Kolivas 2019-10-25  2491  
49e82d66c704858 Con Kolivas 2019-10-25  2492  static void init_rq_hrexpiry(struct rq *rq)
49e82d66c704858 Con Kolivas 2019-10-25  2493  {
49e82d66c704858 Con Kolivas 2019-10-25  2494  	hrtimer_init(&rq->hrexpiry_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
49e82d66c704858 Con Kolivas 2019-10-25  2495  	rq->hrexpiry_timer.function = hrexpiry;
49e82d66c704858 Con Kolivas 2019-10-25  2496  }
49e82d66c704858 Con Kolivas 2019-10-25  2497  
49e82d66c704858 Con Kolivas 2019-10-25  2498  static inline int rq_dither(struct rq *rq)
49e82d66c704858 Con Kolivas 2019-10-25  2499  {
49e82d66c704858 Con Kolivas 2019-10-25  2500  	if (!hrexpiry_enabled(rq))
49e82d66c704858 Con Kolivas 2019-10-25  2501  		return HALF_JIFFY_US;
49e82d66c704858 Con Kolivas 2019-10-25  2502  	return 0;
49e82d66c704858 Con Kolivas 2019-10-25  2503  }
49e82d66c704858 Con Kolivas 2019-10-25  2504  
49e82d66c704858 Con Kolivas 2019-10-25  2505  /*
49e82d66c704858 Con Kolivas 2019-10-25  2506   * wake_up_new_task - wake up a newly created task for the first time.
49e82d66c704858 Con Kolivas 2019-10-25  2507   *
49e82d66c704858 Con Kolivas 2019-10-25  2508   * This function will do some initial scheduler statistics housekeeping
49e82d66c704858 Con Kolivas 2019-10-25  2509   * that must be done for every newly created context, then puts the task
49e82d66c704858 Con Kolivas 2019-10-25  2510   * on the runqueue and wakes it.
49e82d66c704858 Con Kolivas 2019-10-25  2511   */
49e82d66c704858 Con Kolivas 2019-10-25  2512  void wake_up_new_task(struct task_struct *p)
49e82d66c704858 Con Kolivas 2019-10-25  2513  {
49e82d66c704858 Con Kolivas 2019-10-25  2514  	struct task_struct *parent, *rq_curr;
49e82d66c704858 Con Kolivas 2019-10-25  2515  	struct rq *rq, *new_rq;
49e82d66c704858 Con Kolivas 2019-10-25  2516  	unsigned long flags;
49e82d66c704858 Con Kolivas 2019-10-25  2517  
49e82d66c704858 Con Kolivas 2019-10-25 @2518  	parent = p->parent;
49e82d66c704858 Con Kolivas 2019-10-25  2519  
49e82d66c704858 Con Kolivas 2019-10-25  2520  	raw_spin_lock_irqsave(&p->pi_lock, flags);
49e82d66c704858 Con Kolivas 2019-10-25  2521  	p->state = TASK_RUNNING;
49e82d66c704858 Con Kolivas 2019-10-25  2522  	/* Task_rq can't change yet on a new task */
49e82d66c704858 Con Kolivas 2019-10-25  2523  	new_rq = rq = task_rq(p);
49e82d66c704858 Con Kolivas 2019-10-25  2524  	if (unlikely(needs_other_cpu(p, task_cpu(p)))) {
49e82d66c704858 Con Kolivas 2019-10-25  2525  		set_task_cpu(p, valid_task_cpu(p));
49e82d66c704858 Con Kolivas 2019-10-25  2526  		new_rq = task_rq(p);
49e82d66c704858 Con Kolivas 2019-10-25  2527  	}
49e82d66c704858 Con Kolivas 2019-10-25  2528  
49e82d66c704858 Con Kolivas 2019-10-25  2529  	double_rq_lock(rq, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25 @2530  	rq_curr = rq->curr;
49e82d66c704858 Con Kolivas 2019-10-25  2531  
49e82d66c704858 Con Kolivas 2019-10-25  2532  	/*
49e82d66c704858 Con Kolivas 2019-10-25  2533  	 * Make sure we do not leak PI boosting priority to the child.
49e82d66c704858 Con Kolivas 2019-10-25  2534  	 */
49e82d66c704858 Con Kolivas 2019-10-25  2535  	p->prio = rq_curr->normal_prio;
49e82d66c704858 Con Kolivas 2019-10-25  2536  
49e82d66c704858 Con Kolivas 2019-10-25  2537  	trace_sched_wakeup_new(p);
49e82d66c704858 Con Kolivas 2019-10-25  2538  
49e82d66c704858 Con Kolivas 2019-10-25  2539  	/*
49e82d66c704858 Con Kolivas 2019-10-25  2540  	 * Share the timeslice between parent and child, thus the
49e82d66c704858 Con Kolivas 2019-10-25  2541  	 * total amount of pending timeslices in the system doesn't change,
49e82d66c704858 Con Kolivas 2019-10-25  2542  	 * resulting in more scheduling fairness. If it's negative, it won't
49e82d66c704858 Con Kolivas 2019-10-25  2543  	 * matter since that's the same as being 0. rq->rq_deadline is only
49e82d66c704858 Con Kolivas 2019-10-25  2544  	 * modified within schedule() so it is always equal to
49e82d66c704858 Con Kolivas 2019-10-25  2545  	 * current->deadline.
49e82d66c704858 Con Kolivas 2019-10-25  2546  	 */
49e82d66c704858 Con Kolivas 2019-10-25  2547  	account_task_cpu(rq, rq_curr);
49e82d66c704858 Con Kolivas 2019-10-25  2548  	p->last_ran = rq_curr->last_ran;
49e82d66c704858 Con Kolivas 2019-10-25  2549  	if (likely(rq_curr->policy != SCHED_FIFO)) {
49e82d66c704858 Con Kolivas 2019-10-25  2550  		rq_curr->time_slice /= 2;
49e82d66c704858 Con Kolivas 2019-10-25  2551  		if (rq_curr->time_slice < RESCHED_US) {
49e82d66c704858 Con Kolivas 2019-10-25  2552  			/*
49e82d66c704858 Con Kolivas 2019-10-25  2553  			 * Forking task has run out of timeslice. Reschedule it and
49e82d66c704858 Con Kolivas 2019-10-25  2554  			 * start its child with a new time slice and deadline. The
49e82d66c704858 Con Kolivas 2019-10-25  2555  			 * child will end up running first because its deadline will
49e82d66c704858 Con Kolivas 2019-10-25  2556  			 * be slightly earlier.
49e82d66c704858 Con Kolivas 2019-10-25  2557  			 */
49e82d66c704858 Con Kolivas 2019-10-25  2558  			__set_tsk_resched(rq_curr);
49e82d66c704858 Con Kolivas 2019-10-25  2559  			time_slice_expired(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25  2560  			if (suitable_idle_cpus(p))
49e82d66c704858 Con Kolivas 2019-10-25  2561  				resched_best_idle(p, task_cpu(p));
49e82d66c704858 Con Kolivas 2019-10-25  2562  			else if (unlikely(rq != new_rq))
49e82d66c704858 Con Kolivas 2019-10-25  2563  				try_preempt(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25  2564  		} else {
49e82d66c704858 Con Kolivas 2019-10-25  2565  			p->time_slice = rq_curr->time_slice;
49e82d66c704858 Con Kolivas 2019-10-25  2566  			if (rq_curr == parent && rq == new_rq && !suitable_idle_cpus(p)) {
49e82d66c704858 Con Kolivas 2019-10-25  2567  				/*
49e82d66c704858 Con Kolivas 2019-10-25  2568  				 * The VM isn't cloned, so we're in a good position to
49e82d66c704858 Con Kolivas 2019-10-25  2569  				 * do child-runs-first in anticipation of an exec. This
49e82d66c704858 Con Kolivas 2019-10-25  2570  				 * usually avoids a lot of COW overhead.
49e82d66c704858 Con Kolivas 2019-10-25  2571  				 */
49e82d66c704858 Con Kolivas 2019-10-25  2572  				__set_tsk_resched(rq_curr);
49e82d66c704858 Con Kolivas 2019-10-25  2573  			} else {
49e82d66c704858 Con Kolivas 2019-10-25  2574  				/*
49e82d66c704858 Con Kolivas 2019-10-25  2575  				 * Adjust the hrexpiry since rq_curr will keep
49e82d66c704858 Con Kolivas 2019-10-25  2576  				 * running and its timeslice has been shortened.
49e82d66c704858 Con Kolivas 2019-10-25  2577  				 */
49e82d66c704858 Con Kolivas 2019-10-25  2578  				hrexpiry_start(rq, US_TO_NS(rq_curr->time_slice));
49e82d66c704858 Con Kolivas 2019-10-25  2579  				try_preempt(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25  2580  			}
49e82d66c704858 Con Kolivas 2019-10-25  2581  		}
49e82d66c704858 Con Kolivas 2019-10-25  2582  	} else {
49e82d66c704858 Con Kolivas 2019-10-25  2583  		time_slice_expired(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25  2584  		try_preempt(p, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25  2585  	}
49e82d66c704858 Con Kolivas 2019-10-25  2586  	activate_task(new_rq, p, 0);
49e82d66c704858 Con Kolivas 2019-10-25  2587  	double_rq_unlock(rq, new_rq);
49e82d66c704858 Con Kolivas 2019-10-25  2588  	raw_spin_unlock_irqrestore(&p->pi_lock, flags);
49e82d66c704858 Con Kolivas 2019-10-25  2589  }
49e82d66c704858 Con Kolivas 2019-10-25  2590  

:::::: The code at line 2471 was first introduced by commit
:::::: 49e82d66c704858ba77947984535811593d6dacb MultiQueue Skiplist Scheduler v0.204

:::::: TO: Con Kolivas <kernel@kolivas.org>
:::::: CC: Con Kolivas <kernel@kolivas.org>

---
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: 34528 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-17 23:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-17 23:26 [zen-kernel-zen-kernel:5.9/muqss 1/1] kernel/sched/MuQSS.c:2471:11: sparse: sparse: incorrect type in assignment (different address spaces) kernel test robot

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.