From patchwork Thu Oct 2 10:42:44 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: tcp FRTO: in-order-only "TCP proxy" fragility workaround (fwd) Date: Thu, 02 Oct 2008 00:42:44 -0000 From: Thomas Gleixner X-Patchwork-Id: 2375 Message-Id: To: =?ISO-8859-15?Q?D=E2niel_Fraga?= Cc: =?ISO-8859-15?Q?Ilpo_J=E4rvinen?= , David Miller , Netdev diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index f6e3af3..a1cecb0 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -68,6 +68,12 @@ static void ftrace_list_func(unsigned long ip, unsigned long parent_ip) }; } +void stop_event_tracer_now(void) +{ + tracer_enabled = 0; + printk(KERN_INFO "Tracer stopped\n"); +} + /** * clear_ftrace_function - reset the ftrace function * diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index f976fc5..527dd45 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -485,6 +485,8 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, return newsk; } +extern void stop_event_tracer_now(void); + /* * Process an incoming packet for SYN_RECV sockets represented * as a request_sock. @@ -687,6 +689,7 @@ struct sock *tcp_check_req(struct sock *sk,struct sk_buff *skb, return child; listen_overflow: + stop_event_tracer_now(); if (!sysctl_tcp_abort_on_overflow) { inet_rsk(req)->acked = 1; return NULL;