The branch main has been updated by tuexen:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=790d941880812146ec566cae0cc22ae831e25981

commit 790d941880812146ec566cae0cc22ae831e25981
Author:     Nick Banks <[email protected]>
AuthorDate: 2025-10-13 19:53:20 +0000
Commit:     Michael Tuexen <[email protected]>
CommitDate: 2025-10-13 19:53:20 +0000

    tcp: simplify tcp_hpts_insert signature
    
    Reviewed by:    tuexen
    Sponsored by:   Netflix, Inc.
---
 sys/netinet/tcp_hpts.c        | 19 ++++++++++---------
 sys/netinet/tcp_hpts.h        | 12 ++++++++----
 sys/netinet/tcp_stacks/bbr.c  | 11 ++++-------
 sys/netinet/tcp_stacks/rack.c | 17 ++++++-----------
 4 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c
index 63bbe4bba11b..e9b61b67b02c 100644
--- a/sys/netinet/tcp_hpts.c
+++ b/sys/netinet/tcp_hpts.c
@@ -45,7 +45,7 @@
  * one of the macros HPTS_MS_TO_SLOTS or HPTS_USEC_TO_SLOTS. So a typical
  * call from the tcp_output() routine might look like:
  *
- * tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(550));
+ * tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(550), NULL);
  *
  * The above would schedule tcp_output() to be called in 550 useconds.
  * Note that if using this mechanism the stack will want to add near
@@ -855,12 +855,17 @@ check_if_slot_would_be_wrong(struct tcp_hpts_entry *hpts, 
struct tcpcb *tp,
 }
 #endif
 
-uint32_t
-tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct 
hpts_diag *diag)
+void
+#ifdef INVARIANTS
+__tcp_hpts_insert(struct tcpcb *tp, uint32_t slot, int32_t line,
+       struct hpts_diag *diag)
+#else
+tcp_hpts_insert(struct tcpcb *tp, uint32_t slot, struct hpts_diag *diag)
+#endif
 {
        struct tcp_hpts_entry *hpts;
        struct timeval tv;
-       uint32_t slot_on, wheel_cts, last_slot, need_new_to = 0;
+       uint32_t wheel_cts, last_slot, need_new_to = 0;
        int32_t wheel_slot, maxslots;
        bool need_wakeup = false;
 
@@ -912,10 +917,9 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, 
int32_t line, struct hpts_
                        hpts->p_direct_wake = 1;
                        tcp_wakehpts(hpts);
                }
-               slot_on = hpts->p_nxt_slot;
                HPTS_UNLOCK(hpts);
 
-               return (slot_on);
+               return;
        }
        /* Get the current time relative to the wheel */
        wheel_cts = tcp_tv_to_hpts_slot(&tv);
@@ -1026,10 +1030,7 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, 
int32_t line, struct hpts_
                        diag->co_ret = co_ret;
                }
        }
-       slot_on = hpts->p_nxt_slot;
        HPTS_UNLOCK(hpts);
-
-       return (slot_on);
 }
 
 static uint16_t
diff --git a/sys/netinet/tcp_hpts.h b/sys/netinet/tcp_hpts.h
index 6172baf2a062..b9252f1ba3bf 100644
--- a/sys/netinet/tcp_hpts.h
+++ b/sys/netinet/tcp_hpts.h
@@ -132,10 +132,14 @@ tcp_in_hpts(struct tcpcb *tp)
  * that INP_WLOCK() or from destroying your TCB where again
  * you should already have the INP_WLOCK().
  */
-uint32_t tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line,
-    struct hpts_diag *diag);
-#define        tcp_hpts_insert(inp, slot)      \
-       tcp_hpts_insert_diag((inp), (slot), __LINE__, NULL)
+#ifdef INVARIANTS
+void __tcp_hpts_insert(struct tcpcb *tp, uint32_t slot, int32_t line,
+       struct hpts_diag *diag);
+#define        tcp_hpts_insert(tp, slot, diag) \
+       __tcp_hpts_insert((tp), (slot), __LINE__, (diag))
+#else
+void tcp_hpts_insert(struct tcpcb *tp, uint32_t slot, struct hpts_diag *diag);
+#endif
 
 void tcp_set_hpts(struct tcpcb *tp);
 
diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c
index f2d7867df9b4..0173e2fd4881 100644
--- a/sys/netinet/tcp_stacks/bbr.c
+++ b/sys/netinet/tcp_stacks/bbr.c
@@ -900,15 +900,13 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb 
*tp, uint32_t cts, int32_
                        tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE;
                bbr->rc_pacer_started = cts;
 
