mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	srcu: Add FORCE_NEED_SRCU_NMI_SAFE Kconfig for testing
The srcu_read_lock_nmisafe() and srcu_read_unlock_nmisafe() functions map to __srcu_read_lock() and __srcu_read_unlock() on systems like x86 that have NMI-safe this_cpu_inc() operations. This makes the underlying __srcu_read_lock_nmisafe() and __srcu_read_unlock_nmisafe() functions difficult to test on (for example) x86 systems, allowing bugs to creep in. This commit therefore creates a FORCE_NEED_SRCU_NMI_SAFE Kconfig that forces those underlying functions to be used even on systems where they are not needed, thus providing better testing coverage. Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
This commit is contained in:
		
							parent
							
								
									38b43eca66
								
							
						
					
					
						commit
						536e8b9b80
					
				
					 1 changed files with 11 additions and 0 deletions
				
			
		| 
						 | 
					@ -65,6 +65,17 @@ config TREE_SRCU
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  This option selects the full-fledged version of SRCU.
 | 
						  This option selects the full-fledged version of SRCU.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config FORCE_NEED_SRCU_NMI_SAFE
 | 
				
			||||||
 | 
						bool "Force selection of NEED_SRCU_NMI_SAFE"
 | 
				
			||||||
 | 
						depends on !TINY_SRCU
 | 
				
			||||||
 | 
						select NEED_SRCU_NMI_SAFE
 | 
				
			||||||
 | 
						default n
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  This option forces selection of the NEED_SRCU_NMI_SAFE
 | 
				
			||||||
 | 
						  Kconfig option, allowing testing of srcu_read_lock_nmisafe()
 | 
				
			||||||
 | 
						  and srcu_read_unlock_nmisafe() on architectures (like x86)
 | 
				
			||||||
 | 
						  that select the ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config NEED_SRCU_NMI_SAFE
 | 
					config NEED_SRCU_NMI_SAFE
 | 
				
			||||||
	def_bool HAVE_NMI && !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !TINY_SRCU
 | 
						def_bool HAVE_NMI && !ARCH_HAS_NMI_SAFE_THIS_CPU_OPS && !TINY_SRCU
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue