aboutgitcodebugslistschat
path: root/tcp_splice.c
diff options
context:
space:
mode:
Diffstat (limited to 'tcp_splice.c')
-rw-r--r--tcp_splice.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/tcp_splice.c b/tcp_splice.c
index c986a9c..ad2b216 100644
--- a/tcp_splice.c
+++ b/tcp_splice.c
@@ -111,7 +111,6 @@ static void tcp_splice_conn_epoll_events(uint16_t events,
*b |= (events & B_OUT_WAIT) ? EPOLLOUT : 0;
}
-static void tcp_splice_destroy(struct ctx *c, struct tcp_splice_conn *conn);
static int tcp_splice_epoll_ctl(const struct ctx *c,
struct tcp_splice_conn *conn);
@@ -257,7 +256,7 @@ void tcp_splice_conn_update(struct ctx *c, struct tcp_splice_conn *new)
* @c: Execution context
* @conn: Connection pointer
*/
-static void tcp_splice_destroy(struct ctx *c, struct tcp_splice_conn *conn)
+void tcp_splice_destroy(struct ctx *c, struct tcp_splice_conn *conn)
{
if (conn->events & SPLICE_ESTABLISHED) {
/* Flushing might need to block: don't recycle them. */
@@ -849,24 +848,3 @@ void tcp_splice_timer(struct ctx *c)
tcp_splice_pipe_refill(c);
}
-
-/**
- * tcp_splice_defer_handler() - Close connections without timer on file pressure
- * @c: Execution context
- */
-void tcp_splice_defer_handler(struct ctx *c)
-{
- int max_conns = c->tcp.conn_count / 100 * TCP_SPLICE_CONN_PRESSURE;
- int max_files = c->nofile / 100 * TCP_SPLICE_FILE_PRESSURE;
- struct tcp_splice_conn *conn;
-
- if (c->tcp.conn_count < MIN(max_files / 6, max_conns))
- return;
-
- for (conn = CONN(c->tcp.conn_count - 1); conn >= CONN(0); conn--) {
- if (!conn->c.spliced)
- continue;
- if (conn->flags & CLOSING)
- tcp_splice_destroy(c, conn);
- }
-}