* 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).