[{"id":1772389,"web_url":"http://patchwork.ozlabs.org/comment/1772389/","msgid":"<20170920.202022.2073272587145961156.davem@davemloft.net>","list_archive_url":null,"date":"2017-09-21T03:20:22","subject":"Re: [PATCH net-next 0/5] net: introduce noref sk","submitter":{"id":15,"url":"http://patchwork.ozlabs.org/api/people/15/","name":"David Miller","email":"davem@davemloft.net"},"content":"From: Paolo Abeni <pabeni@redhat.com>\nDate: Wed, 20 Sep 2017 18:54:00 +0200\n\n> This series introduce the infrastructure to store inside the skb a socket\n> pointer without carrying a refcount to the socket.\n> \n> Such infrastructure is then used in the network receive path - and\n> specifically the early demux operation.\n> \n> This allows the UDP early demux to perform a full lookup for UDP sockets,\n> with many benefits:\n> \n> - the UDP early demux code is now much simpler\n> - the early demux does not hit any performance penalties in case of UDP hash\n>   table collision - previously the early demux performed a partial, unsuccesful,\n>   lookup\n> - early demux is now operational also for unconnected sockets.\n> \n> This infrastrcture will be used in follow-up series to allow dst caching for\n> unconnected UDP sockets, and than to extend the same features to TCP listening\n> sockets.\n\nLike Eric, I find this series (while exciting) quite scary :-)\n\nYou really have to post some kind of performance numbers in your\nheader posting in order to justify something with these ramifications\nand scale.\n\nThank you.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@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=netdev-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 3xyMRf16zbz9sBZ\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 13:24:46 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751390AbdIUDU2 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tWed, 20 Sep 2017 23:20:28 -0400","from shards.monkeyblade.net ([184.105.139.130]:49316 \"EHLO\n\tshards.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751283AbdIUDU1 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Wed, 20 Sep 2017 23:20:27 -0400","from localhost (74-93-104-98-Washington.hfc.comcastbusiness.net\n\t[74.93.104.98]) (using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(Client did not present a certificate)\n\t(Authenticated sender: davem-davemloft)\n\tby shards.monkeyblade.net (Postfix) with ESMTPSA id 7BA6F13408B14;\n\tWed, 20 Sep 2017 20:20:24 -0700 (PDT)"],"Date":"Wed, 20 Sep 2017 20:20:22 -0700 (PDT)","Message-Id":"<20170920.202022.2073272587145961156.davem@davemloft.net>","To":"pabeni@redhat.com","Cc":"netdev@vger.kernel.org, pablo@netfilter.org, fw@strlen.de,\n\tedumazet@google.com, hannes@stressinduktion.org","Subject":"Re: [PATCH net-next 0/5] net: introduce noref sk","From":"David Miller <davem@davemloft.net>","In-Reply-To":"<cover.1505926196.git.pabeni@redhat.com>","References":"<cover.1505926196.git.pabeni@redhat.com>","X-Mailer":"Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)","Mime-Version":"1.0","Content-Type":"Text/Plain; charset=us-ascii","Content-Transfer-Encoding":"7bit","X-Greylist":"Sender succeeded SMTP AUTH, not delayed by\n\tmilter-greylist-4.5.12 (shards.monkeyblade.net\n\t[149.20.54.216]); Wed, 20 Sep 2017 20:20:24 -0700 (PDT)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772621,"web_url":"http://patchwork.ozlabs.org/comment/1772621/","msgid":"<1505986931.2560.51.camel@redhat.com>","list_archive_url":null,"date":"2017-09-21T09:42:11","subject":"Re: [PATCH net-next 0/5] net: introduce noref sk","submitter":{"id":67312,"url":"http://patchwork.ozlabs.org/api/people/67312/","name":"Paolo Abeni","email":"pabeni@redhat.com"},"content":"Hi,\n\nThanks for the feedback!\n\nOn Wed, 2017-09-20 at 20:20 -0700, David Miller wrote:\n> From: Paolo Abeni <pabeni@redhat.com>\n> Date: Wed, 20 Sep 2017 18:54:00 +0200\n> \n> > This series introduce the infrastructure to store inside the skb a socket\n> > pointer without carrying a refcount to the socket.\n> > \n> > Such infrastructure is then used in the network receive path - and\n> > specifically the early demux operation.\n> > \n> > This allows the UDP early demux to perform a full lookup for UDP sockets,\n> > with many benefits:\n> > \n> > - the UDP early demux code is now much simpler\n> > - the early demux does not hit any performance penalties in case of UDP hash\n> >   table collision - previously the early demux performed a partial, unsuccesful,\n> >   lookup\n> > - early demux is now operational also for unconnected sockets.\n> > \n> > This infrastrcture will be used in follow-up series to allow dst caching for\n> > unconnected UDP sockets, and than to extend the same features to TCP listening\n> > sockets.\n> \n> Like Eric, I find this series (while exciting) quite scary :-)\n> \n> You really have to post some kind of performance numbers in your\n> header posting in order to justify something with these ramifications\n> and scale.\n\nThis is actually a preparatory work for the next series which will\nbring in the real gain. The next patches are still to be polished so we\n posted this separately to get some early feedback. \n\nIf that would help, I can post the follow-up soon as RFC. Overall -\nwith the follow-up appplied, too - when using a single rx ingress\nqueue, I measured ~20% tput gain for unconnected ipv4 sockets - with\nrp_filter disabled - and ~30% for ipv6 sockets. In case of multiple\ningress queues, the gain is smaller but still measurable (roughly 5%). \n\nPlease let me know if you prefer the see the full work early. \n\nThanks,\n\nPaolo","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@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=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ext-mx03.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx03.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=pabeni@redhat.com"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyWqG2bHHz9t49\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 19:42:18 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751957AbdIUJmP (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 05:42:15 -0400","from mx1.redhat.com ([209.132.183.28]:43778 \"EHLO mx1.redhat.com\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1751882AbdIUJmN (ORCPT <rfc822;netdev@vger.kernel.org>);\n\tThu, 21 Sep 2017 05:42:13 -0400","from smtp.corp.redhat.com\n\t(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 42CF27D0C5;\n\tThu, 21 Sep 2017 09:42:13 +0000 (UTC)","from localhost.localdomain (unknown [10.32.181.195])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id E721C60F89;\n\tThu, 21 Sep 2017 09:42:11 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 42CF27D0C5","Message-ID":"<1505986931.2560.51.camel@redhat.com>","Subject":"Re: [PATCH net-next 0/5] net: introduce noref sk","From":"Paolo Abeni <pabeni@redhat.com>","To":"David Miller <davem@davemloft.net>","Cc":"netdev@vger.kernel.org, pablo@netfilter.org, fw@strlen.de,\n\tedumazet@google.com, hannes@stressinduktion.org","Date":"Thu, 21 Sep 2017 11:42:11 +0200","In-Reply-To":"<20170920.202022.2073272587145961156.davem@davemloft.net>","References":"<cover.1505926196.git.pabeni@redhat.com>\n\t<20170920.202022.2073272587145961156.davem@davemloft.net>","Content-Type":"text/plain; charset=\"UTF-8\"","Mime-Version":"1.0","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.12","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.27]);\n\tThu, 21 Sep 2017 09:42:13 +0000 (UTC)","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}},{"id":1772665,"web_url":"http://patchwork.ozlabs.org/comment/1772665/","msgid":"<1505990276.29839.120.camel@edumazet-glaptop3.roam.corp.google.com>","list_archive_url":null,"date":"2017-09-21T10:37:56","subject":"Re: [PATCH net-next 0/5] net: introduce noref sk","submitter":{"id":2404,"url":"http://patchwork.ozlabs.org/api/people/2404/","name":"Eric Dumazet","email":"eric.dumazet@gmail.com"},"content":"On Thu, 2017-09-21 at 11:42 +0200, Paolo Abeni wrote:\n> Hi,\n> \n> Thanks for the feedback!\n> \n> On Wed, 2017-09-20 at 20:20 -0700, David Miller wrote:\n> > From: Paolo Abeni <pabeni@redhat.com>\n> > Date: Wed, 20 Sep 2017 18:54:00 +0200\n> > \n> > > This series introduce the infrastructure to store inside the skb a socket\n> > > pointer without carrying a refcount to the socket.\n> > > \n> > > Such infrastructure is then used in the network receive path - and\n> > > specifically the early demux operation.\n> > > \n> > > This allows the UDP early demux to perform a full lookup for UDP sockets,\n> > > with many benefits:\n> > > \n> > > - the UDP early demux code is now much simpler\n> > > - the early demux does not hit any performance penalties in case of UDP hash\n> > >   table collision - previously the early demux performed a partial, unsuccesful,\n> > >   lookup\n> > > - early demux is now operational also for unconnected sockets.\n> > > \n> > > This infrastrcture will be used in follow-up series to allow dst caching for\n> > > unconnected UDP sockets, and than to extend the same features to TCP listening\n> > > sockets.\n> > \n> > Like Eric, I find this series (while exciting) quite scary :-)\n> > \n> > You really have to post some kind of performance numbers in your\n> > header posting in order to justify something with these ramifications\n> > and scale.\n> \n> This is actually a preparatory work for the next series which will\n> bring in the real gain. The next patches are still to be polished so we\n>  posted this separately to get some early feedback. \n> \n> If that would help, I can post the follow-up soon as RFC. Overall -\n> with the follow-up appplied, too - when using a single rx ingress\n> queue, I measured ~20% tput gain for unconnected ipv4 sockets - with\n> rp_filter disabled - and ~30% for ipv6 sockets. In case of multiple\n> ingress queues, the gain is smaller but still measurable (roughly 5%). \n> \n> Please let me know if you prefer the see the full work early. \n\nI want to see the full work yes. Ipv6, and everything.\n\nI do not want ~1000 lines of changed code in the stack for some corner\ncases, where people do not properly use existing infra, like proper\nSO_REUSEPORT with proper BPF filter to have as many clean siloes (proper\nCPU/NUMA affinities to avoid QPI traffic)\n\nThe complexity of your patches reached a point where I am extremely\nnervous.\n\nThanks.","headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@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=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"lIte2qD0\"; dkim-atps=neutral"],"Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xyY3Z6mskz9s0Z\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu, 21 Sep 2017 20:38:02 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751593AbdIUKiA (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 21 Sep 2017 06:38:00 -0400","from mail-it0-f42.google.com ([209.85.214.42]:55399 \"EHLO\n\tmail-it0-f42.google.com\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751387AbdIUKh7 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 21 Sep 2017 06:37:59 -0400","by mail-it0-f42.google.com with SMTP id 4so103028itv.4\n\tfor <netdev@vger.kernel.org>; Thu, 21 Sep 2017 03:37:59 -0700 (PDT)","from [192.168.86.171] (c-67-180-167-114.hsd1.ca.comcast.net.\n\t[67.180.167.114]) by smtp.googlemail.com with ESMTPSA id\n\tg100sm625828iod.39.2017.09.21.03.37.57\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tThu, 21 Sep 2017 03:37:58 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20161025;\n\th=message-id:subject:from:to:cc:date:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=MLqJMbE49M3ALww420Htwi+YzF4NTADBZDHI4L7umT4=;\n\tb=lIte2qD0ZEZt1aaH4KsfyPTpBj/mQFz8axc+GZruZ6WvF/nJPLkeyWGGHRThT2XgTY\n\tJ5Dba94OGR3DO/qyMfwBfhcKeauv+Y4BHf98JLRrSiTYg5UkVdlFkggsnfY0XwPtlSaJ\n\tK5DIG1DmFqNALkXToqjTuR9c38gtnkWecnT3zap68mRrz9wTJUQAJ0dEOqWYuWw4enlZ\n\trSK5guZWWKh7LJqanUS+ude9jSZwYTikIdeggV3ltdIYZtONzTMKX24pGWtXw+RJW8Nu\n\tFqWeaiemdG2zYIOjhbNmzDSUULDgYh3PzbkLCQrX/UNqKlbt0fCQXKRxwi54L4z5p/gr\n\tchfg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=MLqJMbE49M3ALww420Htwi+YzF4NTADBZDHI4L7umT4=;\n\tb=VxTdl301HnS0hHDIX3WpVJoGm4s6mF/Xa1D2AE/y10WNOWfx1hdUW35TP+jh6IuN2m\n\t4XbmK1jBwyt9ngvJdu4QeI/UJ8x3TmABcNjoWQooFfwGNsfsgjgFeoBzOeg/CKYHJ4ll\n\tybkU/wZO60zPLk+i83ktRjgd2anFVGaoPCt6ivoAIRAk+RN2fW8uGccN5ig4fGIzUee4\n\tFai2iwoqof/jtymPWZ0JOHe/YoiYK0dBcAKhUqTud4sM8U0Kb741u94ga90AqKpqutvJ\n\trI+jUksRo10FZvXc6QqZ6FH3J14AVyffYLMdLwIKld1JFBqJW24K4Wy2ic45/9TmaISP\n\ttLcQ==","X-Gm-Message-State":"AHPjjUgey8jTa+auT3+8V8WcxxhM4Qe122W3lqXEGMoqm178ZnZsKyRG\n\tfSLSVJm4ruP+Wj52aUyjM+Q=","X-Google-Smtp-Source":"AOwi7QAlJt6IZERupmYfk+WwsVo+wAE7RtJGO6NC3RBrGeq7R21QWqo2MC8h8uQ9g/dQoU/IiooWYw==","X-Received":"by 10.36.31.200 with SMTP id d191mr738031itd.81.1505990278879;\n\tThu, 21 Sep 2017 03:37:58 -0700 (PDT)","Message-ID":"<1505990276.29839.120.camel@edumazet-glaptop3.roam.corp.google.com>","Subject":"Re: [PATCH net-next 0/5] net: introduce noref sk","From":"Eric Dumazet <eric.dumazet@gmail.com>","To":"Paolo Abeni <pabeni@redhat.com>","Cc":"David Miller <davem@davemloft.net>, netdev@vger.kernel.org,\n\tpablo@netfilter.org, fw@strlen.de, edumazet@google.com,\n\thannes@stressinduktion.org","Date":"Thu, 21 Sep 2017 03:37:56 -0700","In-Reply-To":"<1505986931.2560.51.camel@redhat.com>","References":"<cover.1505926196.git.pabeni@redhat.com>\n\t<20170920.202022.2073272587145961156.davem@davemloft.net>\n\t<1505986931.2560.51.camel@redhat.com>","Content-Type":"text/plain; charset=\"UTF-8\"","X-Mailer":"Evolution 3.10.4-0ubuntu2 ","Mime-Version":"1.0","Content-Transfer-Encoding":"7bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"}}]