From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Traynor Subject: Re: [PATCH v7] app/testpmd: add forwarding mode to simulate a noisy neighbour Date: Tue, 25 Sep 2018 15:55:48 +0100 Message-ID: References: <20180921132633.21317-1-jfreimann@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: ailan@redhat.com, jan.scheurich@ericsson.com, bruce.richardson@intel.com, thomas@monjalon.net, maxime.coquelin@redhat.com, konstantin.ananyev@intel.com, ferruh.yigit@intel.com, bernard.iremonger@intel.com To: Jens Freimann , dev@dpdk.org Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id B5E091B397 for ; Tue, 25 Sep 2018 16:56:13 +0200 (CEST) In-Reply-To: <20180921132633.21317-1-jfreimann@redhat.com> Content-Language: en-US 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 09/21/2018 02:26 PM, Jens Freimann wrote: > This adds a new forwarding mode 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 a simple way of measuring performance impact on > cache and memory footprint utilization from various VNF co-located on > the same host machine. For this it does: > > * Buffer packets in a FIFO: > > Create a fifo to buffer received packets. Once it flows over put > those packets into the actual tx queue. The fifo is created per tx > queue and its size can be set with the --noisy-tx-sw-buffer-flushtime > commandline parameter. > > A second commandline parameter is used to set a timeout in > milliseconds after which the fifo is flushed. > > --noisy-tx-sw-buffer-size [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-tx-sw-buffer-flushtime [delay] > Flush the packet queue if no packets have been seen during > [delay]. As long as packets are seen, the timer is reset. > > Add several options to simulate route lookups (memory reads) in tables > that can be quite large, as well as route hit statistics update. > These options simulates the while stack traversal and > will trash the cache. Memory access is random. > > * simulate route lookups: > > Allocate a buffer and perform reads and writes on it as specified by > commandline options: > > --noisy-lkup-memory [size] > Size of the VNF internal memory (MB), in which the random > read/write will be done, allocated by rte_malloc (hugepages). > > --noisy-lkup-num-writes [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-lkup-num-reads [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-lkup-num-reads-writes [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. > > Signed-off-by: Jens Freimann > --- Acked-by: Kevin Traynor