From: Willy Tarreau Date: Thu, 8 Sep 2022 13:12:59 +0000 (+0200) Subject: DEBUG: quic: export the few task handlers that often appear in task dumps X-Git-Tag: v2.7-dev6~70 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=41e701e2c1aeafa3199753b44df99194b5594bd6;p=thirdparty%2Fhaproxy.git DEBUG: quic: export the few task handlers that often appear in task dumps The following task/tasklet handlers often appear in "show profiling tasks" but were not resolved since static: qc_io_cb, quic_conn_app_io_cb, process_timer, quic_accept_run, qc_idle_timer_task This commit simply exports them so they can be resolved now. "process_timer" which was a bit too generic and renamed to qc_process_timer. --- diff --git a/src/mux_quic.c b/src/mux_quic.c index c93a41500f..a8ebe2be43 100644 --- a/src/mux_quic.c +++ b/src/mux_quic.c @@ -1854,7 +1854,7 @@ static void qc_release(struct qcc *qcc) TRACE_LEAVE(QMUX_EV_QCC_END); } -static struct task *qc_io_cb(struct task *t, void *ctx, unsigned int status) +struct task *qc_io_cb(struct task *t, void *ctx, unsigned int status) { struct qcc *qcc = ctx; diff --git a/src/quic_sock.c b/src/quic_sock.c index 8d19756871..1fabc1b003 100644 --- a/src/quic_sock.c +++ b/src/quic_sock.c @@ -461,7 +461,7 @@ void quic_accept_push_qc(struct quic_conn *qc) /* Tasklet handler to accept QUIC connections. Call listener_accept on every * listener instances registered in the accept queue. */ -static struct task *quic_accept_run(struct task *t, void *ctx, unsigned int i) +struct task *quic_accept_run(struct task *t, void *ctx, unsigned int i) { struct li_per_thread *lthr; struct mt_list *elt1, elt2; diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 0c503cf751..4fd1872963 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -214,7 +214,7 @@ static struct quic_tx_packet *qc_build_pkt(unsigned char **pos, const unsigned c struct list *frms, struct quic_conn *qc, const struct quic_version *ver, size_t dglen, int pkt_type, int force_ack, int padding, int probe, int cc, int *err); -static struct task *quic_conn_app_io_cb(struct task *t, void *context, unsigned int state); +struct task *quic_conn_app_io_cb(struct task *t, void *context, unsigned int state); static void qc_idle_timer_do_rearm(struct quic_conn *qc); static void qc_idle_timer_rearm(struct quic_conn *qc, int read); static int qc_conn_alloc_ssl_ctx(struct quic_conn *qc); @@ -4172,7 +4172,7 @@ static void qc_dgrams_retransmit(struct quic_conn *qc) } /* QUIC connection packet handler task (post handshake) */ -static struct task *quic_conn_app_io_cb(struct task *t, void *context, unsigned int state) +struct task *quic_conn_app_io_cb(struct task *t, void *context, unsigned int state) { struct ssl_sock_ctx *ctx; struct quic_conn *qc; @@ -4569,7 +4569,7 @@ static void quic_close(struct connection *conn, void *xprt_ctx) } /* Callback called upon loss detection and PTO timer expirations. */ -static struct task *process_timer(struct task *task, void *ctx, unsigned int state) +struct task *qc_process_timer(struct task *task, void *ctx, unsigned int state) { struct ssl_sock_ctx *conn_ctx; struct quic_conn *qc; @@ -4868,7 +4868,7 @@ static int quic_conn_init_timer(struct quic_conn *qc) } qc->timer = TICK_ETERNITY; - qc->timer_task->process = process_timer; + qc->timer_task->process = qc_process_timer; qc->timer_task->context = qc->xprt_ctx; ret = 1; @@ -4905,7 +4905,7 @@ static void qc_idle_timer_rearm(struct quic_conn *qc, int read) } /* The task handling the idle timeout */ -static struct task *qc_idle_timer_task(struct task *t, void *ctx, unsigned int state) +struct task *qc_idle_timer_task(struct task *t, void *ctx, unsigned int state) { struct quic_conn *qc = ctx; struct quic_counters *prx_counters = qc->prx_counters;