git: 163c30c79398 - main - tcp rack: remove dead code
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 25 Feb 2025 20:48:03 UTC
The branch main has been updated by tuexen:
URL: https://cgit.FreeBSD.org/src/commit/?id=163c30c79398331106d1237af767a5aed54371a9
commit 163c30c79398331106d1237af767a5aed54371a9
Author: Peter Lei <peterlei@netflix.com>
AuthorDate: 2025-02-25 20:33:32 +0000
Commit: Michael Tuexen <tuexen@FreeBSD.org>
CommitDate: 2025-02-25 20:33:32 +0000
tcp rack: remove dead code
Reviewed by: tuexen
MFC after: 1 week
Sponsored by: Netflix, Inc.
---
sys/netinet/tcp_stacks/rack.c | 25 +------------------------
sys/netinet/tcp_stacks/tcp_rack.h | 32 --------------------------------
2 files changed, 1 insertion(+), 56 deletions(-)
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index 902845ad34f6..ab80ed9f4060 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -212,7 +212,6 @@ static uint32_t rack_highest_sack_thresh_seen = 0;
static uint32_t rack_highest_move_thresh_seen = 0;
static uint32_t rack_merge_out_sacks_on_attack = 0;
static int32_t rack_enable_hw_pacing = 0; /* Due to CCSP keep it off by default */
-static int32_t rack_hw_pace_extra_slots = 0; /* 2 extra MSS time betweens */
static int32_t rack_hw_rate_caps = 0; /* 1; */
static int32_t rack_hw_rate_cap_per = 0; /* 0 -- off */
static int32_t rack_hw_rate_min = 0; /* 1500000;*/
@@ -263,7 +262,7 @@ static int32_t rack_enobuf_hw_max = 12000; /* 12 ms in usecs */
static int32_t rack_enobuf_hw_min = 10000; /* 10 ms in usecs */
static int32_t rack_hw_rwnd_factor = 2; /* How many max_segs the rwnd must be before we hold off sending */
static int32_t rack_hw_check_queue = 0; /* Do we always pre-check queue depth of a hw queue */
-static int32_t rack_full_buffer_discount = 10;
+
/*
* Currently regular tcp has a rto_min of 30ms
* the backoff goes 12 times so that ends up
@@ -356,8 +355,6 @@ static int32_t rack_timely_dec_clear = 6; /* Do we clear decrement count at a va
static int32_t rack_timely_max_push_rise = 3; /* One round of pushing */
static int32_t rack_timely_max_push_drop = 3; /* Three round of pushing */
static int32_t rack_timely_min_segs = 4; /* 4 segment minimum */
-static int32_t rack_use_max_for_nobackoff = 0;
-static int32_t rack_timely_int_timely_only = 0; /* do interim timely's only use the timely algo (no b/w changes)? */
static int32_t rack_timely_no_stopping = 0;
static int32_t rack_down_raise_thresh = 100;
static int32_t rack_req_segs = 1;
@@ -1054,11 +1051,6 @@ rack_init_sysctls(void)
OID_AUTO, "no_timely", CTLFLAG_RW,
&rack_timely_off, 0,
"Do we not use timely in DGP?");
- SYSCTL_ADD_S32(&rack_sysctl_ctx,
- SYSCTL_CHILDREN(rack_pacing),
- OID_AUTO, "fullbufdisc", CTLFLAG_RW,
- &rack_full_buffer_discount, 10,
- "What percentage b/w reduction over the GP estimate for a full buffer (default=0 off)?");
SYSCTL_ADD_S32(&rack_sysctl_ctx,
SYSCTL_CHILDREN(rack_pacing),
OID_AUTO, "fillcw", CTLFLAG_RW,
@@ -1201,11 +1193,6 @@ rack_init_sysctls(void)
OID_AUTO, "up_only", CTLFLAG_RW,
&rack_hw_up_only, 0,
"Do we allow hw pacing to lower the rate selected?");
- SYSCTL_ADD_S32(&rack_sysctl_ctx,
- SYSCTL_CHILDREN(rack_hw_pacing),
- OID_AUTO, "extra_mss_precise", CTLFLAG_RW,
- &rack_hw_pace_extra_slots, 0,
- "If the rates between software and hardware match precisely how many extra time_betweens do we get?");
rack_timely = SYSCTL_ADD_NODE(&rack_sysctl_ctx,
SYSCTL_CHILDREN(rack_sysctl_root),
OID_AUTO,
@@ -1299,16 +1286,6 @@ rack_init_sysctls(void)
OID_AUTO, "min_segs", CTLFLAG_RW,
&rack_timely_min_segs, 4,
"Rack timely when setting the cwnd what is the min num segments");
- SYSCTL_ADD_S32(&rack_sysctl_ctx,
- SYSCTL_CHILDREN(rack_timely),
- OID_AUTO, "noback_max", CTLFLAG_RW,
- &rack_use_max_for_nobackoff, 0,
- "Rack timely when deciding if to backoff on a loss, do we use under max rtt else min");
- SYSCTL_ADD_S32(&rack_sysctl_ctx,
- SYSCTL_CHILDREN(rack_timely),
- OID_AUTO, "interim_timely_only", CTLFLAG_RW,
- &rack_timely_int_timely_only, 0,
- "Rack timely when doing interim timely's do we only do timely (no b/w consideration)");
SYSCTL_ADD_S32(&rack_sysctl_ctx,
SYSCTL_CHILDREN(rack_timely),
OID_AUTO, "nonstop", CTLFLAG_RW,
diff --git a/sys/netinet/tcp_stacks/tcp_rack.h b/sys/netinet/tcp_stacks/tcp_rack.h
index d7f36a520045..a6cb0a81bb81 100644
--- a/sys/netinet/tcp_stacks/tcp_rack.h
+++ b/sys/netinet/tcp_stacks/tcp_rack.h
@@ -435,7 +435,6 @@ struct rack_control {
uint32_t rc_rcvtime; /* When we last received data */
uint32_t rc_num_split_allocs; /* num split map entries allocated */
uint32_t rc_split_limit; /* Limit from control var can be set by socket opt */
- uint32_t rack_avg_rec_sends;
uint32_t rc_last_output_to;
uint32_t rc_went_idle_time;
@@ -462,7 +461,6 @@ struct rack_control {
uint32_t rc_agg_early;
uint32_t rc_agg_delayed;
uint32_t rc_tlp_rxt_last_time;
- uint32_t rc_saved_cwnd;
uint64_t rc_gp_output_ts; /* chg*/
uint64_t rc_gp_cumack_ts; /* chg*/
struct timeval act_rcv_time;
@@ -540,8 +538,6 @@ struct rack_control {
uint32_t rc_min_to; /* Socket option value Lock(a) */
uint32_t rc_pkt_delay; /* Socket option value Lock(a) */
uint32_t persist_lost_ends;
- uint32_t input_pkt;
- uint32_t saved_input_pkt;
uint32_t cleared_app_ack_seq;
uint32_t last_rcv_tstmp_for_rtt;
uint32_t last_time_of_arm_rcv;
@@ -572,11 +568,9 @@ struct rack_control {
uint8_t rc_tlp_cwnd_reduce; /* Socket option value Lock(a) */
uint8_t rc_prr_sendalot;/* Socket option value Lock(a) */
uint8_t rc_rate_sample_method;
- uint8_t full_dgp_in_rec; /* Flag to say if we do full DGP in recovery */
uint8_t client_suggested_maxseg; /* Not sure what to do with this yet */
uint8_t use_gp_not_last;
uint8_t pacing_method; /* If pace_always, what type of pacing */
- uint8_t already_had_a_excess;
};
#endif
@@ -584,27 +578,6 @@ struct rack_control {
#define RACK_DGP_PACING 0x01
#define RACK_REG_PACING 0x02
-/* DGP with no buffer level mitigations */
-#define DGP_LEVEL0 0
-
-/*
- * DGP with buffer level mitigation where BL:4 caps fillcw and BL:5
- * turns off fillcw.
- */
-#define DGP_LEVEL1 1
-
-/*
- * DGP with buffer level mitigation where BL:3 caps fillcw and BL:4 turns off fillcw
- * and BL:5 reduces by 10%
- */
-#define DGP_LEVEL2 2
-
-/*
- * DGP with buffer level mitigation where BL:2 caps fillcw and BL:3 turns off
- * fillcw BL:4 reduces by 10% and BL:5 reduces by 20%
- */
-#define DGP_LEVEL3 3
-
/* Hybrid pacing log defines */
#define HYBRID_LOG_NO_ROOM 0 /* No room for the clients request */
#define HYBRID_LOG_TURNED_OFF 1 /* Turned off hybrid pacing */
@@ -623,12 +596,7 @@ struct rack_control {
#define HYBRID_LOG_EXTEND 14 /* We extended the end */
#define HYBRID_LOG_SENT_LOST 15 /* A closing sent/lost report */
-#define LOST_ZERO 1 /* Zero it out */
-#define LOST_ADD 2 /* Add to it */
-#define LOST_SUB 3 /* Sub from it */
-
#define RACK_TIMELY_CNT_BOOST 5 /* At 5th increase boost */
-#define RACK_MINRTT_FILTER_TIM 10 /* Seconds */
#define RACK_HYSTART_OFF 0
#define RACK_HYSTART_ON 1 /* hystart++ on */