-               (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot),
-                                          __LINE__, &diag);
+               tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(slot), &diag);
                bbr->rc_timer_first = 0;
                bbr->bbr_timer_src = frm;
                bbr_log_to_start(bbr, cts, hpts_timeout, slot, 1);
                bbr_log_hpts_diag(bbr, cts, &diag);
        } else if (hpts_timeout) {
-               (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(hpts_timeout),
-                                          __LINE__, &diag);
+               tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(hpts_timeout), &diag);
                /*
                 * We add the flag here as well if the slot is set,
                 * since hpts will call in to clear the queue first before
@@ -5205,7 +5203,7 @@ bbr_process_timers(struct tcpcb *tp, struct tcp_bbr *bbr, 
uint32_t cts, uint8_t
                left = bbr->r_ctl.rc_timer_exp - cts;
                ret = -3;
                bbr_log_to_processing(bbr, cts, ret, left, hpts_calling);
-               tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(left));
+               tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(left), NULL);
                return (1);
        }
        bbr->rc_tmr_stopped = 0;
@@ -14132,8 +14130,7 @@ bbr_switch_failed(struct tcpcb *tp)
                }
        } else
                toval = HPTS_USECS_PER_SLOT;
-       (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(toval),
-                                  __LINE__, &diag);
+       tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(toval), &diag);
        bbr_log_hpts_diag(bbr, cts, &diag);
 }
 
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index 11ef5ba706c5..a31b2d87739c 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -6804,13 +6804,11 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct 
tcpcb *tp, uint32_t cts,
                         * Arrange for the hpts to kick back in after the
                         * t-o if the t-o does not cause a send.
                         */
-                       (void)tcp_hpts_insert_diag(tp, 
HPTS_USEC_TO_SLOTS(hpts_timeout),
-                                                  __LINE__, &diag);
+                       tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(hpts_timeout), 
&diag);
                        rack_log_hpts_diag(rack, us_cts, &diag, &tv);
                        rack_log_to_start(rack, cts, hpts_timeout, slot, 0);
                } else {
-                       (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot),
-                                                  __LINE__, &diag);
+                       tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(slot), &diag);
                        rack_log_hpts_diag(rack, us_cts, &diag, &tv);
                        rack_log_to_start(rack, cts, hpts_timeout, slot, 1);
                }
@@ -6824,8 +6822,7 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct 
tcpcb *tp, uint32_t cts,
                 * at the start of this block) are good enough.
                 */
                rack->r_ctl.rc_hpts_flags &= ~PACE_PKT_OUTPUT;
-               (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(hpts_timeout),
-                                          __LINE__, &diag);
+               tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(hpts_timeout), &diag);
                rack_log_hpts_diag(rack, us_cts, &diag, &tv);
                rack_log_to_start(rack, cts, hpts_timeout, slot, 0);
        } else {
@@ -8016,7 +8013,7 @@ rack_process_timers(struct tcpcb *tp, struct tcp_rack 
*rack, uint32_t cts, uint8
                rack->rc_tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE;
                ret = -3;
                left = rack->r_ctl.rc_timer_exp - cts;
-               tcp_hpts_insert(tp, HPTS_MS_TO_SLOTS(left));
+               tcp_hpts_insert(tp, HPTS_MS_TO_SLOTS(left), NULL);
                rack_log_to_processing(rack, cts, ret, left);
                return (1);
        }
@@ -14377,8 +14374,7 @@ rack_switch_failed(struct tcpcb *tp)
                }
        } else
                toval = HPTS_USECS_PER_SLOT;
-       (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(toval),
-                                  __LINE__, &diag);
+       tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(toval), &diag);
        rack_log_hpts_diag(rack, cts, &diag, &tv);
 }
 
@@ -14973,8 +14969,7 @@ rack_init(struct tcpcb *tp, void **ptr)
                                if (tov) {
                                        struct hpts_diag diag;
 
-                                       (void)tcp_hpts_insert_diag(tp, 
HPTS_USEC_TO_SLOTS(tov),
-                                                                  __LINE__, 
&diag);
+                                       tcp_hpts_insert(tp, 
HPTS_USEC_TO_SLOTS(tov), &diag);
                                        rack_log_hpts_diag(rack, us_cts, &diag, 
&rack->r_ctl.act_rcv_time);
                                }
                        }

Reply via email to