mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 08:38:45 +02:00 
			
		
		
		
	locking/lockdep: Track number of zapped lock chains
Add a new counter nr_zapped_lock_chains to track the number lock chains that have been removed. Signed-off-by: Waiman Long <longman@redhat.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Link: https://lkml.kernel.org/r/20200206152408.24165-6-longman@redhat.com
This commit is contained in:
		
							parent
							
								
									836bd74b59
								
							
						
					
					
						commit
						797b82eb90
					
				
					 3 changed files with 7 additions and 0 deletions
				
			
		|  | @ -2626,6 +2626,7 @@ check_prevs_add(struct task_struct *curr, struct held_lock *next) | |||
| struct lock_chain lock_chains[MAX_LOCKDEP_CHAINS]; | ||||
| static DECLARE_BITMAP(lock_chains_in_use, MAX_LOCKDEP_CHAINS); | ||||
| static u16 chain_hlocks[MAX_LOCKDEP_CHAIN_HLOCKS]; | ||||
| unsigned long nr_zapped_lock_chains; | ||||
| unsigned int nr_chain_hlocks; | ||||
| 
 | ||||
| struct lock_class *lock_chain_get_class(struct lock_chain *chain, int i) | ||||
|  | @ -4797,6 +4798,7 @@ static void remove_class_from_lock_chain(struct pending_free *pf, | |||
| 	 */ | ||||
| 	hlist_del_rcu(&chain->entry); | ||||
| 	__set_bit(chain - lock_chains, pf->lock_chains_being_freed); | ||||
| 	nr_zapped_lock_chains++; | ||||
| #endif | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -131,6 +131,7 @@ struct lock_class *lock_chain_get_class(struct lock_chain *chain, int i); | |||
| 
 | ||||
| extern unsigned long nr_lock_classes; | ||||
| extern unsigned long nr_zapped_classes; | ||||
| extern unsigned long nr_zapped_lock_chains; | ||||
| extern unsigned long nr_list_entries; | ||||
| long lockdep_next_lockchain(long i); | ||||
| unsigned long lock_chain_count(void); | ||||
|  |  | |||
|  | @ -349,6 +349,10 @@ static int lockdep_stats_show(struct seq_file *m, void *v) | |||
| 	seq_puts(m, "\n"); | ||||
| 	seq_printf(m, " zapped classes:                %11lu\n", | ||||
| 			nr_zapped_classes); | ||||
| #ifdef CONFIG_PROVE_LOCKING | ||||
| 	seq_printf(m, " zapped lock chains:            %11lu\n", | ||||
| 			nr_zapped_lock_chains); | ||||
| #endif | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Waiman Long
						Waiman Long