From 6080e0d15e152e38811b01306eef6719a682c007 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 13 Mar 2020 20:39:43 +0000 Subject: tcp: force deschedule if no send space available Type: improvement Signed-off-by: Florin Coras Change-Id: Iae9f118f710153b6c0e390265039db7434e67ed8 --- src/vnet/tcp/tcp.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/vnet/tcp/tcp.h') diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h index 8fa9013e31a..4db6040ae64 100644 --- a/src/vnet/tcp/tcp.h +++ b/src/vnet/tcp/tcp.h @@ -1036,6 +1036,12 @@ tcp_available_cc_snd_space (const tcp_connection_t * tc) return available_wnd - flight_size; } +static inline u8 +tcp_is_descheduled (tcp_connection_t * tc) +{ + return (transport_connection_is_descheduled (&tc->connection) ? 1 : 0); +} + always_inline u8 tcp_is_lost_fin (tcp_connection_t * tc) { @@ -1046,6 +1052,7 @@ tcp_is_lost_fin (tcp_connection_t * tc) u32 tcp_snd_space (tcp_connection_t * tc); int tcp_fastrecovery_prr_snd_space (tcp_connection_t * tc); +void tcp_reschedule (tcp_connection_t * tc); fib_node_index_t tcp_lookup_rmt_in_fib (tcp_connection_t * tc); @@ -1244,8 +1251,6 @@ tcp_persist_timer_update (tcp_connection_t * tc) always_inline void tcp_persist_timer_reset (tcp_connection_t * tc) { - if (transport_connection_is_descheduled (&tc->connection)) - transport_connection_reschedule (&tc->connection); tcp_timer_reset (tc, TCP_TIMER_PERSIST); } -- cgit 1.2.3-korg