Hi Krish,

You will need to compile with debug info and also with in-lining turned off. 
Many functions get in-lined and in that case the perf report cannot attribute 
time to the in-lined function but only to the caller. Obviously performance 
overall drops in that case but the relative cost of each function should not be 
affected.

You should also checkout Brendan Gregg’s flame graphs 
http://www.brendangregg.com/flamegraphs.html as a visualization of cpu cost.

If you are using dpdk-ovs then you should pin the PMD to an isolated core and 
use perf to sample the call stack on that core only. Details of pinning & 
isolation are in the dpdk sections of the ovs documentation.

I have not run perf on kernel OvS. That would be a matter of using the correct 
flags to sample by kernel module or thread.

You will need to be reasonably familiar with the code in order to interpret the 
results. These are some blog posts on the EMC and netdev datapath classifier 
for OvS-DPDK :
https://software.intel.com/en-us/articles/the-open-vswitch-exact-match-cache
https://software.intel.com/en-us/articles/ovs-dpdk-datapath-classifier

Again for OvS-DPDK you could also use the output from ovs-appctl 
dpcls/pmd-stats-show. By using a very small number of flows you can ensure that 
your traffic his hitting the EMC and you can measure the EMC lookup cost. Then 
you can disable the EMC (using emc-insert-inv-prob setting) and measure the 
classifier lookup cost. Be aware those cost include the rx and tx costs which 
actually decrease as traffic increases – as the packet batch size increases 
leadings to lower per-packet tx/rx cost.

Regards,
Billy.

From: ovs-discuss-boun...@openvswitch.org 
[mailto:ovs-discuss-boun...@openvswitch.org] On Behalf Of Krish
Sent: Thursday, March 15, 2018 2:52 AM
To: Justin Pettit <jpet...@ovn.org>; Greg Rose <gvrose8...@gmail.com>; 
ovs-discuss@openvswitch.org
Subject: Re: [ovs-discuss] Way to get average time spent

Justin

Thanks for telling me about perf tool. I think its a really good tool for 
finding hotspots. But I don't know how to test OVS caches with the perf tool.

Greg
Can you please throw some light on this matter. If perf is the right tool for 
getting time spent in EMC,datapath classifier and packet header extraction?
If yes, please tell me the way to do that? Which part I should perf for?


Thanks and Regards


On Wed, Mar 14, 2018 at 4:31 PM, Krish 
<attkillro...@gmail.com<mailto:attkillro...@gmail.com>> wrote:
Justin

Thanks for telling me about perf tool. I think its a really good tool for 
finding hotspots. But I don't know how to test OVS caches with the perf tool.

Greg
Can you please throw some light on this matter. If perf is the right tool for 
getting time spent in EMC,datapath classifier and packet header extraction?
If yes, please tell me the way to do that? Which part I should perf for?


Thanks and Regards

On Tue, Mar 13, 2018 at 2:08 AM, Justin Pettit 
<jpet...@ovn.org<mailto:jpet...@ovn.org>> wrote:
Greg (cc'd) could probably provide you a better answer, but I suspect the perf 
tool is a good place to start.

--Justin


> On Mar 12, 2018, at 3:24 AM, Krish 
> <attkillro...@gmail.com<mailto:attkillro...@gmail.com>> wrote:
>
> Hi users,
>
> I need to get the average time spent in packet extraction then in first level 
> cache , second level cache. I don't know the way to measure that.
>
> Can anyone please help me pointing to right direction?
> I think, I need to modify some code. Please guide me if I am right or wrong.
>
>
> Looking forward for a response from someone.
>
> Thanks
> _______________________________________________
> discuss mailing list
> disc...@openvswitch.org<mailto:disc...@openvswitch.org>
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to