From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FADE20F88 for ; Wed, 12 Jul 2023 17:42:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3482C433C7; Wed, 12 Jul 2023 17:42:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1689183732; bh=wG8UUXNP3lOA9oLQq/E55c0IUNpqh5X988ZONVpNi1w=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=h54a7qPL1C5+e+vdm81szDvXyNSBOWtx1CMu5QnsbncweaA9c6kZobdlNc0bbELxN fYgezlmaI09gWuV2meXrEroaPdAGaDvrH6yBkz6/z1I6nX2k1v/oTEOkoSPnKN8MEB e/Lb31yHKKIOrI7BX2UFWtHmal85yrJH+Qo2WgpA3QXENjfKIkyjYBRAnPm6NpipYM +0x+KtnveYOY5d0Aet1N4/zUElyO26VYyBZ8gJNOCQkiNCnak4b24ZIH1Pky8DAUZe 59VIIshp7XG3aLKahSfkXgzQykXSwGyYENUswAiZHKibY0g10kqwce2SJ9sN27CUrn jO+AielX9JudQ== Date: Wed, 12 Jul 2023 10:42:10 -0700 From: Jakub Kicinski To: Yan Zhai Cc: Ivan Babrou , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-team@cloudflare.com, Eric Dumazet , "David S. Miller" , Paolo Abeni , Steven Rostedt , Masami Hiramatsu , David Ahern Subject: Re: [RFC PATCH net-next] tcp: add a tracepoint for tcp_listen_queue_drop Message-ID: <20230712104210.3b86b779@kernel.org> In-Reply-To: References: <20230711043453.64095-1-ivan@cloudflare.com> <20230711193612.22c9bc04@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Wed, 12 Jul 2023 11:42:26 -0500 Yan Zhai wrote: > The issue with kfree_skb is not that it fires too frequently (not in > the 6.x kernel now). Rather, it is unable to locate the socket info > when a SYN is dropped due to the accept queue being full. The sk is > stolen upon inet lookup, e.g. in tcp_v4_rcv. This makes it unable to > tell in kfree_skb which socket a SYN skb is targeting (when TPROXY or > socket lookup are used). A tracepoint with sk information will be more > useful to monitor accurately which service/socket is involved. No doubt that kfree_skb isn't going to solve all our needs, but I'd really like you to clean up the unnecessary callers on your systems first, before adding further tracepoints. That way we'll have a clear picture of which points can be solved by kfree_skb and where we need further work.