[dpdk-dev] [PATCH v9] app/testpmd: add noisy neighbour forwarding mode
bernard.iremonger at intel.com
Fri Oct 5 14:20:36 CEST 2018
> -----Original Message-----
> From: Kevin Traynor [mailto:ktraynor at redhat.com]
> Sent: Friday, October 5, 2018 10:55 AM
> To: Jens Freimann <jfreimann at redhat.com>; dev at dpdk.org
> Cc: ailan at redhat.com; jan.scheurich at ericsson.com; Richardson, Bruce
> <bruce.richardson at intel.com>; thomas at monjalon.net;
> maxime.coquelin at redhat.com; Ananyev, Konstantin
> <konstantin.ananyev at intel.com>; Yigit, Ferruh <ferruh.yigit at intel.com>;
> Iremonger, Bernard <bernard.iremonger at 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 <jfreimann at redhat.com>
> Acked-by: Kevin Traynor <ktraynor at redhat.com>
Acked-by: Bernard Iremonger <bernard.iremonger at intel.com>
More information about the dev