Skip to content

NMI-safe SRCU readers for v6.2 #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: rcu-dev
Choose a base branch
from

Conversation

kernel-patches-bot
Copy link

Pull request for series with
subject: NMI-safe SRCU readers for v6.2
version: 1
url: https://patchwork.kernel.org/project/rcu/list/?series=686918

@kernel-patches-bot
Copy link
Author

Master branch: 00c153b
series: https://patchwork.kernel.org/project/rcu/list/?series=686918
version: 1

Pull request is NOT updated. Failed to apply https://patchwork.kernel.org/project/rcu/list/?series=686918
error message:

Cmd('git') failed due to: exit code(128)
  cmdline: git am -3
  stdout: 'Applying: srcu: Convert ->srcu_lock_count and ->srcu_unlock_count to atomic
Using index info to reconstruct a base tree...
M	include/linux/srcutree.h
M	kernel/rcu/srcutree.c
Falling back to patching base and 3-way merge...
Auto-merging kernel/rcu/srcutree.c
CONFLICT (content): Merge conflict in kernel/rcu/srcutree.c
Auto-merging include/linux/srcutree.h
CONFLICT (content): Merge conflict in include/linux/srcutree.h
Patch failed at 0001 srcu: Convert ->srcu_lock_count and ->srcu_unlock_count to atomic
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".'
  stderr: 'error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch'

conflict:

diff --cc include/linux/srcutree.h
index c689a81752c9,0c4eca07d78d..000000000000
--- a/include/linux/srcutree.h
+++ b/include/linux/srcutree.h
@@@ -25,7 -25,6 +25,10 @@@ struct srcu_data 
  	/* Read-side state. */
  	atomic_long_t srcu_lock_count[2];	/* Locks per CPU. */
  	atomic_long_t srcu_unlock_count[2];	/* Unlocks per CPU. */
++<<<<<<< HEAD
 +	int srcu_nmi_safety;			/* NMI-safe srcu_struct structure? */
++=======
++>>>>>>> srcu: Convert ->srcu_lock_count and ->srcu_unlock_count to atomic
  
  	/* Update-side state. */
  	spinlock_t __private lock ____cacheline_internodealigned_in_smp;
diff --cc kernel/rcu/srcutree.c
index 382236dd5e46,25e9458da6a2..000000000000
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@@ -436,11 -435,7 +436,14 @@@ static unsigned long srcu_readers_unloc
  		struct srcu_data *cpuc = per_cpu_ptr(ssp->sda, cpu);
  
  		sum += atomic_long_read(&cpuc->srcu_unlock_count[idx]);
++<<<<<<< HEAD
 +		if (IS_ENABLED(CONFIG_PROVE_RCU))
 +			mask = mask | READ_ONCE(cpuc->srcu_nmi_safety);
++=======
++>>>>>>> srcu: Convert ->srcu_lock_count and ->srcu_unlock_count to atomic
  	}
 +	WARN_ONCE(IS_ENABLED(CONFIG_PROVE_RCU) && (mask & (mask >> 1)),
 +		  "Mixed NMI-safe readers for srcu_struct at %ps.\n", ssp);
  	return sum;
  }
  

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants