[CIFS] Add extended stats (STATS2) for total buffer allocations for
better performance debugging. Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
Родитель
84afc29b18
Коммит
4498eed50a
|
@ -219,6 +219,10 @@ cifs_stats_write(struct file *file, const char __user *buffer,
|
|||
|
||||
if (c == '1' || c == 'y' || c == 'Y' || c == '0') {
|
||||
read_lock(&GlobalSMBSeslock);
|
||||
#ifdef CONFIG_CIFS_STATS2
|
||||
atomic_set(&totBufAllocCount, 0);
|
||||
atomic_set(&totSmBufAllocCount, 0);
|
||||
#endif /* CONFIG_CIFS_STATS2 */
|
||||
list_for_each(tmp, &GlobalTreeConnectionList) {
|
||||
tcon = list_entry(tmp, struct cifsTconInfo,
|
||||
cifsConnectionList);
|
||||
|
|
|
@ -954,6 +954,12 @@ init_cifs(void)
|
|||
atomic_set(&tconInfoReconnectCount, 0);
|
||||
|
||||
atomic_set(&bufAllocCount, 0);
|
||||
atomic_set(&smBufAllocCount, 0);
|
||||
#ifdef CONFIG_CIFS_STATS2
|
||||
atomic_set(&totBufAllocCount, 0);
|
||||
atomic_set(&totSmBufAllocCount, 0);
|
||||
#endif /* CONFIG_CIFS_STATS2 */
|
||||
|
||||
atomic_set(&midCount, 0);
|
||||
GlobalCurrentXid = 0;
|
||||
GlobalTotalActiveXid = 0;
|
||||
|
|
|
@ -505,8 +505,12 @@ GLOBAL_EXTERN atomic_t tcpSesReconnectCount;
|
|||
GLOBAL_EXTERN atomic_t tconInfoReconnectCount;
|
||||
|
||||
/* Various Debug counters to remove someday (BB) */
|
||||
GLOBAL_EXTERN atomic_t bufAllocCount;
|
||||
GLOBAL_EXTERN atomic_t smBufAllocCount;
|
||||
GLOBAL_EXTERN atomic_t bufAllocCount; /* current number allocated */
|
||||
#ifdef CONFIG_CIFS_STATS2
|
||||
GLOBAL_EXTERN atomic_t totBufAllocCount; /* total allocated over all time */
|
||||
GLOBAL_EXTERN atomic_t totSmBufAllocCount;
|
||||
#endif
|
||||
GLOBAL_EXTERN atomic_t smBufAllocCount;
|
||||
GLOBAL_EXTERN atomic_t midCount;
|
||||
|
||||
/* Misc globals */
|
||||
|
|
|
@ -161,6 +161,9 @@ cifs_buf_get(void)
|
|||
if (ret_buf) {
|
||||
memset(ret_buf, 0, sizeof(struct smb_hdr) + 3);
|
||||
atomic_inc(&bufAllocCount);
|
||||
#ifdef CONFIG_CIFS_STATS2
|
||||
atomic_inc(&totBufAllocCount);
|
||||
#endif /* CONFIG_CIFS_STATS2 */
|
||||
}
|
||||
|
||||
return ret_buf;
|
||||
|
@ -195,6 +198,10 @@ cifs_small_buf_get(void)
|
|||
/* No need to clear memory here, cleared in header assemble */
|
||||
/* memset(ret_buf, 0, sizeof(struct smb_hdr) + 27);*/
|
||||
atomic_inc(&smBufAllocCount);
|
||||
#ifdef CONFIG_CIFS_STATS2
|
||||
atomic_inc(&totSmBufAllocCount);
|
||||
#endif /* CONFIG_CIFS_STATS2 */
|
||||
|
||||
}
|
||||
return ret_buf;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче