On Thu, Jan 24, 2013 at 7:34 AM, Jarno Rajahalme <jarno.rajaha...@nsn.com> wrote: > > On Jan 23, 2013, at 19:30 , ext Jesse Gross wrote: > >> On Tue, Jan 22, 2013 at 9:48 PM, Jarno Rajahalme >> <jarno.rajaha...@nsn.com> wrote: >>> Add OVS_PACKET_ATTR_KEY_INFO to relieve userspace from re-computing >>> data already computed within the kernel datapath. In the typical >>> case of an upcall with perfect key fitness between kernel and >>> userspace this eliminates flow_extract() and flow_hash() calls in >>> handle_miss_upcalls(). >>> >>> Additional bookkeeping within the kernel datapath is minimal. >>> Kernel flow insertion also saves one flow key hash computation. >>> >>> Removed setting the packet's l7 pointer for ICMP packets, as this was >>> never used. >>> >>> Signed-off-by: Jarno Rajahalme <jarno.rajaha...@nsn.com> >>> --- >>> >>> This likely requires some discussion, but it took a while for me to >>> understand why each packet miss upcall would require flow_extract() >>> right after the flow key has been obtained from odp attributes. >> >> Do you have any performance numbers to share? Since this is an >> optimization it's important to understand if the benefit is worth the >> extra complexity. > > Not yet, but would be happy to. Any hits towards for the best way of obtaining > meaningful numbers for something like this?
This is a flow setup optimization, so usually something like netperf TCP_CRR would be a good way to stress that. However, Ben mentioned to me that he had tried eliminating the flow_extract() call from userspace in the past and the results were disappointing. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev