Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp1503806rwl; Wed, 12 Apr 2023 14:04:32 -0700 (PDT) X-Google-Smtp-Source: AKy350a2RSvsc2ap9pRFEN4bamiD0gmJQBD4E6YWsNxjp0k9gP8nEwZOO/CP3v7AbjrlTR5s5brf X-Received: by 2002:a17:906:39cb:b0:94a:56b3:ee6a with SMTP id i11-20020a17090639cb00b0094a56b3ee6amr139939eje.66.1681333472480; Wed, 12 Apr 2023 14:04:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681333472; cv=none; d=google.com; s=arc-20160816; b=rgA/QJo7jiKEbBOs5WMOcSKEKypp+QdM+S+zH9cCUW/AfNIDqtoazyRG0CZ+qGcsfX CEzkcGzLCRFjW6s6jT7zeG6Znz4BxqE6OMKg3AFdZYUKxkFIdNsFPJsUbnHNk/kBb2U8 Z7XEnSZ5uedSkXVpM7Ebdd/EshgVO91NK1g5hP5v/a3PsPB5iWuZACSLEK5ejJSZJ0hD 0Ln9JYRhDJOlJdVFZOcJ/jaZZozQa089G23ltiTfj1g1tHKPBNrAlTNQ8UjlPe4WbQVG CLZ+T5R7HR8nvTEBUW7SG+5C80Ptjxj6H9WOAb0pE60QGsGrreSYw9mZ0f9ZuQtpKmu8 F8Og== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:reply-to:cc:to:message-id :content-transfer-encoding:mime-version:subject:date:from :dkim-signature; bh=EKbWPaLITknVOoC3iOj6oR/93l+wPyTWo/oaEs1rs4A=; b=zb1Uu179P6bauXhqfN2+ophuRa90XwKPi9/9Il5lR7b6XJQLvZba0Byax6XMgX4PUo 4EHlPa7URUnHOjP8ugOWv/5ruhpb2u5Eqq51vDI6as7c/ILb+LhBmghvJV6cWVgmHJqw w6s7rBojJHHbflvDOnjTn+jDx9qQF4kMC6roNGeR83uuVsr5mR7LqWSRgr+zUVLvzibX etjViwxWgk8HG9uge4d2Tys7eoVkC1JHz0bfhwLQfzcRbZdLo5xiHteASb+1f/HPkY9c crfzgnxqhtZNeS74OAT7Sq+ie/vEuimNDCwfVPFtC5qzQ/Q3y4wr67ORaHawVYZpaZTX h3Gg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="UF5C/YyP"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x13-20020a170906710d00b0094aa6845719si2046648ejj.758.2023.04.12.14.04.06; Wed, 12 Apr 2023 14:04:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="UF5C/YyP"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230028AbjDLUtP (ORCPT + 99 others); Wed, 12 Apr 2023 16:49:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229630AbjDLUtO (ORCPT ); Wed, 12 Apr 2023 16:49:14 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4022261A1; Wed, 12 Apr 2023 13:49:13 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CF79662ED0; Wed, 12 Apr 2023 20:49:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 2ACF9C433EF; Wed, 12 Apr 2023 20:49:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1681332552; bh=N6CxG92Ed4Yn5LSSbnRciB027afcs82cjOQu+THWcO0=; h=From:Date:Subject:To:Cc:Reply-To:From; b=UF5C/YyP9SfpWtDmeWKN+982ajzjj6BoiCHMDIS0cSGCSgo/a56pKaRsfYDIfhhw6 Yw3Mnhgqz36vi98izKUlyqQCBc4qL92l7qlowAQdig4hk/oWaHJeZP88Ir+hPQRsTg f52ijdMe+DrRO51YXq75Ukj07uE92UYBefjbEwOREVEzljhcSJSXqvoS8CdLDTZRnZ 1gZktu2W99imJqt56DTncCPLs3Wx81qwzIHuySKKQGoHxjmmbsa6Mz3x/ErLnpybl4 V8NJJW/ByX4xrXa4YUEu5I8XtppiOyhqjYEK4Yp5LIfLYg7/vMu+6W3NyP+Bo78N0e C0PJh5/yR8q3A== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E6CAC77B6C; Wed, 12 Apr 2023 20:49:12 +0000 (UTC) From: Abhijeet Rastogi via B4 Relay Date: Wed, 12 Apr 2023 13:49:08 -0700 Subject: [PATCH] ipvs: change ip_vs_conn_tab_bits range to [8,31] MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20230412-increase_ipvs_conn_tab_bits-v1-1-60a4f9f4c8f2@gmail.com> X-B4-Tracking: v=1; b=H4sIAEMZN2QC/x2N0QqDMAxFf0XyvEIbZbD9yhglrdnMw6IkIgPx3 1f3eDiXc3dwNmGHe7eD8SYuszZIlw7qRPrmIGNjwIh9HBIG0WpMzlmWzXOdVfNKJRdZPQw9Yr3 FkTBdoRVK24VipHU6Gx/yle0Ui/FLvv/bx/M4ftkrbyCGAAAA To: Simon Horman , Julian Anastasov , Pablo Neira Ayuso , Jozsef Kadlecsik , Florian Westphal , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, coreteam@netfilter.org, linux-kernel@vger.kernel.org, Abhijeet Rastogi X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1681332551; l=2681; i=abhijeet.1989@gmail.com; s=20230412; h=from:subject:message-id; bh=diB2UNBoozij8cEFsyQbJS4LF1vmwJ3a6Chw+mzNh7I=; b=P+q2BDiUkpHSIUlanv0uhX+uIFT2uT4OzEwmTdXXla/nmmIrpI/IXDTzgS0FBPJ5E2k2s7yp6 BTzbnfMaj1vAOe9Em5PMNAMEQLfL4s9XOHYeLIGoyhXO/lySLPcoEuQ X-Developer-Key: i=abhijeet.1989@gmail.com; a=ed25519; pk=VinODWUuJys1VAWZP2Uv9slcHekoZvxAp4RY1p5+OfU= X-Endpoint-Received: by B4 Relay for abhijeet.1989@gmail.com/20230412 with auth_id=40 X-Original-From: Abhijeet Rastogi Reply-To: X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FORGED_REPLYTO, FREEMAIL_REPLYTO_END_DIGIT,RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Abhijeet Rastogi Current range [8, 20] is set purely due to historical reasons because at the time, ~1M (2^20) was considered sufficient. Previous change regarding this limit is here. Link: https://lore.kernel.org/all/86eabeb9dd62aebf1e2533926fdd13fed48bab1f.1631289960.git.aclaudi@redhat.com/T/#u Signed-off-by: Abhijeet Rastogi --- The conversation for this started at: https://www.spinics.net/lists/netfilter/msg60995.html The upper limit for algo is any bit size less than 32, so this change will allow us to set bit size > 20. Today, it is common to have RAM available to handle greater than 2^20 connections per-host. Distros like RHEL already have higher limits set. --- net/netfilter/ipvs/Kconfig | 4 ++-- net/netfilter/ipvs/ip_vs_conn.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig index 271da8447b29..3e3371f8c0f9 100644 --- a/net/netfilter/ipvs/Kconfig +++ b/net/netfilter/ipvs/Kconfig @@ -44,7 +44,7 @@ config IP_VS_DEBUG config IP_VS_TAB_BITS int "IPVS connection table size (the Nth power of 2)" - range 8 20 + range 8 31 default 12 help The IPVS connection hash table uses the chaining scheme to handle @@ -54,7 +54,7 @@ config IP_VS_TAB_BITS Note the table size must be power of 2. The table size will be the value of 2 to the your input number power. The number to choose is - from 8 to 20, the default number is 12, which means the table size + from 8 to 31, the default number is 12, which means the table size is 4096. Don't input the number too small, otherwise you will lose performance on it. You can adapt the table size yourself, according to your virtual server application. It is good to set the table size diff --git a/net/netfilter/ipvs/ip_vs_conn.c b/net/netfilter/ipvs/ip_vs_conn.c index 13534e02346c..bc0fe1a698d4 100644 --- a/net/netfilter/ipvs/ip_vs_conn.c +++ b/net/netfilter/ipvs/ip_vs_conn.c @@ -1484,8 +1484,8 @@ int __init ip_vs_conn_init(void) int idx; /* Compute size and mask */ - if (ip_vs_conn_tab_bits < 8 || ip_vs_conn_tab_bits > 20) { - pr_info("conn_tab_bits not in [8, 20]. Using default value\n"); + if (ip_vs_conn_tab_bits < 8 || ip_vs_conn_tab_bits > 31) { + pr_info("conn_tab_bits not in [8, 31]. Using default value\n"); ip_vs_conn_tab_bits = CONFIG_IP_VS_TAB_BITS; } ip_vs_conn_tab_size = 1 << ip_vs_conn_tab_bits; --- base-commit: 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d change-id: 20230412-increase_ipvs_conn_tab_bits-4322c90da216 Best regards, -- Abhijeet Rastogi