mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-03 18:20:25 +02:00 
			
		
		
		
	dlm: convert res_lock to spinlock
Convert the rsb struct res_lock from a mutex to a spinlock in preparation for processing messages in softirq context. Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
This commit is contained in:
		
							parent
							
								
									097691dbad
								
							
						
					
					
						commit
						cc396e2355
					
				
					 3 changed files with 4 additions and 4 deletions
				
			
		| 
						 | 
					@ -320,7 +320,7 @@ struct dlm_lkb {
 | 
				
			||||||
struct dlm_rsb {
 | 
					struct dlm_rsb {
 | 
				
			||||||
	struct dlm_ls		*res_ls;	/* the lockspace */
 | 
						struct dlm_ls		*res_ls;	/* the lockspace */
 | 
				
			||||||
	struct kref		res_ref;
 | 
						struct kref		res_ref;
 | 
				
			||||||
	struct mutex		res_mutex;
 | 
						spinlock_t		res_lock;
 | 
				
			||||||
	unsigned long		res_flags;
 | 
						unsigned long		res_flags;
 | 
				
			||||||
	int			res_length;	/* length of rsb name */
 | 
						int			res_length;	/* length of rsb name */
 | 
				
			||||||
	int			res_nodeid;
 | 
						int			res_nodeid;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -415,7 +415,7 @@ static int get_rsb_struct(struct dlm_ls *ls, const void *name, int len,
 | 
				
			||||||
	r->res_ls = ls;
 | 
						r->res_ls = ls;
 | 
				
			||||||
	r->res_length = len;
 | 
						r->res_length = len;
 | 
				
			||||||
	memcpy(r->res_name, name, len);
 | 
						memcpy(r->res_name, name, len);
 | 
				
			||||||
	mutex_init(&r->res_mutex);
 | 
						spin_lock_init(&r->res_lock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	INIT_LIST_HEAD(&r->res_lookup);
 | 
						INIT_LIST_HEAD(&r->res_lookup);
 | 
				
			||||||
	INIT_LIST_HEAD(&r->res_grantqueue);
 | 
						INIT_LIST_HEAD(&r->res_grantqueue);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -69,12 +69,12 @@ static inline int is_master(struct dlm_rsb *r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void lock_rsb(struct dlm_rsb *r)
 | 
					static inline void lock_rsb(struct dlm_rsb *r)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	mutex_lock(&r->res_mutex);
 | 
						spin_lock(&r->res_lock);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void unlock_rsb(struct dlm_rsb *r)
 | 
					static inline void unlock_rsb(struct dlm_rsb *r)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	mutex_unlock(&r->res_mutex);
 | 
						spin_unlock(&r->res_lock);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue