> -----Original Message----- > From: Kevin Traynor [mailto:ktray...@redhat.com] > Sent: Friday, October 5, 2018 10:55 AM > To: Jens Freimann <jfreim...@redhat.com>; dev@dpdk.org > Cc: ai...@redhat.com; jan.scheur...@ericsson.com; Richardson, Bruce > <bruce.richard...@intel.com>; tho...@monjalon.net; > maxime.coque...@redhat.com; Ananyev, Konstantin > <konstantin.anan...@intel.com>; Yigit, Ferruh <ferruh.yi...@intel.com>; > Iremonger, Bernard <bernard.iremon...@intel.com> > Subject: Re: [PATCH v9] app/testpmd: add noisy neighbour forwarding mode > > On 10/03/2018 07:57 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 <jfreim...@redhat.com> > > > > Acked-by: Kevin Traynor <ktray...@redhat.com>
Acked-by: Bernard Iremonger <bernard.iremon...@intel.com>