aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/iscsi/iscsi_target_stat.c
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2013-11-13 21:54:45 -0500
committerNicholas Bellinger <nab@linux-iscsi.org>2013-11-20 00:38:52 -0500
commit04f3b31bff720f01d684100c868c88f67ced8dc8 (patch)
treed9b5fac82a5e6c23b98f33c64901affa37bbfd67 /drivers/target/iscsi/iscsi_target_stat.c
parentee480683d975973e3ff679850871e00e011c4a96 (diff)
iscsi-target: Convert iscsi_session statistics to atomic_long_t
This patch converts a handful of iscsi_session statistics to type atomic_long_t, instead of using iscsi_session->session_stats_lock when incrementing these values. More importantly, go ahead and drop the spinlock usage within iscsit_setup_scsi_cmd(), iscsit_check_dataout_hdr(), iscsit_send_datain(), and iscsit_build_rsp_pdu() fast-path code. (Squash in Roland's target: Remove write-only stats fields and lock from struct se_node_acl) Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/iscsi/iscsi_target_stat.c')
-rw-r--r--drivers/target/iscsi/iscsi_target_stat.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/target/iscsi/iscsi_target_stat.c b/drivers/target/iscsi/iscsi_target_stat.c
index f788e8b5e855..103395510307 100644
--- a/drivers/target/iscsi/iscsi_target_stat.c
+++ b/drivers/target/iscsi/iscsi_target_stat.c
@@ -792,7 +792,8 @@ static ssize_t iscsi_stat_sess_show_attr_cmd_pdus(
792 if (se_sess) { 792 if (se_sess) {
793 sess = se_sess->fabric_sess_ptr; 793 sess = se_sess->fabric_sess_ptr;
794 if (sess) 794 if (sess)
795 ret = snprintf(page, PAGE_SIZE, "%u\n", sess->cmd_pdus); 795 ret = snprintf(page, PAGE_SIZE, "%lu\n",
796 atomic_long_read(&sess->cmd_pdus));
796 } 797 }
797 spin_unlock_bh(&se_nacl->nacl_sess_lock); 798 spin_unlock_bh(&se_nacl->nacl_sess_lock);
798 799
@@ -815,7 +816,8 @@ static ssize_t iscsi_stat_sess_show_attr_rsp_pdus(
815 if (se_sess) { 816 if (se_sess) {
816 sess = se_sess->fabric_sess_ptr; 817 sess = se_sess->fabric_sess_ptr;
817 if (sess) 818 if (sess)
818 ret = snprintf(page, PAGE_SIZE, "%u\n", sess->rsp_pdus); 819 ret = snprintf(page, PAGE_SIZE, "%lu\n",
820 atomic_long_read(&sess->rsp_pdus));
819 } 821 }
820 spin_unlock_bh(&se_nacl->nacl_sess_lock); 822 spin_unlock_bh(&se_nacl->nacl_sess_lock);
821 823
@@ -838,8 +840,8 @@ static ssize_t iscsi_stat_sess_show_attr_txdata_octs(
838 if (se_sess) { 840 if (se_sess) {
839 sess = se_sess->fabric_sess_ptr; 841 sess = se_sess->fabric_sess_ptr;
840 if (sess) 842 if (sess)
841 ret = snprintf(page, PAGE_SIZE, "%llu\n", 843 ret = snprintf(page, PAGE_SIZE, "%lu\n",
842 (unsigned long long)sess->tx_data_octets); 844 atomic_long_read(&sess->tx_data_octets));
843 } 845 }
844 spin_unlock_bh(&se_nacl->nacl_sess_lock); 846 spin_unlock_bh(&se_nacl->nacl_sess_lock);
845 847
@@ -862,8 +864,8 @@ static ssize_t iscsi_stat_sess_show_attr_rxdata_octs(
862 if (se_sess) { 864 if (se_sess) {
863 sess = se_sess->fabric_sess_ptr; 865 sess = se_sess->fabric_sess_ptr;
864 if (sess) 866 if (sess)
865 ret = snprintf(page, PAGE_SIZE, "%llu\n", 867 ret = snprintf(page, PAGE_SIZE, "%lu\n",
866 (unsigned long long)sess->rx_data_octets); 868 atomic_long_read(&sess->rx_data_octets));
867 } 869 }
868 spin_unlock_bh(&se_nacl->nacl_sess_lock); 870 spin_unlock_bh(&se_nacl->nacl_sess_lock);
869 871
@@ -886,8 +888,8 @@ static ssize_t iscsi_stat_sess_show_attr_conn_digest_errors(
886 if (se_sess) { 888 if (se_sess) {
887 sess = se_sess->fabric_sess_ptr; 889 sess = se_sess->fabric_sess_ptr;
888 if (sess) 890 if (sess)
889 ret = snprintf(page, PAGE_SIZE, "%u\n", 891 ret = snprintf(page, PAGE_SIZE, "%lu\n",
890 sess->conn_digest_errors); 892 atomic_long_read(&sess->conn_digest_errors));
891 } 893 }
892 spin_unlock_bh(&se_nacl->nacl_sess_lock); 894 spin_unlock_bh(&se_nacl->nacl_sess_lock);
893 895
@@ -910,8 +912,8 @@ static ssize_t iscsi_stat_sess_show_attr_conn_timeout_errors(
910 if (se_sess) { 912 if (se_sess) {
911 sess = se_sess->fabric_sess_ptr; 913 sess = se_sess->fabric_sess_ptr;
912 if (sess) 914 if (sess)
913 ret = snprintf(page, PAGE_SIZE, "%u\n", 915 ret = snprintf(page, PAGE_SIZE, "%lu\n",
914 sess->conn_timeout_errors); 916 atomic_long_read(&sess->conn_timeout_errors));
915 } 917 }
916 spin_unlock_bh(&se_nacl->nacl_sess_lock); 918 spin_unlock_bh(&se_nacl->nacl_sess_lock);
917 919