From 643c285c20abab5dadaa5c1929d978b725911b5d Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 26 Mar 2022 19:02:17 +0100 Subject: lib: Move timerwheel processing to its own thread This is the first step moving away from scheduling the FRCT and flow monitoring functions as part of the IPC calls (flow_read / flow_write / fevent) and towards the more scalable (and far less complicated) implementation to take care of these functions in separate threads. If a process creates the first flow that requires FRCT, it will spin up a thread to process events on the timerwheel (retransmissions and delayed ACKs). This single thread lives until the last flow with FRCT is deallocated. Signed-off-by: Dimitri Staessens Signed-off-by: Sander Vrijders --- src/lib/frct.c | 8 -------- 1 file changed, 8 deletions(-) (limited to 'src/lib/frct.c') diff --git a/src/lib/frct.c b/src/lib/frct.c index a93a1006..2d31e6f2 100644 --- a/src/lib/frct.c +++ b/src/lib/frct.c @@ -467,9 +467,6 @@ static void frcti_setflags(struct frcti * frcti, #define frcti_rcv(frcti, sdb) \ (frcti == NULL ? 0 : __frcti_rcv(frcti, sdb)) -#define frcti_tick(frcti) \ - (frcti == NULL ? 0 : __frcti_tick()) - #define frcti_dealloc(frcti) \ (frcti == NULL ? 0 : __frcti_dealloc(frcti)) @@ -769,11 +766,6 @@ static void rtt_estimator(struct frcti * frcti, frcti->rto = MAX(RTO_MIN, frcti->srtt + (frcti->mdev << 2)); } -static void __frcti_tick(void) -{ - timerwheel_move(); -} - /* Always queues the next application packet on the RQ. */ static void __frcti_rcv(struct frcti * frcti, struct shm_du_buff * sdb) -- cgit v1.2.3