All of lore.kernel.org
 help / color / mirror / Atom feed
* [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)
@ 2019-04-23 10:33 kbuild test robot
  2019-04-23 12:46 ` Paul E. McKenney
  0 siblings, 1 reply; 6+ messages in thread
From: kbuild test robot @ 2019-04-23 10:33 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior; +Cc: kbuild-all, linux-kernel, Paul E. McKenney

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.04.16a
head:   ca8714f549be5a186d086a223184095759eb7094
commit: 9a1a31194644dfc6b8f19755ea44ecf84f37cf40 [38/72] rcu: Enable elimination of Tree-RCU softirq processing
reproduce:
        # apt-get install sparse
        git checkout 9a1a31194644dfc6b8f19755ea44ecf84f37cf40
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

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



sparse warnings: (new ones prefixed by >>)

>> kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) @@    expected struct task_struct [noderef] <asn:3> **store @@    got struct task_struct [noderef] <asn:3> **store @@
>> kernel/rcu/tree.c:2408:36: sparse:    expected struct task_struct [noderef] <asn:3> **store
>> kernel/rcu/tree.c:2408:36: sparse:    got struct task_struct *[noderef] <asn:3> *
   kernel/rcu/tree.c:3234:13: sparse: sparse: incorrect type in argument 1 (different modifiers) @@    expected int ( *threadfn )( ... ) @@    got int ( [noreint ( *threadfn )( ... ) @@
   kernel/rcu/tree.c:3234:13: sparse:    expected int ( *threadfn )( ... )
   kernel/rcu/tree.c:3234:13: sparse:    got int ( [noreturn] * )( ... )
   kernel/rcu/tree.c:1110:13: sparse: sparse: context imbalance in 'rcu_start_this_gp' - different lock contexts for basic block
   kernel/rcu/tree.c:1502:9: sparse: sparse: context imbalance in 'rcu_gp_init' - different lock contexts for basic block
   kernel/rcu/tree.c:2190:9: sparse: sparse: context imbalance in 'force_qs_rnp' - different lock contexts for basic block
   kernel/rcu/tree.c:2243:25: sparse: sparse: context imbalance in 'rcu_force_quiescent_state' - unexpected unlock
   kernel/rcu/tree_stall.h:640:9: sparse: sparse: context imbalance in 'rcu_check_gp_start_stall' - different lock contexts for basic block
   kernel/rcu/tree_exp.h:193:9: sparse: sparse: context imbalance in '__rcu_report_exp_rnp' - different lock contexts for basic block

vim +2408 kernel/rcu/tree.c

  2406	
  2407	static struct smp_hotplug_thread rcu_cpu_thread_spec = {
> 2408		.store			= &rcu_data.rcu_cpu_kthread_task,
  2409		.thread_should_run	= rcu_cpu_kthread_should_run,
  2410		.thread_fn		= rcu_cpu_kthread,
  2411		.thread_comm		= "rcuc/%u",
  2412		.setup			= rcu_cpu_kthread_setup,
  2413		.park			= rcu_cpu_kthread_park,
  2414	};
  2415	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)
  2019-04-23 10:33 [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) kbuild test robot
@ 2019-04-23 12:46 ` Paul E. McKenney
  2019-04-23 15:08   ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 6+ messages in thread
From: Paul E. McKenney @ 2019-04-23 12:46 UTC (permalink / raw)
  To: kbuild test robot; +Cc: Sebastian Andrzej Siewior, kbuild-all, linux-kernel

On Tue, Apr 23, 2019 at 06:33:33PM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.04.16a
> head:   ca8714f549be5a186d086a223184095759eb7094
> commit: 9a1a31194644dfc6b8f19755ea44ecf84f37cf40 [38/72] rcu: Enable elimination of Tree-RCU softirq processing
> reproduce:
>         # apt-get install sparse
>         git checkout 9a1a31194644dfc6b8f19755ea44ecf84f37cf40
>         make ARCH=x86_64 allmodconfig
>         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> 
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
> 
> 
> 
> sparse warnings: (new ones prefixed by >>)
> 
> >> kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) @@    expected struct task_struct [noderef] <asn:3> **store @@    got struct task_struct [noderef] <asn:3> **store @@

Line 2408 of kernel/rcu/tree.c for commit 9a1a31194644 ("rcu: Enable
elimination of Tree-RCU softirq processing") is this:

	.store			= &rcu_data.rcu_cpu_kthread_task,

So I am having some difficulty understanding this sparse diagnostic.

Help?

							Thanx, Paul

> >> kernel/rcu/tree.c:2408:36: sparse:    expected struct task_struct [noderef] <asn:3> **store
> >> kernel/rcu/tree.c:2408:36: sparse:    got struct task_struct *[noderef] <asn:3> *
>    kernel/rcu/tree.c:3234:13: sparse: sparse: incorrect type in argument 1 (different modifiers) @@    expected int ( *threadfn )( ... ) @@    got int ( [noreint ( *threadfn )( ... ) @@
>    kernel/rcu/tree.c:3234:13: sparse:    expected int ( *threadfn )( ... )
>    kernel/rcu/tree.c:3234:13: sparse:    got int ( [noreturn] * )( ... )
>    kernel/rcu/tree.c:1110:13: sparse: sparse: context imbalance in 'rcu_start_this_gp' - different lock contexts for basic block
>    kernel/rcu/tree.c:1502:9: sparse: sparse: context imbalance in 'rcu_gp_init' - different lock contexts for basic block
>    kernel/rcu/tree.c:2190:9: sparse: sparse: context imbalance in 'force_qs_rnp' - different lock contexts for basic block
>    kernel/rcu/tree.c:2243:25: sparse: sparse: context imbalance in 'rcu_force_quiescent_state' - unexpected unlock
>    kernel/rcu/tree_stall.h:640:9: sparse: sparse: context imbalance in 'rcu_check_gp_start_stall' - different lock contexts for basic block
>    kernel/rcu/tree_exp.h:193:9: sparse: sparse: context imbalance in '__rcu_report_exp_rnp' - different lock contexts for basic block
> 
> vim +2408 kernel/rcu/tree.c
> 
>   2406	
>   2407	static struct smp_hotplug_thread rcu_cpu_thread_spec = {
> > 2408		.store			= &rcu_data.rcu_cpu_kthread_task,
>   2409		.thread_should_run	= rcu_cpu_kthread_should_run,
>   2410		.thread_fn		= rcu_cpu_kthread,
>   2411		.thread_comm		= "rcuc/%u",
>   2412		.setup			= rcu_cpu_kthread_setup,
>   2413		.park			= rcu_cpu_kthread_park,
>   2414	};
>   2415	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)
  2019-04-23 12:46 ` Paul E. McKenney
@ 2019-04-23 15:08   ` Sebastian Andrzej Siewior
  2019-04-23 16:38     ` Paul E. McKenney
  0 siblings, 1 reply; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-04-23 15:08 UTC (permalink / raw)
  To: Paul E. McKenney, Thomas Gleixner
  Cc: kbuild test robot, kbuild-all, linux-kernel

On 2019-04-23 05:46:19 [-0700], Paul E. McKenney wrote:
> On Tue, Apr 23, 2019 at 06:33:33PM +0800, kbuild test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.04.16a
> > head:   ca8714f549be5a186d086a223184095759eb7094
> > commit: 9a1a31194644dfc6b8f19755ea44ecf84f37cf40 [38/72] rcu: Enable elimination of Tree-RCU softirq processing
> > reproduce:
> >         # apt-get install sparse
> >         git checkout 9a1a31194644dfc6b8f19755ea44ecf84f37cf40
> >         make ARCH=x86_64 allmodconfig
> >         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> > 
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@intel.com>
> > 
> > 
> > 
> > sparse warnings: (new ones prefixed by >>)
> > 
> > >> kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) @@    expected struct task_struct [noderef] <asn:3> **store @@    got struct task_struct [noderef] <asn:3> **store @@
> 
> Line 2408 of kernel/rcu/tree.c for commit 9a1a31194644 ("rcu: Enable
> elimination of Tree-RCU softirq processing") is this:
> 
> 	.store			= &rcu_data.rcu_cpu_kthread_task,
> 
> So I am having some difficulty understanding this sparse diagnostic.
> 
> Help?

this helps

diff --git a/include/linux/smpboot.h b/include/linux/smpboot.h
index d0884b5250010..c2678e29807c1 100644
--- a/include/linux/smpboot.h
+++ b/include/linux/smpboot.h
@@ -29,7 +29,7 @@ struct smpboot_thread_data;
  * @thread_comm:	The base name of the thread
  */
 struct smp_hotplug_thread {
-	struct task_struct __percpu	**store;
+	struct task_struct		*__percpu *store;
 	struct list_head		list;
 	int				(*thread_should_run)(unsigned int cpu);
 	void				(*thread_fn)(unsigned int cpu);


I just need to find the correct words for it.
And yes, it is not RCU related…

> 							Thanx, Paul

Sebastian

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)
  2019-04-23 15:08   ` Sebastian Andrzej Siewior
@ 2019-04-23 16:38     ` Paul E. McKenney
  2019-04-23 16:44       ` Sebastian Andrzej Siewior
  0 siblings, 1 reply; 6+ messages in thread
From: Paul E. McKenney @ 2019-04-23 16:38 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: Thomas Gleixner, kbuild test robot, kbuild-all, linux-kernel

On Tue, Apr 23, 2019 at 05:08:14PM +0200, Sebastian Andrzej Siewior wrote:
> On 2019-04-23 05:46:19 [-0700], Paul E. McKenney wrote:
> > On Tue, Apr 23, 2019 at 06:33:33PM +0800, kbuild test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2019.04.16a
> > > head:   ca8714f549be5a186d086a223184095759eb7094
> > > commit: 9a1a31194644dfc6b8f19755ea44ecf84f37cf40 [38/72] rcu: Enable elimination of Tree-RCU softirq processing
> > > reproduce:
> > >         # apt-get install sparse
> > >         git checkout 9a1a31194644dfc6b8f19755ea44ecf84f37cf40
> > >         make ARCH=x86_64 allmodconfig
> > >         make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
> > > 
> > > If you fix the issue, kindly add following tag
> > > Reported-by: kbuild test robot <lkp@intel.com>
> > > 
> > > 
> > > 
> > > sparse warnings: (new ones prefixed by >>)
> > > 
> > > >> kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) @@    expected struct task_struct [noderef] <asn:3> **store @@    got struct task_struct [noderef] <asn:3> **store @@
> > 
> > Line 2408 of kernel/rcu/tree.c for commit 9a1a31194644 ("rcu: Enable
> > elimination of Tree-RCU softirq processing") is this:
> > 
> > 	.store			= &rcu_data.rcu_cpu_kthread_task,
> > 
> > So I am having some difficulty understanding this sparse diagnostic.
> > 
> > Help?
> 
> this helps
> 
> diff --git a/include/linux/smpboot.h b/include/linux/smpboot.h
> index d0884b5250010..c2678e29807c1 100644
> --- a/include/linux/smpboot.h
> +++ b/include/linux/smpboot.h
> @@ -29,7 +29,7 @@ struct smpboot_thread_data;
>   * @thread_comm:	The base name of the thread
>   */
>  struct smp_hotplug_thread {
> -	struct task_struct __percpu	**store;
> +	struct task_struct		*__percpu *store;
>  	struct list_head		list;
>  	int				(*thread_should_run)(unsigned int cpu);
>  	void				(*thread_fn)(unsigned int cpu);
> 
> 
> I just need to find the correct words for it.
> And yes, it is not RCU related…

Ah, thank you!  Shall I fold the above patch into your existing one,
or are you looking to do something else here?

							Thanx, Paul


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)
  2019-04-23 16:38     ` Paul E. McKenney
@ 2019-04-23 16:44       ` Sebastian Andrzej Siewior
  2019-04-23 18:56         ` Paul E. McKenney
  0 siblings, 1 reply; 6+ messages in thread
From: Sebastian Andrzej Siewior @ 2019-04-23 16:44 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Thomas Gleixner, kbuild test robot, kbuild-all, linux-kernel

On 2019-04-23 09:38:09 [-0700], Paul E. McKenney wrote:
> Ah, thank you!  Shall I fold the above patch into your existing one,
> or are you looking to do something else here?

The problem (that has been reported) isn't introduced by the patch in
question but existed since the very beginning. I intend to post a patch
with proper description.

> 							Thanx, Paul

Sebastian

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces)
  2019-04-23 16:44       ` Sebastian Andrzej Siewior
@ 2019-04-23 18:56         ` Paul E. McKenney
  0 siblings, 0 replies; 6+ messages in thread
From: Paul E. McKenney @ 2019-04-23 18:56 UTC (permalink / raw)
  To: Sebastian Andrzej Siewior
  Cc: Thomas Gleixner, kbuild test robot, kbuild-all, linux-kernel

On Tue, Apr 23, 2019 at 06:44:55PM +0200, Sebastian Andrzej Siewior wrote:
> On 2019-04-23 09:38:09 [-0700], Paul E. McKenney wrote:
> > Ah, thank you!  Shall I fold the above patch into your existing one,
> > or are you looking to do something else here?
> 
> The problem (that has been reported) isn't introduced by the patch in
> question but existed since the very beginning. I intend to post a patch
> with proper description.

Works for me!

							Thanx, Paul


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-04-23 18:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 10:33 [rcu:dev.2019.04.16a 38/72] kernel/rcu/tree.c:2408:36: sparse: sparse: incorrect type in initializer (different address spaces) kbuild test robot
2019-04-23 12:46 ` Paul E. McKenney
2019-04-23 15:08   ` Sebastian Andrzej Siewior
2019-04-23 16:38     ` Paul E. McKenney
2019-04-23 16:44       ` Sebastian Andrzej Siewior
2019-04-23 18:56         ` Paul E. McKenney

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.