> -----Original Message----- > From: Duyck, Alexander H > Sent: Tuesday, November 27, 2012 11:08 AM > To: Richard Cochran > Cc: Andrey Wagin; Keller, Jacob E; e1000-devel@lists.sourceforge.net; > Schmitt, Phillip J > Subject: Re: [E1000-devel] ixgbe: Performance degradation due to v3.5-rc1- > 478-g1d1a79b > > On 11/27/2012 10:50 AM, Richard Cochran wrote: > > On Tue, Nov 13, 2012 at 12:33:03AM +0400, Andrey Wagin wrote: > > > >> I found that this test returns 372293 req/sec without a problematic > patch > >> and only 334911 req/sec with this patch. A degradation is about 10%. > > Wow, that seems a little high. Are you sure? > > > >> commit 1d1a79b5b94b0aa84e1e78dd9acdcffb12274848 > >> Author: Jacob Keller <jacob.e.kel...@intel.com> > >> Date: Tue May 22 06:18:08 2012 +0000 > >> > >> ixgbe: Check PTP Rx timestamps via BPF filter > > This is a git commit... > > > >> Ask me, if you will need more information. Sorry, if it is a wrong > alarm. > > ... but what two kernels did you test, exactly? > > > > Anyhow, unless you have enabled PTP time stamping, it is hard to see > > how that patch could cause such a large performance hit. > > > > Thanks, > > Richard > > Actually the reason for the slowdown is pretty obvious. The problem is > that in ixgbe_ptp_rx_hwtstamp the read to TSYNCRXCTL is now always > happening if ixgbe is built with PTP enabled. The memory mapped I/O > read will be quite expensive. > > I believe Jacob has a patch in the works to disable the call to > ixgbe_ptp_rx_hwstamp until the ioctl is called to enable HW timestamping > on receive. > > Thanks, > > Alex
There's also a patch which swaps the ordering of the I/O read to be after the filter, and only used if the filter passes. The result is the same logic but reduces the cost significantly. - Jake ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: DESIGN Expert tips on starting your parallel project right. http://goparallel.sourceforge.net _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired