[{"id":1764099,"web_url":"http://patchwork.ozlabs.org/comment/1764099/","msgid":"<20170906130750.GE11551@breakpoint.cc>","list_archive_url":null,"date":"2017-09-06T13:07:50","subject":"Re: [PATCH nf 1/2] netfilter: nat: Revert \"netfilter: nat: convert\n\tnat bysrc hash to rhashtable\"","submitter":{"id":1025,"url":"http://patchwork.ozlabs.org/api/people/1025/","name":"Florian Westphal","email":"fw@strlen.de"},"content":"Dao Quang Minh <dqminh89@gmail.com> wrote:\n> Thanks for the patch !\n> \n> > rhlist removal however requires a rhlist walk.\n> We can have thousands of entries in such a list if source port/addresses\n> are reused for multiple flows, if this happens removal requests are so\n> expensive that deletions of a few thousand flows can take several\n> seconds(!).\n> \n> Do you think rhlist can use double linked list instead of single linked so\n> removal doesn't need to walk the whole chain ?\n\nYes, but:\n\n> > I tried to add hlist_node to rhlist to speed up rhltable_remove but this\n> > isn't doable without changing semantics.  rhltable_remove_fast will\n> > check that the to-be-deleted object is part of the table and that\n> > requires a list walk that we want to avoid.\n> >\n> > Furthermore, using hlist_node increases size of struct rhlist_head, which\n> > in turn increases nf_conn size.\n--\nTo unsubscribe from this list: send the line \"unsubscribe netfilter-devel\" in\nthe body of a message to majordomo@vger.kernel.org\nMore majordomo info at  http://vger.kernel.org/majordomo-info.html","headers":{"Return-Path":"<netfilter-devel-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netfilter-devel-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xnP8m3rBpz9t2R\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed,  6 Sep 2017 23:10:48 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1750933AbdIFNKr convert rfc822-to-8bit (ORCPT\n\t<rfc822;incoming@patchwork.ozlabs.org>);\n\tWed, 6 Sep 2017 09:10:47 -0400","from Chamillionaire.breakpoint.cc ([146.0.238.67]:35076 \"EHLO\n\tChamillionaire.breakpoint.cc\" rhost-flags-OK-OK-OK-OK)\n\tby vger.kernel.org with ESMTP id S1750739AbdIFNKq (ORCPT\n\t<rfc822;netfilter-devel@vger.kernel.org>);\n\tWed, 6 Sep 2017 09:10:46 -0400","from fw by Chamillionaire.breakpoint.cc with local (Exim 4.84_2)\n\t(envelope-from <fw@strlen.de>)\n\tid 1dpa3a-0001U2-UB; Wed, 06 Sep 2017 15:07:51 +0200"],"Date":"Wed, 6 Sep 2017 15:07:50 +0200","From":"Florian Westphal <fw@strlen.de>","To":"Dao Quang Minh <dqminh89@gmail.com>","Cc":"Florian Westphal <fw@strlen.de>, netfilter-devel@vger.kernel.org","Subject":"Re: [PATCH nf 1/2] netfilter: nat: Revert \"netfilter: nat: convert\n\tnat bysrc hash to rhashtable\"","Message-ID":"<20170906130750.GE11551@breakpoint.cc>","References":"<20170906123952.12555-1-fw@strlen.de>\n\t<20170906123952.12555-2-fw@strlen.de>\n\t<CAFoGUiyjXxgYBU+POj2_x3H9BXPW=FUGr3LS3KNUDdxDL0vbng@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","Content-Transfer-Encoding":"8BIT","In-Reply-To":"<CAFoGUiyjXxgYBU+POj2_x3H9BXPW=FUGr3LS3KNUDdxDL0vbng@mail.gmail.com>","User-Agent":"Mutt/1.5.23 (2014-03-12)","Sender":"netfilter-devel-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netfilter-devel.vger.kernel.org>","X-Mailing-List":"netfilter-devel@vger.kernel.org"}}]