From owner-freebsd-net@freebsd.org Tue Mar 30 21:20:07 2021 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5E8EE5AD8EC for ; Tue, 30 Mar 2021 21:20:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 4F92Qv1bpyz3MQ7 for ; Tue, 30 Mar 2021 21:20:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id 345A15AE12F; Tue, 30 Mar 2021 21:20:07 +0000 (UTC) Delivered-To: net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 341355ADFC3 for ; Tue, 30 Mar 2021 21:20:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F92Qt6ZP7z3Mkt for ; Tue, 30 Mar 2021 21:20:06 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D506E55F9 for ; Tue, 30 Mar 2021 21:20:06 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 12ULK62n049467 for ; Tue, 30 Mar 2021 21:20:06 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 12ULK69a049465 for net@FreeBSD.org; Tue, 30 Mar 2021 21:20:06 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 254333] [tcp] sysctl net.inet.tcp.hostcache.list hangs Date: Tue, 30 Mar 2021 21:20:06 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: 11.4-STABLE X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: tuexen@freebsd.org X-Bugzilla-Status: In Progress X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: rscheff@freebsd.org X-Bugzilla-Flags: mfc-stable13? mfc-stable12? mfc-stable11? X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Mar 2021 21:20:07 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D254333 --- Comment #18 from Michael Tuexen --- (In reply to Richard Scheffenegger from comment #17) But tcp_hc_purge_internal() decrements the counter when it removes an entry= and frees it. I double checked the code and I think the counter is handled correctly. I did look for an underflow, but I could not find it... If the hash buckets are used highly un-symmetric, I wouldn't suggest to use larger buckets. That results in long processing time. In that case I would suggest to use a better hash algorithm. But this is not the issue right now. I do see two problems: 1. Using a large amount of memory when exporting the list. 2. The counter being off. The first issue is solved by the patches you are working on. The second issue without your patches results in a memory amount which can'= t be allocated and therefor triggers the problem. The second issue with you patc= hes in place will still result in not adding any new entries to the host cache anymore, since the number counter is than larger than the limit. For the counter having such a large value could happen when there is an underflow. But I don't see how it can happen. For me it looks like the glob= al and the bucket counter are handled correctly. I also looked at the 11.4 cod= e, but I see no issue. Since the statement is that this happens every 3 to 4 month, it must be a r= are event. Or some other code is writing in the memory location where the count= er is... Richard: Do you see a way how the counter could be off? --=20 You are receiving this mail because: You are on the CC list for the bug.=