Optimize packet I/O and timeouts
- Introduce per-thread I/O statistics for packet I/O to reduce performance overhead. - Implement packet_io_yield() for better thread management during I/O operations. - Refactor time wheel management: - Replace timeouts-based cron tasks with (now_ts - last_ts > timeout) for scheduled tasks. - Update the time wheel every 5 ms for improved time management.
This commit is contained in:
@@ -94,8 +94,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -113,8 +112,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -173,8 +171,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -192,8 +189,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -263,8 +259,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -282,8 +277,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -364,8 +358,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -383,8 +376,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -461,8 +453,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -480,8 +471,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -559,8 +549,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -578,8 +567,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -649,8 +637,7 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -668,8 +655,7 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
@@ -739,8 +725,7 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC)
|
||||
session_print(sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 1);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 1);
|
||||
@@ -758,8 +743,7 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC)
|
||||
session_manager_free_session(mgr, sess);
|
||||
|
||||
// check stat
|
||||
session_manager_print_stat(mgr);
|
||||
stat = session_manager_get_stat(mgr);
|
||||
stat = session_manager_stat(mgr);
|
||||
EXPECT_TRUE(stat);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_used == 0);
|
||||
EXPECT_TRUE(stat->nr_tcp_sess_opening == 0);
|
||||
|
||||
Reference in New Issue
Block a user