diff options
author | Suresh Jayaraman <sjayaraman@suse.de> | 2010-10-18 13:59:37 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2010-10-21 09:14:27 -0400 |
commit | 3f9bcca7820a6711307b6499952b13cfcfc31dd6 (patch) | |
tree | 6c380f5877562778335d6794e1e4a297f8970d77 /fs/cifs/cifsglob.h | |
parent | 3e24e132878c83910b61eb7704511a6d96a0389f (diff) |
cifs: convert cifs_tcp_ses_lock from a rwlock to a spinlock
cifs_tcp_ses_lock is a rwlock with protects the cifs_tcp_ses_list,
server->smb_ses_list and the ses->tcon_list. It also protects a few
ref counters in server, ses and tcon. In most cases the critical section
doesn't seem to be large, in a few cases where it is slightly large, there
seem to be really no benefit from concurrent access. I briefly considered RCU
mechanism but it appears to me that there is no real need.
Replace it with a spinlock and get rid of the last rwlock in the cifs code.
Signed-off-by: Suresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 18ee0adda306..28337cba0295 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -703,7 +703,7 @@ GLOBAL_EXTERN struct list_head cifs_tcp_ses_list; | |||
703 | * the reference counters for the server, smb session, and tcon. Finally, | 703 | * the reference counters for the server, smb session, and tcon. Finally, |
704 | * changes to the tcon->tidStatus should be done while holding this lock. | 704 | * changes to the tcon->tidStatus should be done while holding this lock. |
705 | */ | 705 | */ |
706 | GLOBAL_EXTERN rwlock_t cifs_tcp_ses_lock; | 706 | GLOBAL_EXTERN spinlock_t cifs_tcp_ses_lock; |
707 | 707 | ||
708 | /* | 708 | /* |
709 | * This lock protects the cifs_file->llist and cifs_file->flist | 709 | * This lock protects the cifs_file->llist and cifs_file->flist |