From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6351BA034F; Thu, 1 Apr 2021 06:38:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D337440142; Thu, 1 Apr 2021 06:38:53 +0200 (CEST) Received: from mail-io1-f49.google.com (mail-io1-f49.google.com [209.85.166.49]) by mails.dpdk.org (Postfix) with ESMTP id 6FF574013F for ; Thu, 1 Apr 2021 06:38:52 +0200 (CEST) Received: by mail-io1-f49.google.com with SMTP id e186so880543iof.7 for ; Wed, 31 Mar 2021 21:38:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Ocz4pORh2ut+fXcZmYcJqakFUrOySJ3zkdyirlzoFh8=; b=oVsxNUA5VyeuKkFu6h6SP9/gt1wSfOgEY27VqzBiHSHQ7BJubK82db0UBb7mFxKK2w IWYgBJC8YXTWALdqQO55pMqLip+pvENODhJmmNhKi9kL/E42FjUuyfNcM9dRb2YhxR5C ZABuj0CIxeBQbo8CFP2xkP/rCZjGbb5LJOShEli7idq3OuTyMdy1ASYrm7pNvJp1hAwL F6YSx4fuxVqRbWi9HoO5qmCW2+oYn2xSxQtQYc4Ra0jYego8STcu5gi0OBKPlhBbER+p AbNbiQUHcRwYZZrVUuwwgpoYBbcpuOaodeRcUEkvkH40k+3iSLBeBAwIxxZ0ZP3gsKrD Wyqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Ocz4pORh2ut+fXcZmYcJqakFUrOySJ3zkdyirlzoFh8=; b=gPoaiqg6G0QZuqhHMMFt4pohCAzqEozbrJMqex5eKnvkFl9d5zPAuYphmtcU7jnRnd +5Jt0LpWG9yWCmGEIHahdyTTUvWiOjAvI91JHTp1BI0avWx5+TXChKl1WaX1AEIMopC8 O7a21gAm93Fzuy4vGLaT8xn6r72G+7Zh0e8za4Z7a+FcAtcVIJNoTAICaWr32uAaM15I maPrxiSidmaXatMGgZFzgsp7SkOwZENJLGLqhmZmc+oWT6fWDFhaibbGT+SBc8FIbQf0 c/P8GzKGKbyjQUl3IhXvGT7OJpJXFpojZlfYqy/HwZwYN/4M5oEG3RqBzcTMXTqzbnjv uv7Q== X-Gm-Message-State: AOAM532UOs26pbzX57bYdw9XwPHgRXQifeTN56Jm4DKU1dp7ReX5+P2o RxeGaSJ2zSSpvW2YTmK3vDnRHjEtb082OlPe01U= X-Google-Smtp-Source: ABdhPJygxkgWiVGGhaNXr6Bf+Iwo5VVqB3Wsy2qx1QUpmvxY2I2bq4MuSbBwUe0RqG6jyl6Kg1PZgERw4kdUhQDFnJ4= X-Received: by 2002:a05:6602:722:: with SMTP id g2mr5028438iox.1.1617251931694; Wed, 31 Mar 2021 21:38:51 -0700 (PDT) MIME-Version: 1.0 References: <2273212.ItJIoklBD0@thomas> In-Reply-To: From: Jerin Jacob Date: Thu, 1 Apr 2021 10:08:35 +0530 Message-ID: To: Honnappa Nagarahalli Cc: Kathleen Capella , "thomas@monjalon.net" , "dev@dpdk.org" , Dharmik Thakkar , Ruifeng Wang , "david.marchand@redhat.com" , Bruce Richardson , "jerinj@marvell.com" , "hemant.agrawal@nxp.com" , Ferruh Yigit , "Ananyev, Konstantin" , Stephen Hemminger , nd Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] L3fwd mode in testpmd X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Apr 1, 2021 at 5:51 AM Honnappa Nagarahalli wrote: > > > > > > > > > > > > > > > > > On Thu, Mar 11, 2021 at 12:01 AM Honnappa Nagarahalli > > > > > > > wrote: > > > > > > > > > > > > > > > > Hello, > > > > > > > > Performance of L3fwd example application is one of > > > > > > > > the key > > > > > > > benchmarks in DPDK. However, the application does not have > > > > > > > many debugging statistics to understand the performance > > > > > > > issues. We have added L3fwd as another mode/stream to testpmd > > > > > > > which provides > > > > > enough > > > > > > > statistics at various levels. This has allowed us to debug the > > > > > > > performance issues effectively. > > > > > > > > > > > > > > > > There is more work to be done to get it to upstreamable > > > > > > > > state. I am > > > > > > > wondering if such a patch is helpful for others and if the > > > > > > > community would be interested in taking a look. Please let me > > > > > > > know > > > > what you think. > > > > > > > > > > > > > > We are using app/proc-info/ to attach and analyze the performance. > > > > > > > That helps to analyze the unmodified application. I think, if > > > > > > > something is missing in proc-info app, in my opinion it is > > > > > > > better to enhance proc-info so that it can help other third-party > > applications. > > > > > > > > > > > > > > Just my 2c. > > > > > > Thanks Jerin. We will explore that. > > > > > > > > > > I agree it is dangerous to rely too much on testpmd for everything. > > > > > Please tell us what in testpmd could be useful out of it. > > > > > > > > > Things that are very helpful in testpmd are: 1) HW statistics from > > > > the NIC 2) Forwarding stats 3) Burst stats (indication of headroom > > > > availability) 4) Easy to set parameters like RX and TX queue depths > > > > (among others) without having to recompile. > > > > > > [Kathleen Capella] > > > Thank you for the suggestion of app/proc-info. I've tried it out with > > > l3fwd and see that it does have the HW stats from the NIC and the forwarding > > stats. > > > However, it does not have the burst stats testpmd offers, nor the > > > > One option to see such level of debugging would be to have > > - Create a memzone in the primary process > > - Application under test can update the stats in memzone based on the code > > flow > > - proc-info can read the counters updated by application under test using the > > memzone object got through rte_memzone_lookup() > Agreed. Currently, using app/proc-info does not provide this ability. We cannot add this capability to app/proc-info as these stats would be specific to L3fwd application. I meant creating generic counter-read/write infra via memzone to not make it as l3fwd specific. > > > > > Another approach will be using rte_trace()[1] for debugging/tracing by adding > > tracepoints in l3fwd for such events. > > It has a timestamp and the trace format is opensource trace > > format(CTF(Common trace format)), so that we can use post posting tools to > > analyze. > > [1] > > https://doc.dpdk.org/guides/prog_guide/trace_lib.html > This is good for analyzing an incident. I think it is an overhead for development purposes. Consider if one wants to add burst stats, one can add stats increment under RTE_TRACE_POINT_FP, it will be emitted whenever code flow through that path. Set of events of can be viewed in trace viewer[1]. Would that be enough? Adding traces to l3fwd can be upstreamed as it is useful for others for debugging. [1] https://github.com/jerinjacobk/share/blob/master/dpdk_trace.JPG > > > > > > > > ability to easily change parameters without having to recompile, which > > > helps reduce debugging time significantly.