From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 558F5A0565; Mon, 23 Mar 2020 12:16:15 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F11021C037; Mon, 23 Mar 2020 12:16:13 +0100 (CET) Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) by dpdk.org (Postfix) with ESMTP id 67DD51C036 for ; Mon, 23 Mar 2020 12:16:12 +0100 (CET) Received: by mail-io1-f51.google.com with SMTP id e20so13273452ios.12 for ; Mon, 23 Mar 2020 04:16:12 -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=BlOJaK78yQgFA8lplS7SEa8xrJ9wuokPCfiPdIEwdzE=; b=CLIdas0t97VDobTxx7ZnoQAc8u2OA5thO+wSzfMAHGccj3jYXD65WqGYz0qCFiZLky djx14pA2fTs4gNsPwrkuZxE6RoJRJtzmiavfdy8zQDWSt3+aOwx7PqAaQfPqYPdjOYaW /gEbjM53W48bge9rbBFGlYcqBL5/9lmyo7gZWCTVeTSpNcDzuggibjGCiPK2/8ZcS7F3 Wp/i/j6vqpcCkhpsVkVomuu8YheKSyCotd3Y+z1O32HF9y/MxCnJMpgV5LR76qgiyGyx 86MRzoymLn96JdqKvQDbJ5DOl757JIzNJ2qwj6nUWhVHYD/A81DGFHwf8FQa0To+zqw4 fKaQ== 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=BlOJaK78yQgFA8lplS7SEa8xrJ9wuokPCfiPdIEwdzE=; b=ZA431gWJV++9+3FhCpx5X/+exZTtwNzzMmNC6URuJVbCyjNnlTQL4BQvUIoHW6Xtn3 1CtMCDuBZ/l1WjHuGpEOyZEojXyCcZfcTdd6b1Zn86v4QDojmaEz+wVRiF0tTcfuDRZa zGckr/natj7J8Xm+9vPCU2UA42cPccCfLjAtZw0SL+cLVvD7DFxuyY/k2EyTKyImJ0ta y9ClQFvvcJzYfmGfi0LM9+YB32FYNoYjoR9c1+LbNO/3FaP8zxJ08k82toshxP6qSscz vEMTxAQOC9odx8TmG3oHXIMxD9Z/N8fAUyVj1zP8kqYoAJgOTph9cBtpQsfGG6LzOnhM qv7Q== X-Gm-Message-State: ANhLgQ0M1hoDpeCWdAePSGZrwfHTTZAdpzqZgcTu8W/7Ncn/bfma0tFH auzwOIO1jIi+y7HUmNnPOxXGmPGo4MhoPNR/MxM= X-Google-Smtp-Source: ADFU+vuncmpHnYRUrjzbjT/Qw18OznuGKGzUlDVMjviI5rMoKoAI+CBoe4ret/o38SujAvMzBKiCd8yeMrwBE05KKfA= X-Received: by 2002:a6b:580d:: with SMTP id m13mr9346160iob.59.1584962171662; Mon, 23 Mar 2020 04:16:11 -0700 (PDT) MIME-Version: 1.0 References: <1584452772-31147-1-git-send-email-wisamm@mellanox.com> <2710919.e9J7NaK4W3@xps> In-Reply-To: From: Jerin Jacob Date: Mon, 23 Mar 2020 16:45:55 +0530 Message-ID: To: Wisam Monther Cc: Thomas Monjalon , dpdk-dev , Matan Azrad , Raslan Darawsheh Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [RFC] app/test-flow-perf: add rte_flow perf app 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Mar 23, 2020 at 3:23 PM Wisam Monther wrote: > > > > > -----Original Message----- > > From: Jerin Jacob > > Sent: Friday, March 20, 2020 2:18 PM > > To: Thomas Monjalon > > Cc: Wisam Monther ; dpdk-dev ; > > Matan Azrad ; Raslan Darawsheh > > > > Subject: Re: [dpdk-dev] [RFC] app/test-flow-perf: add rte_flow perf app > > > > On Fri, Mar 20, 2020 at 5:21 PM Thomas Monjalon > > wrote: > > > > > > 20/03/2020 07:49, Jerin Jacob: > > > > On Tue, Mar 17, 2020 at 7:16 PM Wisam Jaddo > > wrote: > > > > > > > > Thanks for this application. Useful stuff. > > > > > > > > > > > > > > > > > Introducing new application for rte_flow performance testing. The > > > > > application provide the ability to test insertion rate of specific > > > > > rte_flow rule, by stressing it to the NIC, and calculate the > > > > > insertion rate. > > > > > > > > > > It also provides packet per second measurements after the > > > > > insertion operation is done. > > > > > > > > > > The application offers some options in the command line, to > > > > > configure which rule to apply. > > > > > > > > > > After that the application will start producing rules with same > > > > > pattern but increasing the outer IP source address by 1 each time, > > > > > thus it will give different flow each time, and all other items > > > > > will have open masks. > > > > > > > > > > The current design have single core insertion rate. > > > > > In the future we may have a multi core insertion rate measurement > > > > > support in the app. > > > > > > > > If I understand correctly, > > > > # On the main thread, this application first check the flow > > > > insertion performance # and then start the worker thread for packet > > > > forwarding. > > > > Why this application testing the packet forwarding?, We already have > > > > testpmd for that. > > > > > > I think it is interesting to measure forwarding performance when > > > million of flow rules are in effect. > > > > The rules are applied to the HW CAM, Right? > > Do you see any performance difference? > > > > Yes, there are applied to HW, OK.IMO, it is better to introduce the command-line argument to disable/enable packet forwarding. That will enable if someone needs to test only flow insertion performance to avoid the IO setup. > > No not really, I still didn't test the impact of performance yet. > Moreover it's interesting to see such results and the impact on performance, > Also to see the rules are still matching after all Millions of insertion and millions of packets > Sending/receiving. > > > > > > > > > IMO, This application needs to focus only on > > > > - Insertion performance > > > > - Deletion performance > > > > - IMO, it is better to add a framework for the profile where the > > > > first version of this application can define common a set of ITEMS > > > > and set of ACTION and later others can extend it. > > > > And the framework can run over all the profiles and spit out the > > > > insertion and deletion performance. > > > > > > What do you call a profile? Is it a set of rules? > > > > set of rules and/or actions. > > > > > I think this first version is proposing rules customization with parameters. > > > > Just that it better to have a framework where one can easily add new > > profiles and test various combos. IMO, Cascade rules take more insertion > > time. > > > > > Note: I prefer a non-interactive application for performance testing. > > > > Me too. Command-line is fine. > > > > For this version I'm aiming to have the command line options to decide the profile. > For example: > . /flow-perf -n 4 -w 0000:03:00.1,dv_flow_en=1 -- --ingress --ether --ipv4 --udp --vxlan-gpe --queue --mark > Will mean 4 Million rules of: > Flow create 0 ingress pattern eth / ipv4 src is / udp / vxlan-gpe / end actions mark id 1 / queue < QUEUE _ID> / end Ok. The syntax looks good. I think we can add a number of rules as well in command like instead of hardcoding to 4Millon. And what about the flow deletion performance case? > > > > > > > > > > The app supports single and multi core performance measurements. > > > > > > > > >