From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl0-f41.google.com (mail-pl0-f41.google.com [209.85.160.41]) by dpdk.org (Postfix) with ESMTP id BD5BC1B067 for ; Wed, 1 Aug 2018 18:54:17 +0200 (CEST) Received: by mail-pl0-f41.google.com with SMTP id u11-v6so3536500plq.5 for ; Wed, 01 Aug 2018 09:54:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fX9LdCgScgWk/9QA8n3rlm9GcDckaufv3aDnPR/S1+0=; b=NpKrkUrtikDW1uZDJT547cFmjrdO2JfEyfkxoZIH42Xyf1CtnPrEAyJWesyjoIHMez zDyVNBSbTCfV4fzKh/5YnWXhAxPg/HhqlVuNfKs37G3rYu+MLTtCBhOaS2WUWK5L2+Pv G5xort9UrAxtmvtJ7jvfMJSekZtza5iiqn7Fdx4z5kiwmMGQBSxuT2HXOOa5Ze3R+793 qe5+pDhML3B4/VIHCCrzoRHdVI7vZC0COR8eiOMbHGbkGQoqzO6NmRZei0Dt6NjbLp9n wX4cIXwbGEoH3GPosF8zXAgP6I6kQ3iumJmjdUBh2wFguezsS9BrURWaNeaQFoPImdd/ +6NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fX9LdCgScgWk/9QA8n3rlm9GcDckaufv3aDnPR/S1+0=; b=bmifIae6B+RfloaLJlEQngUjvT5k49Keuexoxi2IFISJDWhdmB6UMDqUi065OTUYrA 135HImd3dXSe+GHJWidT0KhdiLAsw8438GE1moESPrjrR9gCIGvWHJDeMdcb9GSlDyhN iyBqHhgX2UsAkFfW433EJL9qmIJfpyvIJyFFZXPXVYBwB4Oeyz6+C1j43IyR2AgwAfU0 tE26pwtu0qfzl+M+cMp9HuQXKKTuW7jMpLK0TCSTUdXv9trpxkWAO5O7ZivzNOJKEBE/ 461dHBVdbeQEMv9kNS7ZlaWdP8jhFRCet5N/u2/BtlZOKiUe98+U/nXAf+rb+NCT5sGX cRXQ== X-Gm-Message-State: AOUpUlGWCGYyY5g54qw8mkqVjPZKIBwxgtxquQ0T8RIgIc2MmzIlRRnR fwzXi5l3B0EvJaaVtqfBapw7rA== X-Google-Smtp-Source: AAOMgpfCRKHGE7XOZkxkoWfig0a8LdOY6t9QcyKCEBEKH1yR9/qqYNAmz7//fWMOsp2u6wN2eCbSdQ== X-Received: by 2002:a17:902:9a06:: with SMTP id v6-v6mr12736359plp.316.1533142456813; Wed, 01 Aug 2018 09:54:16 -0700 (PDT) Received: from xeon-e3 (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id s14-v6sm46439632pfj.105.2018.08.01.09.54.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 01 Aug 2018 09:54:16 -0700 (PDT) Date: Wed, 1 Aug 2018 09:54:14 -0700 From: Stephen Hemminger To: "Joseph, Anoob" Cc: Thomas Monjalon , dev@dpdk.org, Bruce Richardson , Pablo de Lara , Jerin Jacob , Narayana Prasad , Hemant Agrawal , "Ananyev, Konstantin" , Sunil Kumar Kori , Nikhil Rao Message-ID: <20180801095414.7bc34b30@xeon-e3> In-Reply-To: References: <1528976946-14396-1-git-send-email-anoob.joseph@caviumnetworks.com> <1531289248-20025-1-git-send-email-anoob.joseph@caviumnetworks.com> <3685021.sWt9K18E1B@xps> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v2 00/12] preparing l2fwd for eventmode additions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2018 16:54:18 -0000 On Wed, 1 Aug 2018 12:29:50 +0530 "Joseph, Anoob" wrote: > Hi Thomas, > > On 26-07-2018 22:27, Thomas Monjalon wrote: > > External Email > > > >> Anoob Joseph (12): > >> examples/l2fwd: move macro definitions to common header > >> examples/l2fwd: move structure definitions to common header > >> examples/l2fwd: move globally accessed vars to common header > >> examples/l2fwd: move dataplane code to new file > >> examples/l2fwd: remove unused header includes > >> examples/l2fwd: move drain buffers to new function > >> examples/l2fwd: optimize check for master core > >> examples/l2fwd: move periodic tasks to new function > >> examples/l2fwd: skip timer updates for non master cores > >> examples/l2fwd: move pkt send code to a new function > >> examples/l2fwd: use fprint instead of printf for usage print > >> examples/l2fwd: improvements to the usage print > > Maintainers of this app look to be against adding complexity. > > > > In order to get this series accepted, we need more discussions > > with more people involved. > > So it will miss 18.08. > > > > It can be discussed in a more global discussion about examples maintenance. > > If discussion does not happen, you can request it to the technical board. > > > Event dev framework and various adapters enable multiple packet handling > schemes, as opposed to the traditional polling on queues. But these > features are not integrated into any established example application. > There are specific example applications for event dev etc, which can be > used to analyze an event device or a particular eventdev adapter, but > there is no standard application which can be used to compare the real > world performance for a system when it's using event device for packet > handling and when it's done via polling on queues. > > The following patch submitted by Sunil was looking to address this issue > with l3fwd, > https://mails.dpdk.org/archives/dev/2018-March/093131.html > > Bruce & Jerin reviewed the patch and suggested the addition of helper > functions to abstract the event mode additions in applications, > https://mails.dpdk.org/archives/dev/2018-April/096879.html > > This effort of adding helper functions for eventmode was taken up > following the above suggestion. The idea is to add eventmode without > touching the existing code path. All the eventmode specific additions > would go into library so that these need not be repeated for every > application. And since there is no change in the existing code path, > performance for any vendor should not have any impact with the additions. > > The scope of this effort has increased since the submission, as now we > have Tx adapter as well. Sunil & Konstantin had clarified their > concerns, and gave green flag to this approach. > https://mails.dpdk.org/archives/dev/2018-June/105730.html > https://mails.dpdk.org/archives/dev/2018-July/106453.html > > I guess Bruce was opening this question to the community. For compute > intense applications like ipsec-secgw, eventmode might be the right > approach in the first place. Such complex applications would need a > scheduler to perform dynamic load balancing. Addition of eventmode in > l2fwd was to float around the idea which can then be scaled for more > complex applications. > > If maintainers doesn't have any objection to this, I'm fine with adding > this in the next release. > > Thanks, > Anoob It is important that DPDK has good examples of how to use existing frameworks and libraries. These applications are what most customers build their applications from and they provide basis for testing. The DPDK needs to continue to support multiple usage models. This is one of its strong points. I would rather leave existing l2fwd and l3fwd alone and instead make new examples that use the frameworks. If nothing else haveing l2fwd and l2fwd-eventdev would allow for performance comparisons. As the number of examples increases, probably also need to have a roadmap or decision chart to explain the advangage/disadvantage of each architecture.