From patchwork Sat Jun 23 08:08:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 41424 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0E2841BE16; Sat, 23 Jun 2018 13:45:42 +0200 (CEST) Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by dpdk.org (Postfix) with ESMTP id AF8DF1BAFB for ; Sat, 23 Jun 2018 10:08:54 +0200 (CEST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A021B402242D; Sat, 23 Jun 2018 08:08:53 +0000 (UTC) Received: from localhost.localdomain (unknown [10.36.112.10]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5A36C2156889; Sat, 23 Jun 2018 08:08:51 +0000 (UTC) From: Maxime Coquelin To: bernard.iremonger@intel.com, dev@dpdk.org Cc: ailan@redhat.com, jan.scheurich@ericsson.com, vkaplans@redhat.com, bruce.richardson@intel.com, thomas@monjalon.net, konstantin.ananyev@intel.com, ferruh.yigit@intel.com, Maxime Coquelin Date: Sat, 23 Jun 2018 10:08:38 +0200 Message-Id: <20180623080840.315-1-maxime.coquelin@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Sat, 23 Jun 2018 08:08:53 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Sat, 23 Jun 2018 08:08:53 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'maxime.coquelin@redhat.com' RCPT:'' Subject: [dpdk-dev] [PATCH v4 0/2] testpmd: simulating noisy host environment 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" This forth version is a rebase of Jen's v3, fixing meson build and checkpatch errors. Some checkpatch warnings remain to keep consistency with other code. This series adds a new forwarding mode 'noisy'. It proposes enhancements to testpmd to simulate more realistic behavior of a guest machine engaged in receiving and sending packets performing Virtual Network Function (VNF). The goal is to enable simple of measuring performance impact on cache and memory footprint utilization from various VNF co-located on the same host machine. This series of patches adds the new command line switches to testpmd: --noisy-buffersize-before-sending [packet numbers] Keep the mbuf in a FIFO and forward the over flooding packets from the FIFO. This queue is per TX-queue (after all other packet processing). --noisy-flush-timeout [delay] Flush the packet queue if no packets have been seen during [delay]. As long as packets are seen, the timer is reset. Options to simulate route lookups: --noisy-memory-footprint [size] Size of the VNF internal memory (MB), in which the random read/write will be done, allocated by rte_malloc (hugepages). --noisy-nb-rnd-write [num] Number of random writes in memory per packet should be performed, simulating hit-flags update. 64 bits per write, all write in different cache lines. --noisy-nb-rnd-read [num] Number of random reads in memory per packet should be performed, simulating FIB/table lookups. 64 bits per read, all write in different cache lines. --noisy-nb-rnd-read-write [num] Number of random reads and writes in memory per packet should be performed, simulating stats update. 64 bits per read-write, all reads and writes in different cache lines. Jens Freimann (2): testpmd: add forwarding mode to simulate a noisy neighbour testpmd: update testpmd doc to include noisy forwarding mode app/test-pmd/Makefile | 1 + app/test-pmd/meson.build | 1 + app/test-pmd/noisy_vnf.c | 204 ++++++++++++++++++++++++++++ app/test-pmd/noisy_vnf.h | 41 ++++++ app/test-pmd/parameters.c | 54 ++++++++ app/test-pmd/testpmd.c | 52 +++++++ app/test-pmd/testpmd.h | 17 +++ doc/guides/testpmd_app_ug/run_app.rst | 27 ++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 7 +- 9 files changed, 402 insertions(+), 2 deletions(-) create mode 100644 app/test-pmd/noisy_vnf.c create mode 100644 app/test-pmd/noisy_vnf.h