cifs: simple stats should always be enabled
authorSteve French <stfrench@microsoft.com>
Tue, 31 Jul 2018 06:21:37 +0000 (01:21 -0500)
committerSteve French <stfrench@microsoft.com>
Tue, 7 Aug 2018 19:20:22 +0000 (14:20 -0500)
CONFIG_CIFS_STATS should always be enabled as Pavel recently
noted.  Simple statistics are not a significant performance hit,
and removing the ifdef simplifies the code slightly.

Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Ronnie Sahlberg <lsahlber@redhat.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
fs/cifs/Kconfig
fs/cifs/cifs_debug.c
fs/cifs/cifsglob.h
fs/cifs/misc.c
fs/cifs/smb1ops.c
fs/cifs/smb2ops.c
fs/cifs/smb2pdu.c

index 63d0d852998ac23733aec1f868623997fde05469..35c83fe7dba0115007a344821d0a4d5dfcbbd23d 100644 (file)
@@ -49,16 +49,9 @@ config CIFS
 
          If you need to mount to Samba, Azure, Macs or Windows from this machine, say Y.
 
-config CIFS_STATS
-        bool "CIFS statistics"
-        depends on CIFS
-        help
-          Enabling this option will cause statistics for each server share
-         mounted by the cifs client to be displayed in /proc/fs/cifs/Stats
-
 config CIFS_STATS2
        bool "Extended statistics"
-       depends on CIFS_STATS
+       depends on CIFS
        help
          Enabling this option will allow more detailed statistics on SMB
          request timing to be displayed in /proc/fs/cifs/DebugData and also
index cb516c9504381cca3e334036f9a282a1023d9e81..3270d9b746030758cef1998a47677e25d915cab3 100644 (file)
@@ -365,7 +365,6 @@ skip_rdma:
        return 0;
 }
 
-#ifdef CONFIG_CIFS_STATS
 static ssize_t cifs_stats_proc_write(struct file *file,
                const char __user *buffer, size_t count, loff_t *ppos)
 {
@@ -481,7 +480,6 @@ static const struct file_operations cifs_stats_proc_fops = {
        .release        = single_release,
        .write          = cifs_stats_proc_write,
 };
-#endif /* STATS */
 
 #ifdef CONFIG_CIFS_SMB_DIRECT
 #define PROC_FILE_DEFINE(name) \
@@ -539,9 +537,7 @@ cifs_proc_init(void)
        proc_create_single("DebugData", 0, proc_fs_cifs,
                        cifs_debug_data_proc_show);
 
-#ifdef CONFIG_CIFS_STATS
        proc_create("Stats", 0644, proc_fs_cifs, &cifs_stats_proc_fops);
-#endif /* STATS */
        proc_create("cifsFYI", 0644, proc_fs_cifs, &cifsFYI_proc_fops);
        proc_create("traceSMB", 0644, proc_fs_cifs, &traceSMB_proc_fops);
        proc_create("LinuxExtensionsEnabled", 0644, proc_fs_cifs,
@@ -579,9 +575,7 @@ cifs_proc_clean(void)
        remove_proc_entry("DebugData", proc_fs_cifs);
        remove_proc_entry("cifsFYI", proc_fs_cifs);
        remove_proc_entry("traceSMB", proc_fs_cifs);
-#ifdef CONFIG_CIFS_STATS
        remove_proc_entry("Stats", proc_fs_cifs);
-#endif
        remove_proc_entry("SecurityFlags", proc_fs_cifs);
        remove_proc_entry("LinuxExtensionsEnabled", proc_fs_cifs);
        remove_proc_entry("LookupCacheEnabled", proc_fs_cifs);
index 0e6fd5fa4eb66efc1cc3e073a6166d49140bd951..4a3a737134eab929755a91aa814db03200aecbb4 100644 (file)
@@ -931,7 +931,6 @@ struct cifs_tcon {
        __u32 tid;              /* The 4 byte tree id */
        __u16 Flags;            /* optional support bits */
        enum statusEnum tidStatus;
-#ifdef CONFIG_CIFS_STATS
        atomic_t num_smbs_sent;
        union {
                struct {
@@ -965,7 +964,6 @@ struct cifs_tcon {
        __u64    bytes_read;
        __u64    bytes_written;
        spinlock_t stat_lock;  /* protects the two fields above */
-#endif /* CONFIG_CIFS_STATS */
        FILE_SYSTEM_DEVICE_INFO fsDevInfo;
        FILE_SYSTEM_ATTRIBUTE_INFO fsAttrInfo; /* ok if fs name truncated */
        FILE_SYSTEM_UNIX_INFO fsUnixInfo;
@@ -1331,7 +1329,6 @@ convert_delimiter(char *path, char delim)
                *pos = delim;
 }
 
-#ifdef CONFIG_CIFS_STATS
 #define cifs_stats_inc atomic_inc
 
 static inline void cifs_stats_bytes_written(struct cifs_tcon *tcon,
@@ -1351,13 +1348,6 @@ static inline void cifs_stats_bytes_read(struct cifs_tcon *tcon,
        tcon->bytes_read += bytes;
        spin_unlock(&tcon->stat_lock);
 }
-#else
-
-#define  cifs_stats_inc(field) do {} while (0)
-#define  cifs_stats_bytes_written(tcon, bytes) do {} while (0)
-#define  cifs_stats_bytes_read(tcon, bytes) do {} while (0)
-
-#endif
 
 
 /*
index 53e8362cbc4a953218d3fbd50f1c7133e5435cc9..dacb2c05674c5d7f11f7c4c9144646a95039d106 100644 (file)
@@ -122,9 +122,7 @@ tconInfoAlloc(void)
                mutex_init(&ret_buf->crfid.fid_mutex);
                ret_buf->crfid.fid = kzalloc(sizeof(struct cifs_fid),
                                             GFP_KERNEL);
-#ifdef CONFIG_CIFS_STATS
                spin_lock_init(&ret_buf->stat_lock);
-#endif
        }
        return ret_buf;
 }
index 646dcd149de1e368baebac10a940a70a095ef479..378151e09e91d1928556bc87cf1f0df586d9f546 100644 (file)
@@ -624,7 +624,6 @@ cifs_query_file_info(const unsigned int xid, struct cifs_tcon *tcon,
 static void
 cifs_clear_stats(struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        atomic_set(&tcon->stats.cifs_stats.num_writes, 0);
        atomic_set(&tcon->stats.cifs_stats.num_reads, 0);
        atomic_set(&tcon->stats.cifs_stats.num_flushes, 0);
@@ -646,13 +645,11 @@ cifs_clear_stats(struct cifs_tcon *tcon)
        atomic_set(&tcon->stats.cifs_stats.num_locks, 0);
        atomic_set(&tcon->stats.cifs_stats.num_acl_get, 0);
        atomic_set(&tcon->stats.cifs_stats.num_acl_set, 0);
-#endif
 }
 
 static void
 cifs_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        seq_printf(m, " Oplocks breaks: %d",
                   atomic_read(&tcon->stats.cifs_stats.num_oplock_brks));
        seq_printf(m, "\nReads:  %d Bytes: %llu",
@@ -684,7 +681,6 @@ cifs_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
                   atomic_read(&tcon->stats.cifs_stats.num_ffirst),
                   atomic_read(&tcon->stats.cifs_stats.num_fnext),
                   atomic_read(&tcon->stats.cifs_stats.num_fclose));
-#endif
 }
 
 static void
index 8929426ddaa67fc43b8da2132217e1953181a73a..831249001384a6c1b6dd1585759805fe86df4f2c 100644 (file)
@@ -900,13 +900,11 @@ smb2_can_echo(struct TCP_Server_Info *server)
 static void
 smb2_clear_stats(struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        int i;
        for (i = 0; i < NUMBER_OF_SMB2_COMMANDS; i++) {
                atomic_set(&tcon->stats.smb2_stats.smb2_com_sent[i], 0);
                atomic_set(&tcon->stats.smb2_stats.smb2_com_failed[i], 0);
        }
-#endif
 }
 
 static void
@@ -945,7 +943,6 @@ smb2_dump_share_caps(struct seq_file *m, struct cifs_tcon *tcon)
 static void
 smb2_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        atomic_t *sent = tcon->stats.smb2_stats.smb2_com_sent;
        atomic_t *failed = tcon->stats.smb2_stats.smb2_com_failed;
 
@@ -995,7 +992,6 @@ smb2_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
        seq_printf(m, "\nOplockBreaks: %d sent %d failed",
                   atomic_read(&sent[SMB2_OPLOCK_BREAK_HE]),
                   atomic_read(&failed[SMB2_OPLOCK_BREAK_HE]));
-#endif
 }
 
 static void
index 0b4d7ebb812da7e70e8392c218e3e2e31604e3df..7c0b30321d9a704de922d9c2742d4ad1e59e3be3 100644 (file)
@@ -360,10 +360,8 @@ smb2_plain_req_init(__le16 smb2_command, struct cifs_tcon *tcon,
                       total_len);
 
        if (tcon != NULL) {
-#ifdef CONFIG_CIFS_STATS
                uint16_t com_code = le16_to_cpu(smb2_command);
                cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_sent[com_code]);
-#endif
                cifs_stats_inc(&tcon->num_smbs_sent);
        }