Loading lib/iscsi/conn.c +10 −11 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ #include <rte_config.h> #include <rte_mempool.h> #include <rte_cycles.h> #include <rte_timer.h> #include "spdk/endian.h" #include "spdk/event.h" Loading Loading @@ -391,8 +390,8 @@ error_return: return -1; } conn->is_idle = 0; rte_timer_init(&conn->logout_timer); rte_timer_init(&conn->shutdown_timer); conn->logout_timer = NULL; conn->shutdown_timer = NULL; SPDK_NOTICELOG("Launching connection on acceptor thread\n"); conn->last_activity_tsc = rte_get_timer_cycles(); conn->pending_task_cnt = 0; Loading Loading @@ -551,7 +550,7 @@ _spdk_iscsi_conn_free(spdk_event_t event) } static void _spdk_iscsi_conn_check_shutdown(struct rte_timer *timer, void *arg) _spdk_iscsi_conn_check_shutdown(void *arg) { struct spdk_iscsi_conn *conn = arg; int rc; Loading @@ -561,7 +560,7 @@ _spdk_iscsi_conn_check_shutdown(struct rte_timer *timer, void *arg) return; } rte_timer_stop(timer); spdk_poller_unregister(&conn->shutdown_timer, NULL); spdk_iscsi_conn_stop_poller(conn, _spdk_iscsi_conn_free, spdk_app_get_current_core()); } Loading @@ -582,13 +581,13 @@ void spdk_iscsi_conn_destruct(struct spdk_iscsi_conn *conn) spdk_clear_all_transfer_task(conn, NULL); spdk_sock_close(conn->sock); rte_timer_stop_sync(&conn->logout_timer); spdk_poller_unregister(&conn->logout_timer, NULL); rc = spdk_iscsi_conn_free_tasks(conn); if (rc < 0) { /* The connection cannot be freed yet. Check back later. */ rte_timer_reset(&conn->shutdown_timer, rte_get_timer_hz() / 1000, PERIODICAL, rte_lcore_id(), _spdk_iscsi_conn_check_shutdown, conn); spdk_poller_register(&conn->shutdown_timer, _spdk_iscsi_conn_check_shutdown, conn, spdk_app_get_current_core(), NULL, 1000); } else { spdk_iscsi_conn_stop_poller(conn, _spdk_iscsi_conn_free, spdk_app_get_current_core()); } Loading Loading @@ -1483,7 +1482,7 @@ spdk_iscsi_conn_allocate_reactor(uint64_t cpumask) } static void logout_timeout(struct rte_timer *timer, void *arg) logout_timeout(void *arg) { struct spdk_iscsi_conn *conn = arg; Loading @@ -1494,8 +1493,8 @@ void spdk_iscsi_conn_logout(struct spdk_iscsi_conn *conn) { conn->state = ISCSI_CONN_STATE_LOGGED_OUT; rte_timer_reset(&conn->logout_timer, rte_get_timer_hz() * ISCSI_LOGOUT_TIMEOUT, SINGLE, rte_lcore_id(), logout_timeout, conn); spdk_poller_register(&conn->logout_timer, logout_timeout, conn, spdk_app_get_current_core(), NULL, ISCSI_LOGOUT_TIMEOUT * 1000000); } SPDK_TRACE_REGISTER_FN(iscsi_conn_trace) Loading lib/iscsi/conn.h +2 −4 Original line number Diff line number Diff line Loading @@ -38,8 +38,6 @@ #include <stdbool.h> #include <stdint.h> #include <rte_timer.h> #include "iscsi/iscsi.h" #include "spdk/queue.h" #include "spdk/event.h" Loading Loading @@ -94,11 +92,11 @@ struct spdk_iscsi_conn { /* Timer used to destroy connection after logout if initiator does * not close the connection. */ struct rte_timer logout_timer; struct spdk_poller *logout_timer; /* Timer used to wait for connection to close */ struct rte_timer shutdown_timer; struct spdk_poller *shutdown_timer; struct spdk_iscsi_pdu *pdu_in_progress; Loading Loading
lib/iscsi/conn.c +10 −11 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ #include <rte_config.h> #include <rte_mempool.h> #include <rte_cycles.h> #include <rte_timer.h> #include "spdk/endian.h" #include "spdk/event.h" Loading Loading @@ -391,8 +390,8 @@ error_return: return -1; } conn->is_idle = 0; rte_timer_init(&conn->logout_timer); rte_timer_init(&conn->shutdown_timer); conn->logout_timer = NULL; conn->shutdown_timer = NULL; SPDK_NOTICELOG("Launching connection on acceptor thread\n"); conn->last_activity_tsc = rte_get_timer_cycles(); conn->pending_task_cnt = 0; Loading Loading @@ -551,7 +550,7 @@ _spdk_iscsi_conn_free(spdk_event_t event) } static void _spdk_iscsi_conn_check_shutdown(struct rte_timer *timer, void *arg) _spdk_iscsi_conn_check_shutdown(void *arg) { struct spdk_iscsi_conn *conn = arg; int rc; Loading @@ -561,7 +560,7 @@ _spdk_iscsi_conn_check_shutdown(struct rte_timer *timer, void *arg) return; } rte_timer_stop(timer); spdk_poller_unregister(&conn->shutdown_timer, NULL); spdk_iscsi_conn_stop_poller(conn, _spdk_iscsi_conn_free, spdk_app_get_current_core()); } Loading @@ -582,13 +581,13 @@ void spdk_iscsi_conn_destruct(struct spdk_iscsi_conn *conn) spdk_clear_all_transfer_task(conn, NULL); spdk_sock_close(conn->sock); rte_timer_stop_sync(&conn->logout_timer); spdk_poller_unregister(&conn->logout_timer, NULL); rc = spdk_iscsi_conn_free_tasks(conn); if (rc < 0) { /* The connection cannot be freed yet. Check back later. */ rte_timer_reset(&conn->shutdown_timer, rte_get_timer_hz() / 1000, PERIODICAL, rte_lcore_id(), _spdk_iscsi_conn_check_shutdown, conn); spdk_poller_register(&conn->shutdown_timer, _spdk_iscsi_conn_check_shutdown, conn, spdk_app_get_current_core(), NULL, 1000); } else { spdk_iscsi_conn_stop_poller(conn, _spdk_iscsi_conn_free, spdk_app_get_current_core()); } Loading Loading @@ -1483,7 +1482,7 @@ spdk_iscsi_conn_allocate_reactor(uint64_t cpumask) } static void logout_timeout(struct rte_timer *timer, void *arg) logout_timeout(void *arg) { struct spdk_iscsi_conn *conn = arg; Loading @@ -1494,8 +1493,8 @@ void spdk_iscsi_conn_logout(struct spdk_iscsi_conn *conn) { conn->state = ISCSI_CONN_STATE_LOGGED_OUT; rte_timer_reset(&conn->logout_timer, rte_get_timer_hz() * ISCSI_LOGOUT_TIMEOUT, SINGLE, rte_lcore_id(), logout_timeout, conn); spdk_poller_register(&conn->logout_timer, logout_timeout, conn, spdk_app_get_current_core(), NULL, ISCSI_LOGOUT_TIMEOUT * 1000000); } SPDK_TRACE_REGISTER_FN(iscsi_conn_trace) Loading
lib/iscsi/conn.h +2 −4 Original line number Diff line number Diff line Loading @@ -38,8 +38,6 @@ #include <stdbool.h> #include <stdint.h> #include <rte_timer.h> #include "iscsi/iscsi.h" #include "spdk/queue.h" #include "spdk/event.h" Loading Loading @@ -94,11 +92,11 @@ struct spdk_iscsi_conn { /* Timer used to destroy connection after logout if initiator does * not close the connection. */ struct rte_timer logout_timer; struct spdk_poller *logout_timer; /* Timer used to wait for connection to close */ struct rte_timer shutdown_timer; struct spdk_poller *shutdown_timer; struct spdk_iscsi_pdu *pdu_in_progress; Loading