cifs: avoid use of global locks for high contention data
During analysis of multichannel perf, it was seen that the global locks cifs_tcp_ses_lock and GlobalMid_Lock, which were shared between various data structures were causing a lot of contention points. With this change, we're breaking down the use of these locks by introducing new locks at more granular levels. i.e. server->srv_lock, ses->ses_lock and tcon->tc_lock to protect the unprotected fields of server, session and tcon structs; and server->mid_lock to protect mid related lists and entries at server level. Signed-off-by:Shyam Prasad N <sprasad@microsoft.com> Signed-off-by:
Steve French <stfrench@microsoft.com>
Showing
- fs/cifs/cifs_debug.c 4 additions, 4 deletionsfs/cifs/cifs_debug.c
- fs/cifs/cifsencrypt.c 3 additions, 3 deletionsfs/cifs/cifsencrypt.c
- fs/cifs/cifsfs.c 3 additions, 0 deletionsfs/cifs/cifsfs.c
- fs/cifs/cifsglob.h 73 additions, 26 deletionsfs/cifs/cifsglob.h
- fs/cifs/cifssmb.c 14 additions, 14 deletionsfs/cifs/cifssmb.c
- fs/cifs/connect.c 121 additions, 95 deletionsfs/cifs/connect.c
- fs/cifs/dfs_cache.c 7 additions, 1 deletionfs/cifs/dfs_cache.c
- fs/cifs/misc.c 2 additions, 0 deletionsfs/cifs/misc.c
- fs/cifs/smb1ops.c 5 additions, 5 deletionsfs/cifs/smb1ops.c
- fs/cifs/smb2ops.c 26 additions, 21 deletionsfs/cifs/smb2ops.c
- fs/cifs/smb2pdu.c 12 additions, 12 deletionsfs/cifs/smb2pdu.c
- fs/cifs/smb2transport.c 17 additions, 15 deletionsfs/cifs/smb2transport.c
- fs/cifs/transport.c 49 additions, 47 deletionsfs/cifs/transport.c
Loading
Please register or sign in to comment