linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: manual merge of the rcu tree with the modules and tip trees
@ 2015-05-28  7:25 Stephen Rothwell
  2015-05-28 17:03 ` Paul E. McKenney
  2015-06-23 23:23 ` Stephen Rothwell
  0 siblings, 2 replies; 6+ messages in thread
From: Stephen Rothwell @ 2015-05-28  7:25 UTC (permalink / raw)
  To: Paul E. McKenney, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra, Rusty Russell
  Cc: linux-next, linux-kernel

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

Hi Paul,

Today's linux-next merge of the rcu tree got a conflict in
include/linux/rcupdate.h between commits 0a04b0166929 ("rcu: Move
lockless_dereference() out of rcupdate.h") from the modules tree and
c1ad348b452a ("tick: Nohz: Rework next timer evaluation") from the tip
tree and commits 7d0ae8086b82 ("rcu: Convert ACCESS_ONCE() to
READ_ONCE() and WRITE_ONCE()") and 3382adbc1bb8 ("rcu: Eliminate a few
CONFIG_RCU_NOCB_CPU_ALL #ifdefs") from the rcu tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

I also had to add this merge fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 28 May 2015 17:20:58 +1000
Subject: [PATCH] rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and
 WRITE_ONCE()

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/linux/compiler.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/compiler.h b/include/linux/compiler.h
index ba91e5c88a32..f7e7235f3a91 100644
--- a/include/linux/compiler.h
+++ b/include/linux/compiler.h
@@ -483,7 +483,7 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
  */
 #define lockless_dereference(p) \
 ({ \
-	typeof(p) _________p1 = ACCESS_ONCE(p); \
+	typeof(p) _________p1 = READ_ONCE(p); \
 	smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
 	(_________p1); \
 })
-- 
2.1.4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc include/linux/rcupdate.h
index ed5f66464ab3,3a4d1bf430b1..000000000000
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@@ -1140,13 -1063,13 +1050,13 @@@ static inline notrace void rcu_read_unl
  #define kfree_rcu(ptr, rcu_head)					\
  	__kfree_rcu(&((ptr)->rcu_head), offsetof(typeof(*(ptr)), rcu_head))
  
- #if defined(CONFIG_TINY_RCU) || defined(CONFIG_RCU_NOCB_CPU_ALL)
+ #ifdef CONFIG_TINY_RCU
 -static inline int rcu_needs_cpu(unsigned long *delta_jiffies)
 +static inline int rcu_needs_cpu(u64 basemono, u64 *nextevt)
  {
 -	*delta_jiffies = ULONG_MAX;
 +	*nextevt = KTIME_MAX;
  	return 0;
  }
- #endif /* #if defined(CONFIG_TINY_RCU) || defined(CONFIG_RCU_NOCB_CPU_ALL) */
+ #endif /* #ifdef CONFIG_TINY_RCU */
  
  #if defined(CONFIG_RCU_NOCB_CPU_ALL)
  static inline bool rcu_is_nocb_cpu(int cpu) { return true; }

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: linux-next: manual merge of the rcu tree with the modules and tip trees
  2015-05-28  7:25 linux-next: manual merge of the rcu tree with the modules and tip trees Stephen Rothwell
@ 2015-05-28 17:03 ` Paul E. McKenney
  2015-05-29  6:56   ` Ingo Molnar
  2015-06-23 23:23 ` Stephen Rothwell
  1 sibling, 1 reply; 6+ messages in thread
From: Paul E. McKenney @ 2015-05-28 17:03 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, Peter Zijlstra,
	Rusty Russell, linux-next, linux-kernel

On Thu, May 28, 2015 at 05:25:07PM +1000, Stephen Rothwell wrote:
> Hi Paul,
> 
> Today's linux-next merge of the rcu tree got a conflict in
> include/linux/rcupdate.h between commits 0a04b0166929 ("rcu: Move
> lockless_dereference() out of rcupdate.h") from the modules tree and
> c1ad348b452a ("tick: Nohz: Rework next timer evaluation") from the tip
> tree and commits 7d0ae8086b82 ("rcu: Convert ACCESS_ONCE() to
> READ_ONCE() and WRITE_ONCE()") and 3382adbc1bb8 ("rcu: Eliminate a few
> CONFIG_RCU_NOCB_CPU_ALL #ifdefs") from the rcu tree.
> 
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).

Thank you, Stephen!

Ingo, I can send you a pull request as is or I can merge c1ad348b452a
with v4.1-rc3, rebase my commits on top of that, and do another cycle
through -next.  If I don't hear otherwise, I will be lazy and send as is,
so if you would prefer something different, please let me know.

							Thanx, Paul

> I also had to add this merge fix patch:
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 28 May 2015 17:20:58 +1000
> Subject: [PATCH] rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and
>  WRITE_ONCE()
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  include/linux/compiler.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/compiler.h b/include/linux/compiler.h
> index ba91e5c88a32..f7e7235f3a91 100644
> --- a/include/linux/compiler.h
> +++ b/include/linux/compiler.h
> @@ -483,7 +483,7 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
>   */
>  #define lockless_dereference(p) \
>  ({ \
> -	typeof(p) _________p1 = ACCESS_ONCE(p); \
> +	typeof(p) _________p1 = READ_ONCE(p); \
>  	smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
>  	(_________p1); \
>  })
> -- 
> 2.1.4
> 
> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> 
> diff --cc include/linux/rcupdate.h
> index ed5f66464ab3,3a4d1bf430b1..000000000000
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@@ -1140,13 -1063,13 +1050,13 @@@ static inline notrace void rcu_read_unl
>   #define kfree_rcu(ptr, rcu_head)					\
>   	__kfree_rcu(&((ptr)->rcu_head), offsetof(typeof(*(ptr)), rcu_head))
>   
> - #if defined(CONFIG_TINY_RCU) || defined(CONFIG_RCU_NOCB_CPU_ALL)
> + #ifdef CONFIG_TINY_RCU
>  -static inline int rcu_needs_cpu(unsigned long *delta_jiffies)
>  +static inline int rcu_needs_cpu(u64 basemono, u64 *nextevt)
>   {
>  -	*delta_jiffies = ULONG_MAX;
>  +	*nextevt = KTIME_MAX;
>   	return 0;
>   }
> - #endif /* #if defined(CONFIG_TINY_RCU) || defined(CONFIG_RCU_NOCB_CPU_ALL) */
> + #endif /* #ifdef CONFIG_TINY_RCU */
>   
>   #if defined(CONFIG_RCU_NOCB_CPU_ALL)
>   static inline bool rcu_is_nocb_cpu(int cpu) { return true; }

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

* Re: linux-next: manual merge of the rcu tree with the modules and tip trees
  2015-05-28 17:03 ` Paul E. McKenney
@ 2015-05-29  6:56   ` Ingo Molnar
  2015-05-29 12:46     ` Paul E. McKenney
  0 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2015-05-29  6:56 UTC (permalink / raw)
  To: Paul E. McKenney
  Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra, Rusty Russell, linux-next, linux-kernel


* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:

> On Thu, May 28, 2015 at 05:25:07PM +1000, Stephen Rothwell wrote:
> > Hi Paul,
> > 
> > Today's linux-next merge of the rcu tree got a conflict in
> > include/linux/rcupdate.h between commits 0a04b0166929 ("rcu: Move
> > lockless_dereference() out of rcupdate.h") from the modules tree and
> > c1ad348b452a ("tick: Nohz: Rework next timer evaluation") from the tip
> > tree and commits 7d0ae8086b82 ("rcu: Convert ACCESS_ONCE() to
> > READ_ONCE() and WRITE_ONCE()") and 3382adbc1bb8 ("rcu: Eliminate a few
> > CONFIG_RCU_NOCB_CPU_ALL #ifdefs") from the rcu tree.
> > 
> > I fixed it up (see below) and can carry the fix as necessary (no action
> > is required).
> 
> Thank you, Stephen!
> 
> Ingo, I can send you a pull request as is or I can merge c1ad348b452a
> with v4.1-rc3, rebase my commits on top of that, and do another cycle
> through -next.  If I don't hear otherwise, I will be lazy and send as is,
> so if you would prefer something different, please let me know.

I think as-is would be better, to not create extra dependencies. I can resolve 
conflicts in -tip.

Thanks,

	Ingo

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

* Re: linux-next: manual merge of the rcu tree with the modules and tip trees
  2015-05-29  6:56   ` Ingo Molnar
@ 2015-05-29 12:46     ` Paul E. McKenney
  0 siblings, 0 replies; 6+ messages in thread
From: Paul E. McKenney @ 2015-05-29 12:46 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Stephen Rothwell, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra, Rusty Russell, linux-next, linux-kernel

On Fri, May 29, 2015 at 08:56:04AM +0200, Ingo Molnar wrote:
> 
> * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> 
> > On Thu, May 28, 2015 at 05:25:07PM +1000, Stephen Rothwell wrote:
> > > Hi Paul,
> > > 
> > > Today's linux-next merge of the rcu tree got a conflict in
> > > include/linux/rcupdate.h between commits 0a04b0166929 ("rcu: Move
> > > lockless_dereference() out of rcupdate.h") from the modules tree and
> > > c1ad348b452a ("tick: Nohz: Rework next timer evaluation") from the tip
> > > tree and commits 7d0ae8086b82 ("rcu: Convert ACCESS_ONCE() to
> > > READ_ONCE() and WRITE_ONCE()") and 3382adbc1bb8 ("rcu: Eliminate a few
> > > CONFIG_RCU_NOCB_CPU_ALL #ifdefs") from the rcu tree.
> > > 
> > > I fixed it up (see below) and can carry the fix as necessary (no action
> > > is required).
> > 
> > Thank you, Stephen!
> > 
> > Ingo, I can send you a pull request as is or I can merge c1ad348b452a
> > with v4.1-rc3, rebase my commits on top of that, and do another cycle
> > through -next.  If I don't hear otherwise, I will be lazy and send as is,
> > so if you would prefer something different, please let me know.
> 
> I think as-is would be better, to not create extra dependencies. I can resolve 
> conflicts in -tip.

Very good!  I expect to send the pull request tomorrow (Saturday)
Pacific time.

							Thanx, Paul

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

* Re: linux-next: manual merge of the rcu tree with the modules and tip trees
  2015-05-28  7:25 linux-next: manual merge of the rcu tree with the modules and tip trees Stephen Rothwell
  2015-05-28 17:03 ` Paul E. McKenney
@ 2015-06-23 23:23 ` Stephen Rothwell
  2015-06-24  0:09   ` Rusty Russell
  1 sibling, 1 reply; 6+ messages in thread
From: Stephen Rothwell @ 2015-06-23 23:23 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Paul E. McKenney, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra, linux-next, linux-kernel, Linus

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

Hi Rusty,

On Thu, 28 May 2015 17:25:07 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the rcu tree got a conflict in
> include/linux/rcupdate.h between commits 0a04b0166929 ("rcu: Move
> lockless_dereference() out of rcupdate.h") from the modules tree and
> c1ad348b452a ("tick: Nohz: Rework next timer evaluation") from the tip
> tree and commits 7d0ae8086b82 ("rcu: Convert ACCESS_ONCE() to
> READ_ONCE() and WRITE_ONCE()") and 3382adbc1bb8 ("rcu: Eliminate a few
> CONFIG_RCU_NOCB_CPU_ALL #ifdefs") from the rcu tree.
> 
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
> 
> I also had to add this merge fix patch:
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 28 May 2015 17:20:58 +1000
> Subject: [PATCH] rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and
>  WRITE_ONCE()
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  include/linux/compiler.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/compiler.h b/include/linux/compiler.h
> index ba91e5c88a32..f7e7235f3a91 100644
> --- a/include/linux/compiler.h
> +++ b/include/linux/compiler.h
> @@ -483,7 +483,7 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
>   */
>  #define lockless_dereference(p) \
>  ({ \
> -	typeof(p) _________p1 = ACCESS_ONCE(p); \
> +	typeof(p) _________p1 = READ_ONCE(p); \
>  	smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
>  	(_________p1); \
>  })
> -- 
> 2.1.4
> 
> -- 
> Cheers,
> Stephen Rothwell                    sfr@canb.auug.org.au
> 
> diff --cc include/linux/rcupdate.h
> index ed5f66464ab3,3a4d1bf430b1..000000000000
> --- a/include/linux/rcupdate.h
> +++ b/include/linux/rcupdate.h
> @@@ -1140,13 -1063,13 +1050,13 @@@ static inline notrace void rcu_read_unl
>   #define kfree_rcu(ptr, rcu_head)					\
>   	__kfree_rcu(&((ptr)->rcu_head), offsetof(typeof(*(ptr)), rcu_head))
>   
> - #if defined(CONFIG_TINY_RCU) || defined(CONFIG_RCU_NOCB_CPU_ALL)
> + #ifdef CONFIG_TINY_RCU
>  -static inline int rcu_needs_cpu(unsigned long *delta_jiffies)
>  +static inline int rcu_needs_cpu(u64 basemono, u64 *nextevt)
>   {
>  -	*delta_jiffies = ULONG_MAX;
>  +	*nextevt = KTIME_MAX;
>   	return 0;
>   }
> - #endif /* #if defined(CONFIG_TINY_RCU) || defined(CONFIG_RCU_NOCB_CPU_ALL) */
> + #endif /* #ifdef CONFIG_TINY_RCU */
>   
>   #if defined(CONFIG_RCU_NOCB_CPU_ALL)
>   static inline bool rcu_is_nocb_cpu(int cpu) { return true; }

The above resolutions are now needed when the modules tree is merged
into Linus' tree (as the tip and rcu parts have already been merged).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: linux-next: manual merge of the rcu tree with the modules and tip trees
  2015-06-23 23:23 ` Stephen Rothwell
@ 2015-06-24  0:09   ` Rusty Russell
  0 siblings, 0 replies; 6+ messages in thread
From: Rusty Russell @ 2015-06-24  0:09 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Paul E. McKenney, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra, linux-next, linux-kernel, Linus

Stephen Rothwell <sfr@canb.auug.org.au> writes:
> Hi Rusty,
>
> On Thu, 28 May 2015 17:25:07 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>> Today's linux-next merge of the rcu tree got a conflict in
>> include/linux/rcupdate.h between commits 0a04b0166929 ("rcu: Move
>> lockless_dereference() out of rcupdate.h") from the modules tree and
>> c1ad348b452a ("tick: Nohz: Rework next timer evaluation") from the tip
>> tree and commits 7d0ae8086b82 ("rcu: Convert ACCESS_ONCE() to
>> READ_ONCE() and WRITE_ONCE()") and 3382adbc1bb8 ("rcu: Eliminate a few
>> CONFIG_RCU_NOCB_CPU_ALL #ifdefs") from the rcu tree.
>> 
>> I fixed it up (see below) and can carry the fix as necessary (no action
>> is required).
>> 
>> I also had to add this merge fix patch:
>> 
>> From: Stephen Rothwell <sfr@canb.auug.org.au>
>> Date: Thu, 28 May 2015 17:20:58 +1000
>> Subject: [PATCH] rcu: merge fix for Convert ACCESS_ONCE() to READ_ONCE() and
>>  WRITE_ONCE()
>> 
>> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
>> ---
>>  include/linux/compiler.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/include/linux/compiler.h b/include/linux/compiler.h
>> index ba91e5c88a32..f7e7235f3a91 100644
>> --- a/include/linux/compiler.h
>> +++ b/include/linux/compiler.h
>> @@ -483,7 +483,7 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s
>>   */
>>  #define lockless_dereference(p) \
>>  ({ \
>> -	typeof(p) _________p1 = ACCESS_ONCE(p); \
>> +	typeof(p) _________p1 = READ_ONCE(p); \
>>  	smp_read_barrier_depends(); /* Dependency order vs. p above. */ \
>>  	(_________p1); \
>>  })

Good catch.  I've apply this to my modules-next tree now, as it will
work fine pre-merge.

Thanks,
Rusty.

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

end of thread, other threads:[~2015-06-24  0:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-28  7:25 linux-next: manual merge of the rcu tree with the modules and tip trees Stephen Rothwell
2015-05-28 17:03 ` Paul E. McKenney
2015-05-29  6:56   ` Ingo Molnar
2015-05-29 12:46     ` Paul E. McKenney
2015-06-23 23:23 ` Stephen Rothwell
2015-06-24  0:09   ` Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).