linux-next: manual merge of the rcu tree with the mm tree

Stephen Rothwell posted 1 patch 1 year, 1 month ago
linux-next: manual merge of the rcu tree with the mm tree
Posted by Stephen Rothwell 1 year, 1 month ago
Hi all,

Today's linux-next merge of the rcu tree got a conflict in:

  kernel/rcu/tree.c

between commit:

  bf8f464ee259 ("kasan: make kasan_record_aux_stack_noalloc() the default behaviour")

from the mm tree and commit:

  049dfe96baf9 ("rcu: Report callbacks enqueued on offline CPU blind spot")

from the rcu tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc kernel/rcu/tree.c
index 3885aae5f9cb,24f1cb292a92..000000000000
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@@ -3083,9 -3083,12 +3083,12 @@@ __call_rcu_common(struct rcu_head *head
  	}
  	head->func = func;
  	head->next = NULL;
 -	kasan_record_aux_stack_noalloc(head);
 +	kasan_record_aux_stack(head);
+ 
  	local_irq_save(flags);
  	rdp = this_cpu_ptr(&rcu_data);
+ 	RCU_LOCKDEP_WARN(!rcu_rdp_cpu_online(rdp), "Callback enqueued on offline CPU!");
+ 
  	lazy = lazy_in && !rcu_async_should_hurry();
  
  	/* Add the callback to our list. */
Re: linux-next: manual merge of the rcu tree with the mm tree
Posted by Stephen Rothwell 1 year ago
Hi all,

On Fri, 20 Dec 2024 13:37:38 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the rcu tree got a conflict in:
> 
>   kernel/rcu/tree.c
> 
> between commit:
> 
>   bf8f464ee259 ("kasan: make kasan_record_aux_stack_noalloc() the default behaviour")
> 
> from the mm tree and commit:
> 
>   049dfe96baf9 ("rcu: Report callbacks enqueued on offline CPU blind spot")
> 
> from the rcu tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc kernel/rcu/tree.c
> index 3885aae5f9cb,24f1cb292a92..000000000000
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@@ -3083,9 -3083,12 +3083,12 @@@ __call_rcu_common(struct rcu_head *head
>   	}
>   	head->func = func;
>   	head->next = NULL;
>  -	kasan_record_aux_stack_noalloc(head);
>  +	kasan_record_aux_stack(head);
> + 
>   	local_irq_save(flags);
>   	rdp = this_cpu_ptr(&rcu_data);
> + 	RCU_LOCKDEP_WARN(!rcu_rdp_cpu_online(rdp), "Callback enqueued on offline CPU!");
> + 
>   	lazy = lazy_in && !rcu_async_should_hurry();
>   
>   	/* Add the callback to our list. */

This is now a conflict between the mm-stable tree and Linus' tree.

-- 
Cheers,
Stephen Rothwell
Re: linux-next: manual merge of the rcu tree with the mm tree
Posted by Uladzislau Rezki 1 year, 1 month ago
On Fri, Dec 20, 2024 at 01:37:38PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the rcu tree got a conflict in:
> 
>   kernel/rcu/tree.c
> 
> between commit:
> 
>   bf8f464ee259 ("kasan: make kasan_record_aux_stack_noalloc() the default behaviour")
> 
> from the mm tree and commit:
> 
>   049dfe96baf9 ("rcu: Report callbacks enqueued on offline CPU blind spot")
> 
> from the rcu tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc kernel/rcu/tree.c
> index 3885aae5f9cb,24f1cb292a92..000000000000
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@@ -3083,9 -3083,12 +3083,12 @@@ __call_rcu_common(struct rcu_head *head
>   	}
>   	head->func = func;
>   	head->next = NULL;
>  -	kasan_record_aux_stack_noalloc(head);
>  +	kasan_record_aux_stack(head);
> + 
>   	local_irq_save(flags);
>   	rdp = this_cpu_ptr(&rcu_data);
> + 	RCU_LOCKDEP_WARN(!rcu_rdp_cpu_online(rdp), "Callback enqueued on offline CPU!");
> + 
>   	lazy = lazy_in && !rcu_async_should_hurry();
>   
>   	/* Add the callback to our list. */
>
Thank you for fixing this. The resolution looks good to me. Apart of
that i have created a new branch how to resolve this also:

remotes/rcu/merge/rcu.2024.12.21a

--
Uladzislau Rezki