[dpdk-dev] [PATCH v9] app/testpmd: add noisy neighbour forwarding mode

Ferruh Yigit ferruh.yigit at intel.com
Thu Oct 11 15:32:30 CEST 2018


On 10/5/2018 1:20 PM, Iremonger, Bernard wrote:
> 
> 
>> -----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>

Applied to dpdk-next-net/master, thanks.


More information about the dev mailing list