All of lore.kernel.org
 help / color / mirror / Atom feed
* [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
@ 2017-10-14 23:29 kbuild test robot
  2017-10-17 16:14 ` Will Deacon
  0 siblings, 1 reply; 8+ messages in thread
From: kbuild test robot @ 2017-10-14 23:29 UTC (permalink / raw)
  To: Will Deacon; +Cc: kbuild-all, linux-kernel, Paul E. McKenney

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
head:   ea788e7da4886dff9782ad61d4c5e6ebadfa8260
commit: c3a030152f67ef977129c11e5b37a8e6071d4b6f [30/45] locking/barriers: Kill lockless_dereference
config: sparc-alldefconfig (attached as .config)
compiler: sparc-linux-gcc (GCC) 6.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout c3a030152f67ef977129c11e5b37a8e6071d4b6f
        # save the attached .config to linux build tree
        make.cross ARCH=sparc 

All errors (new ones prefixed by >>):

   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/thread_info.h:10,
                    from arch/sparc/include/asm/current.h:14,
                    from include/linux/sched.h:11,
                    from arch/sparc/kernel/asm-offsets.c:13:
   include/linux/list.h: In function 'list_empty':
>> include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' [-Werror=implicit-function-declaration]
     smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
     ^
   include/linux/compiler.h:346:22: note: in expansion of macro '__READ_ONCE'
    #define READ_ONCE(x) __READ_ONCE(x, 1)
                         ^~~~~~~~~~~
   include/linux/list.h:202:9: note: in expansion of macro 'READ_ONCE'
     return READ_ONCE(head->next) == head;
            ^~~~~~~~~
   cc1: some warnings being treated as errors
   make[2]: *** [arch/sparc/kernel/asm-offsets.s] Error 1
   make[2]: Target '__build' not remade because of errors.
   make[1]: *** [prepare0] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [sub-make] Error 2

vim +/smp_read_barrier_depends +343 include/linux/compiler.h

   312	
   313	/*
   314	 * Prevent the compiler from merging or refetching reads or writes. The
   315	 * compiler is also forbidden from reordering successive instances of
   316	 * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the
   317	 * compiler is aware of some particular ordering.  One way to make the
   318	 * compiler aware of ordering is to put the two invocations of READ_ONCE,
   319	 * WRITE_ONCE or ACCESS_ONCE() in different C statements.
   320	 *
   321	 * In contrast to ACCESS_ONCE these two macros will also work on aggregate
   322	 * data types like structs or unions. If the size of the accessed data
   323	 * type exceeds the word size of the machine (e.g., 32 bits or 64 bits)
   324	 * READ_ONCE() and WRITE_ONCE() will fall back to memcpy(). There's at
   325	 * least two memcpy()s: one for the __builtin_memcpy() and then one for
   326	 * the macro doing the copy of variable - '__u' allocated on the stack.
   327	 *
   328	 * Their two major use cases are: (1) Mediating communication between
   329	 * process-level code and irq/NMI handlers, all running on the same CPU,
   330	 * and (2) Ensuring that the compiler does not  fold, spindle, or otherwise
   331	 * mutilate accesses that either do not require ordering or that interact
   332	 * with an explicit memory barrier or atomic instruction that provides the
   333	 * required ordering.
   334	 */
   335	
   336	#define __READ_ONCE(x, check)						\
   337	({									\
   338		union { typeof(x) __val; char __c[1]; } __u;			\
   339		if (check)							\
   340			__read_once_size(&(x), __u.__c, sizeof(x));		\
   341		else								\
   342			__read_once_size_nocheck(&(x), __u.__c, sizeof(x));	\
 > 343		smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
   344		__u.__val;							\
   345	})
   346	#define READ_ONCE(x) __READ_ONCE(x, 1)
   347	

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

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

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-14 23:29 [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' kbuild test robot
@ 2017-10-17 16:14 ` Will Deacon
  2017-10-17 16:44   ` Paul E. McKenney
  0 siblings, 1 reply; 8+ messages in thread
From: Will Deacon @ 2017-10-17 16:14 UTC (permalink / raw)
  To: kbuild test robot; +Cc: kbuild-all, linux-kernel, Paul E. McKenney

Hi Paul,

It looks like the breakage below is from a version of the patches that
existed before I split compiler.h in half. What's the plan with these
patches? I'd be happier for you to take them, but you'll want to take the
most recent version in that case.

Cheers,

Will

On Sun, Oct 15, 2017 at 07:29:36AM +0800, kbuild test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> head:   ea788e7da4886dff9782ad61d4c5e6ebadfa8260
> commit: c3a030152f67ef977129c11e5b37a8e6071d4b6f [30/45] locking/barriers: Kill lockless_dereference
> config: sparc-alldefconfig (attached as .config)
> compiler: sparc-linux-gcc (GCC) 6.2.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout c3a030152f67ef977129c11e5b37a8e6071d4b6f
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc 
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/uapi/linux/stddef.h:1:0,
>                     from include/linux/stddef.h:4,
>                     from include/uapi/linux/posix_types.h:4,
>                     from include/uapi/linux/types.h:13,
>                     from include/linux/types.h:5,
>                     from include/linux/thread_info.h:10,
>                     from arch/sparc/include/asm/current.h:14,
>                     from include/linux/sched.h:11,
>                     from arch/sparc/kernel/asm-offsets.c:13:
>    include/linux/list.h: In function 'list_empty':
> >> include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' [-Werror=implicit-function-declaration]
>      smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
>      ^
>    include/linux/compiler.h:346:22: note: in expansion of macro '__READ_ONCE'
>     #define READ_ONCE(x) __READ_ONCE(x, 1)
>                          ^~~~~~~~~~~
>    include/linux/list.h:202:9: note: in expansion of macro 'READ_ONCE'
>      return READ_ONCE(head->next) == head;
>             ^~~~~~~~~
>    cc1: some warnings being treated as errors
>    make[2]: *** [arch/sparc/kernel/asm-offsets.s] Error 1
>    make[2]: Target '__build' not remade because of errors.
>    make[1]: *** [prepare0] Error 2
>    make[1]: Target 'prepare' not remade because of errors.
>    make: *** [sub-make] Error 2
> 
> vim +/smp_read_barrier_depends +343 include/linux/compiler.h
> 
>    312	
>    313	/*
>    314	 * Prevent the compiler from merging or refetching reads or writes. The
>    315	 * compiler is also forbidden from reordering successive instances of
>    316	 * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the
>    317	 * compiler is aware of some particular ordering.  One way to make the
>    318	 * compiler aware of ordering is to put the two invocations of READ_ONCE,
>    319	 * WRITE_ONCE or ACCESS_ONCE() in different C statements.
>    320	 *
>    321	 * In contrast to ACCESS_ONCE these two macros will also work on aggregate
>    322	 * data types like structs or unions. If the size of the accessed data
>    323	 * type exceeds the word size of the machine (e.g., 32 bits or 64 bits)
>    324	 * READ_ONCE() and WRITE_ONCE() will fall back to memcpy(). There's at
>    325	 * least two memcpy()s: one for the __builtin_memcpy() and then one for
>    326	 * the macro doing the copy of variable - '__u' allocated on the stack.
>    327	 *
>    328	 * Their two major use cases are: (1) Mediating communication between
>    329	 * process-level code and irq/NMI handlers, all running on the same CPU,
>    330	 * and (2) Ensuring that the compiler does not  fold, spindle, or otherwise
>    331	 * mutilate accesses that either do not require ordering or that interact
>    332	 * with an explicit memory barrier or atomic instruction that provides the
>    333	 * required ordering.
>    334	 */
>    335	
>    336	#define __READ_ONCE(x, check)						\
>    337	({									\
>    338		union { typeof(x) __val; char __c[1]; } __u;			\
>    339		if (check)							\
>    340			__read_once_size(&(x), __u.__c, sizeof(x));		\
>    341		else								\
>    342			__read_once_size_nocheck(&(x), __u.__c, sizeof(x));	\
>  > 343		smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
>    344		__u.__val;							\
>    345	})
>    346	#define READ_ONCE(x) __READ_ONCE(x, 1)
>    347	
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-17 16:14 ` Will Deacon
@ 2017-10-17 16:44   ` Paul E. McKenney
  2017-10-19 10:07     ` Will Deacon
  0 siblings, 1 reply; 8+ messages in thread
From: Paul E. McKenney @ 2017-10-17 16:44 UTC (permalink / raw)
  To: Will Deacon; +Cc: kbuild test robot, kbuild-all, linux-kernel

Hello, Will,

Good point -- I should have removed that as soon as you posted the
update.  I have removed it now.

I am happy to take the patches, but let's make sure that I am up to
speed on the current state and dependencies.  Here is my current
scorecard, please double-check:

1.	Your patcheset from October 12th for nuking lockless_dereference():
	lkml.kernel.org/r/1507818377-7546-1-git-send-email-will.deacon@arm.com

2.	Mark Rutland's prepatory patchset for nuking ACCESS_ONCE():
	-rcu, v4.14-rc4..251e52a951b0 ("rcutorture: formal: prepare for
	ACCESS_ONCE() removal").  Depends on #1.

3.	My mop-up patchset for two remaining occurrences of
	ACCESS_ONCE() in documentation and a comment.  No real urgency
	or dependencies here. -rcu, 11721220e6bf ("treewide: Kill off
	remaining ACCESS_ONCE()".

4.	Mark's scripted patchset for nuking ACCESS_ONCE(), which will
	be run my Linus, hopefully at the end of the merge window that
	takes #1 and #2.

5.	My patchset for removing most smp_read_barrier_depends()
	instances.  -rcu, 11721220e6bf..b7a74661caeb ("keyring: Remove
	now-redundant smp_read_barrier_depends()").  These depend on
	#1, and many of them are non-trivial, so they will likely
	straggle in over time as they accumulate sufficient testing
	and/or acks.  Three of them are ready to go in.

6.	Removing smp_read_barrier_depends() from the InfiniBand drivers.
	These use cases are a bit obscure, so may take some time.
	Andrea Parri kindly volunteered to chase these down, but could
	use responses to his queries to the InfiniBand maintainers.
	These will likely depend on #1, though as Peter Zijlstra pointed
	out, there is no record of any Alpha systems using InfiniBand,
	so maybe they can be treated independently.

Did I get that right?  If I have the wrong patches or am missing some
dependencies, please let me know.  Otherwise, I will create a branch
including available patches from 1-3 and 5 above.

Are people comfortable with my pushing the straightforward stuff
(that is, excluding #5 and #6) into the next merge window?

							Thanx, Paul

On Tue, Oct 17, 2017 at 05:14:58PM +0100, Will Deacon wrote:
> Hi Paul,
> 
> It looks like the breakage below is from a version of the patches that
> existed before I split compiler.h in half. What's the plan with these
> patches? I'd be happier for you to take them, but you'll want to take the
> most recent version in that case.
> 
> Cheers,
> 
> Will
> 
> On Sun, Oct 15, 2017 at 07:29:36AM +0800, kbuild test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
> > head:   ea788e7da4886dff9782ad61d4c5e6ebadfa8260
> > commit: c3a030152f67ef977129c11e5b37a8e6071d4b6f [30/45] locking/barriers: Kill lockless_dereference
> > config: sparc-alldefconfig (attached as .config)
> > compiler: sparc-linux-gcc (GCC) 6.2.0
> > reproduce:
> >         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> >         chmod +x ~/bin/make.cross
> >         git checkout c3a030152f67ef977129c11e5b37a8e6071d4b6f
> >         # save the attached .config to linux build tree
> >         make.cross ARCH=sparc 
> > 
> > All errors (new ones prefixed by >>):
> > 
> >    In file included from include/uapi/linux/stddef.h:1:0,
> >                     from include/linux/stddef.h:4,
> >                     from include/uapi/linux/posix_types.h:4,
> >                     from include/uapi/linux/types.h:13,
> >                     from include/linux/types.h:5,
> >                     from include/linux/thread_info.h:10,
> >                     from arch/sparc/include/asm/current.h:14,
> >                     from include/linux/sched.h:11,
> >                     from arch/sparc/kernel/asm-offsets.c:13:
> >    include/linux/list.h: In function 'list_empty':
> > >> include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' [-Werror=implicit-function-declaration]
> >      smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
> >      ^
> >    include/linux/compiler.h:346:22: note: in expansion of macro '__READ_ONCE'
> >     #define READ_ONCE(x) __READ_ONCE(x, 1)
> >                          ^~~~~~~~~~~
> >    include/linux/list.h:202:9: note: in expansion of macro 'READ_ONCE'
> >      return READ_ONCE(head->next) == head;
> >             ^~~~~~~~~
> >    cc1: some warnings being treated as errors
> >    make[2]: *** [arch/sparc/kernel/asm-offsets.s] Error 1
> >    make[2]: Target '__build' not remade because of errors.
> >    make[1]: *** [prepare0] Error 2
> >    make[1]: Target 'prepare' not remade because of errors.
> >    make: *** [sub-make] Error 2
> > 
> > vim +/smp_read_barrier_depends +343 include/linux/compiler.h
> > 
> >    312	
> >    313	/*
> >    314	 * Prevent the compiler from merging or refetching reads or writes. The
> >    315	 * compiler is also forbidden from reordering successive instances of
> >    316	 * READ_ONCE, WRITE_ONCE and ACCESS_ONCE (see below), but only when the
> >    317	 * compiler is aware of some particular ordering.  One way to make the
> >    318	 * compiler aware of ordering is to put the two invocations of READ_ONCE,
> >    319	 * WRITE_ONCE or ACCESS_ONCE() in different C statements.
> >    320	 *
> >    321	 * In contrast to ACCESS_ONCE these two macros will also work on aggregate
> >    322	 * data types like structs or unions. If the size of the accessed data
> >    323	 * type exceeds the word size of the machine (e.g., 32 bits or 64 bits)
> >    324	 * READ_ONCE() and WRITE_ONCE() will fall back to memcpy(). There's at
> >    325	 * least two memcpy()s: one for the __builtin_memcpy() and then one for
> >    326	 * the macro doing the copy of variable - '__u' allocated on the stack.
> >    327	 *
> >    328	 * Their two major use cases are: (1) Mediating communication between
> >    329	 * process-level code and irq/NMI handlers, all running on the same CPU,
> >    330	 * and (2) Ensuring that the compiler does not  fold, spindle, or otherwise
> >    331	 * mutilate accesses that either do not require ordering or that interact
> >    332	 * with an explicit memory barrier or atomic instruction that provides the
> >    333	 * required ordering.
> >    334	 */
> >    335	
> >    336	#define __READ_ONCE(x, check)						\
> >    337	({									\
> >    338		union { typeof(x) __val; char __c[1]; } __u;			\
> >    339		if (check)							\
> >    340			__read_once_size(&(x), __u.__c, sizeof(x));		\
> >    341		else								\
> >    342			__read_once_size_nocheck(&(x), __u.__c, sizeof(x));	\
> >  > 343		smp_read_barrier_depends(); /* Enforce dependency ordering from x */ \
> >    344		__u.__val;							\
> >    345	})
> >    346	#define READ_ONCE(x) __READ_ONCE(x, 1)
> >    347	
> > 
> > ---
> > 0-DAY kernel test infrastructure                Open Source Technology Center
> > https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 
> 

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-17 16:44   ` Paul E. McKenney
@ 2017-10-19 10:07     ` Will Deacon
  2017-10-19 10:27       ` Mark Rutland
  0 siblings, 1 reply; 8+ messages in thread
From: Will Deacon @ 2017-10-19 10:07 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: kbuild test robot, kbuild-all, linux-kernel, mark.rutland

Hi Paul [adding Mark],

On Tue, Oct 17, 2017 at 09:44:09AM -0700, Paul E. McKenney wrote:
> Good point -- I should have removed that as soon as you posted the
> update.  I have removed it now.

Thanks!

> I am happy to take the patches, but let's make sure that I am up to
> speed on the current state and dependencies.  Here is my current
> scorecard, please double-check:
> 
> 1.	Your patcheset from October 12th for nuking lockless_dereference():
> 	lkml.kernel.org/r/1507818377-7546-1-git-send-email-will.deacon@arm.com

Yes, that's correct -- those three patches are up-to-date.

> 2.	Mark Rutland's prepatory patchset for nuking ACCESS_ONCE():
> 	-rcu, v4.14-rc4..251e52a951b0 ("rcutorture: formal: prepare for
> 	ACCESS_ONCE() removal").  Depends on #1.

I don't think there's a dependency on #1 here, for the difference it makes.
Mark has also updated his series on this branch (Acks and fixes), so you
should pull this instead of picking patches:

git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once-prep

> 3.	My mop-up patchset for two remaining occurrences of
> 	ACCESS_ONCE() in documentation and a comment.  No real urgency
> 	or dependencies here. -rcu, 11721220e6bf ("treewide: Kill off
> 	remaining ACCESS_ONCE()".
> 
> 4.	Mark's scripted patchset for nuking ACCESS_ONCE(), which will
> 	be run my Linus, hopefully at the end of the merge window that
> 	takes #1 and #2.

Just FYI, but Mark has also put #3 and #4 on this branch:

git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once

but those two patches haven't changed since the list posting.

> 5.	My patchset for removing most smp_read_barrier_depends()
> 	instances.  -rcu, 11721220e6bf..b7a74661caeb ("keyring: Remove
> 	now-redundant smp_read_barrier_depends()").  These depend on
> 	#1, and many of them are non-trivial, so they will likely
> 	straggle in over time as they accumulate sufficient testing
> 	and/or acks.  Three of them are ready to go in.
> 
> 6.	Removing smp_read_barrier_depends() from the InfiniBand drivers.
> 	These use cases are a bit obscure, so may take some time.
> 	Andrea Parri kindly volunteered to chase these down, but could
> 	use responses to his queries to the InfiniBand maintainers.
> 	These will likely depend on #1, though as Peter Zijlstra pointed
> 	out, there is no record of any Alpha systems using InfiniBand,
> 	so maybe they can be treated independently.
> 
> Did I get that right?  If I have the wrong patches or am missing some
> dependencies, please let me know.  Otherwise, I will create a branch
> including available patches from 1-3 and 5 above.
> 
> Are people comfortable with my pushing the straightforward stuff
> (that is, excluding #5 and #6) into the next merge window?

That works for me, and you can have my Ack if you need it:

Acked-by: Will Deacon <will.deacon@arm.com>

Will

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-19 10:07     ` Will Deacon
@ 2017-10-19 10:27       ` Mark Rutland
  2017-10-19 17:46         ` Paul E. McKenney
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Rutland @ 2017-10-19 10:27 UTC (permalink / raw)
  To: Will Deacon, Paul E. McKenney; +Cc: kbuild test robot, kbuild-all, linux-kernel

On Thu, Oct 19, 2017 at 11:07:25AM +0100, Will Deacon wrote:
> On Tue, Oct 17, 2017 at 09:44:09AM -0700, Paul E. McKenney wrote:
> > I am happy to take the patches, but let's make sure that I am up to
> > speed on the current state and dependencies.  Here is my current
> > scorecard, please double-check:
> > 
> > 1.	Your patcheset from October 12th for nuking lockless_dereference():
> > 	lkml.kernel.org/r/1507818377-7546-1-git-send-email-will.deacon@arm.com
> 
> Yes, that's correct -- those three patches are up-to-date.
> 
> > 2.	Mark Rutland's prepatory patchset for nuking ACCESS_ONCE():
> > 	-rcu, v4.14-rc4..251e52a951b0 ("rcutorture: formal: prepare for
> > 	ACCESS_ONCE() removal").  Depends on #1.
> 
> I don't think there's a dependency on #1 here, for the difference it makes.
> Mark has also updated his series on this branch (Acks and fixes), so you
> should pull this instead of picking patches:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once-prep
> 
> > 3.	My mop-up patchset for two remaining occurrences of
> > 	ACCESS_ONCE() in documentation and a comment.  No real urgency
> > 	or dependencies here. -rcu, 11721220e6bf ("treewide: Kill off
> > 	remaining ACCESS_ONCE()".
> > 
> > 4.	Mark's scripted patchset for nuking ACCESS_ONCE(), which will
> > 	be run my Linus, hopefully at the end of the merge window that
> > 	takes #1 and #2.
> 
> Just FYI, but Mark has also put #3 and #4 on this branch:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once
> 
> but those two patches haven't changed since the list posting.

Given #4 will need to be regenerated, there's not much point picking #3
from there, but feel free to add my Ack!

> > 5.	My patchset for removing most smp_read_barrier_depends()
> > 	instances.  -rcu, 11721220e6bf..b7a74661caeb ("keyring: Remove
> > 	now-redundant smp_read_barrier_depends()").  These depend on
> > 	#1, and many of them are non-trivial, so they will likely
> > 	straggle in over time as they accumulate sufficient testing
> > 	and/or acks.  Three of them are ready to go in.
> > 
> > 6.	Removing smp_read_barrier_depends() from the InfiniBand drivers.
> > 	These use cases are a bit obscure, so may take some time.
> > 	Andrea Parri kindly volunteered to chase these down, but could
> > 	use responses to his queries to the InfiniBand maintainers.
> > 	These will likely depend on #1, though as Peter Zijlstra pointed
> > 	out, there is no record of any Alpha systems using InfiniBand,
> > 	so maybe they can be treated independently.
> > 
> > Did I get that right?  If I have the wrong patches or am missing some
> > dependencies, please let me know.  Otherwise, I will create a branch
> > including available patches from 1-3 and 5 above.
> > 
> > Are people comfortable with my pushing the straightforward stuff
> > (that is, excluding #5 and #6) into the next merge window?
> 
> That works for me, and you can have my Ack if you need it:
> 
> Acked-by: Will Deacon <will.deacon@arm.com>

Sounds good to me, too.

Thanks,
Mark.

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-19 10:27       ` Mark Rutland
@ 2017-10-19 17:46         ` Paul E. McKenney
  2017-10-20 12:44           ` Mark Rutland
  0 siblings, 1 reply; 8+ messages in thread
From: Paul E. McKenney @ 2017-10-19 17:46 UTC (permalink / raw)
  To: Mark Rutland; +Cc: Will Deacon, kbuild test robot, kbuild-all, linux-kernel

On Thu, Oct 19, 2017 at 11:27:42AM +0100, Mark Rutland wrote:
> On Thu, Oct 19, 2017 at 11:07:25AM +0100, Will Deacon wrote:
> > On Tue, Oct 17, 2017 at 09:44:09AM -0700, Paul E. McKenney wrote:
> > > I am happy to take the patches, but let's make sure that I am up to
> > > speed on the current state and dependencies.  Here is my current
> > > scorecard, please double-check:
> > > 
> > > 1.	Your patcheset from October 12th for nuking lockless_dereference():
> > > 	lkml.kernel.org/r/1507818377-7546-1-git-send-email-will.deacon@arm.com
> > 
> > Yes, that's correct -- those three patches are up-to-date.

Very good, applied these on top of v4.14-rc4.

> > > 2.	Mark Rutland's prepatory patchset for nuking ACCESS_ONCE():
> > > 	-rcu, v4.14-rc4..251e52a951b0 ("rcutorture: formal: prepare for
> > > 	ACCESS_ONCE() removal").  Depends on #1.
> > 
> > I don't think there's a dependency on #1 here, for the difference it makes.
> > Mark has also updated his series on this branch (Acks and fixes), so you
> > should pull this instead of picking patches:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once-prep

And pulled these in, but capitalizing the "kill".

> > > 3.	My mop-up patchset for two remaining occurrences of
> > > 	ACCESS_ONCE() in documentation and a comment.  No real urgency
> > > 	or dependencies here. -rcu, 11721220e6bf ("treewide: Kill off
> > > 	remaining ACCESS_ONCE()".

I split these and applied them on top of the access-once-prep branch.

Then I merged #1.

> > > 4.	Mark's scripted patchset for nuking ACCESS_ONCE(), which will
> > > 	be run my Linus, hopefully at the end of the merge window that
> > > 	takes #1 and #2.
> > 
> > Just FYI, but Mark has also put #3 and #4 on this branch:
> > 
> > git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once
> > 
> > but those two patches haven't changed since the list posting.
> 
> Given #4 will need to be regenerated, there's not much point picking #3
> from there, but feel free to add my Ack!

Good point, and so I added my patches into your prep series.  And applied
your acks, thank you!

> > > 5.	My patchset for removing most smp_read_barrier_depends()
> > > 	instances.  -rcu, 11721220e6bf..b7a74661caeb ("keyring: Remove
> > > 	now-redundant smp_read_barrier_depends()").  These depend on
> > > 	#1, and many of them are non-trivial, so they will likely
> > > 	straggle in over time as they accumulate sufficient testing
> > > 	and/or acks.  Three of them are ready to go in.

But they -do- depend on #1 above, at least for Alpha users.  So maybe
I should target them for the merge window following the removal of
ACCESS_ONCE().

> > > 6.	Removing smp_read_barrier_depends() from the InfiniBand drivers.
> > > 	These use cases are a bit obscure, so may take some time.
> > > 	Andrea Parri kindly volunteered to chase these down, but could
> > > 	use responses to his queries to the InfiniBand maintainers.
> > > 	These will likely depend on #1, though as Peter Zijlstra pointed
> > > 	out, there is no record of any Alpha systems using InfiniBand,
> > > 	so maybe they can be treated independently.
> > > 
> > > Did I get that right?  If I have the wrong patches or am missing some
> > > dependencies, please let me know.  Otherwise, I will create a branch
> > > including available patches from 1-3 and 5 above.
> > > 
> > > Are people comfortable with my pushing the straightforward stuff
> > > (that is, excluding #5 and #6) into the next merge window?
> > 
> > That works for me, and you can have my Ack if you need it:
> > 
> > Acked-by: Will Deacon <will.deacon@arm.com>
> 
> Sounds good to me, too.

OK, this is now in -rcu on branch rcu/alpha.

I then pulled in your commit 8e0bfe6e14e9 ("treewide: kill off ACCESS_ONCE()")
on top of this at rcu/alpha-cocci.

Again, the smp_read_barrier_depends() waits until this is in-tree.

Did I get it right, or did I miss something?

							Thanx, Paul

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-19 17:46         ` Paul E. McKenney
@ 2017-10-20 12:44           ` Mark Rutland
  2017-10-20 16:50             ` Paul E. McKenney
  0 siblings, 1 reply; 8+ messages in thread
From: Mark Rutland @ 2017-10-20 12:44 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: Will Deacon, kbuild test robot, kbuild-all, linux-kernel

On Thu, Oct 19, 2017 at 10:46:57AM -0700, Paul E. McKenney wrote:
> On Thu, Oct 19, 2017 at 11:27:42AM +0100, Mark Rutland wrote:
> > On Thu, Oct 19, 2017 at 11:07:25AM +0100, Will Deacon wrote:
> > > On Tue, Oct 17, 2017 at 09:44:09AM -0700, Paul E. McKenney wrote:
> > > > I am happy to take the patches, but let's make sure that I am up to
> > > > speed on the current state and dependencies.  Here is my current
> > > > scorecard, please double-check:
> > > > 
> > > > 1.	Your patcheset from October 12th for nuking lockless_dereference():
> > > > 	lkml.kernel.org/r/1507818377-7546-1-git-send-email-will.deacon@arm.com
> > > 
> > > Yes, that's correct -- those three patches are up-to-date.
> 
> Very good, applied these on top of v4.14-rc4.
> 
> > > > 2.	Mark Rutland's prepatory patchset for nuking ACCESS_ONCE():
> > > > 	-rcu, v4.14-rc4..251e52a951b0 ("rcutorture: formal: prepare for
> > > > 	ACCESS_ONCE() removal").  Depends on #1.
> > > 
> > > I don't think there's a dependency on #1 here, for the difference it makes.
> > > Mark has also updated his series on this branch (Acks and fixes), so you
> > > should pull this instead of picking patches:
> > > 
> > > git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once-prep
> 
> And pulled these in, but capitalizing the "kill".
> 
> > > > 3.	My mop-up patchset for two remaining occurrences of
> > > > 	ACCESS_ONCE() in documentation and a comment.  No real urgency
> > > > 	or dependencies here. -rcu, 11721220e6bf ("treewide: Kill off
> > > > 	remaining ACCESS_ONCE()".
> 
> I split these and applied them on top of the access-once-prep branch.
> 
> Then I merged #1.
> 
> > > > 4.	Mark's scripted patchset for nuking ACCESS_ONCE(), which will
> > > > 	be run my Linus, hopefully at the end of the merge window that
> > > > 	takes #1 and #2.
> > > 
> > > Just FYI, but Mark has also put #3 and #4 on this branch:
> > > 
> > > git://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git access-once
> > > 
> > > but those two patches haven't changed since the list posting.
> > 
> > Given #4 will need to be regenerated, there's not much point picking #3
> > from there, but feel free to add my Ack!
> 
> Good point, and so I added my patches into your prep series.  And applied
> your acks, thank you!
> 
> > > > 5.	My patchset for removing most smp_read_barrier_depends()
> > > > 	instances.  -rcu, 11721220e6bf..b7a74661caeb ("keyring: Remove
> > > > 	now-redundant smp_read_barrier_depends()").  These depend on
> > > > 	#1, and many of them are non-trivial, so they will likely
> > > > 	straggle in over time as they accumulate sufficient testing
> > > > 	and/or acks.  Three of them are ready to go in.
> 
> But they -do- depend on #1 above, at least for Alpha users.  So maybe
> I should target them for the merge window following the removal of
> ACCESS_ONCE().
> 
> > > > 6.	Removing smp_read_barrier_depends() from the InfiniBand drivers.
> > > > 	These use cases are a bit obscure, so may take some time.
> > > > 	Andrea Parri kindly volunteered to chase these down, but could
> > > > 	use responses to his queries to the InfiniBand maintainers.
> > > > 	These will likely depend on #1, though as Peter Zijlstra pointed
> > > > 	out, there is no record of any Alpha systems using InfiniBand,
> > > > 	so maybe they can be treated independently.
> > > > 
> > > > Did I get that right?  If I have the wrong patches or am missing some
> > > > dependencies, please let me know.  Otherwise, I will create a branch
> > > > including available patches from 1-3 and 5 above.
> > > > 
> > > > Are people comfortable with my pushing the straightforward stuff
> > > > (that is, excluding #5 and #6) into the next merge window?
> > > 
> > > That works for me, and you can have my Ack if you need it:
> > > 
> > > Acked-by: Will Deacon <will.deacon@arm.com>
> > 
> > Sounds good to me, too.
> 
> OK, this is now in -rcu on branch rcu/alpha.
> 
> I then pulled in your commit 8e0bfe6e14e9 ("treewide: kill off ACCESS_ONCE()")
> on top of this at rcu/alpha-cocci.
> 
> Again, the smp_read_barrier_depends() waits until this is in-tree.
> 
> Did I get it right, or did I miss something?

rcu/alpha-cocci looks good to me.

Thanks for organising this!

Mark.

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

* Re: [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends'
  2017-10-20 12:44           ` Mark Rutland
@ 2017-10-20 16:50             ` Paul E. McKenney
  0 siblings, 0 replies; 8+ messages in thread
From: Paul E. McKenney @ 2017-10-20 16:50 UTC (permalink / raw)
  To: Mark Rutland; +Cc: Will Deacon, kbuild test robot, kbuild-all, linux-kernel

On Fri, Oct 20, 2017 at 01:44:07PM +0100, Mark Rutland wrote:
> On Thu, Oct 19, 2017 at 10:46:57AM -0700, Paul E. McKenney wrote:

[ . . . ]

> > OK, this is now in -rcu on branch rcu/alpha.
> > 
> > I then pulled in your commit 8e0bfe6e14e9 ("treewide: kill off ACCESS_ONCE()")
> > on top of this at rcu/alpha-cocci.
> > 
> > Again, the smp_read_barrier_depends() waits until this is in-tree.
> > 
> > Did I get it right, or did I miss something?
> 
> rcu/alpha-cocci looks good to me.
> 
> Thanks for organising this!

And both rcu/alpha and rcu/alpha-cocci have been updated with Will's
changes, FYI.

							Thanx, Paul

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

end of thread, other threads:[~2017-10-20 16:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-14 23:29 [rcu:rcu/next 30/45] include/linux/compiler.h:343:2: error: implicit declaration of function 'smp_read_barrier_depends' kbuild test robot
2017-10-17 16:14 ` Will Deacon
2017-10-17 16:44   ` Paul E. McKenney
2017-10-19 10:07     ` Will Deacon
2017-10-19 10:27       ` Mark Rutland
2017-10-19 17:46         ` Paul E. McKenney
2017-10-20 12:44           ` Mark Rutland
2017-10-20 16:50             ` 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.