Thanks for sharing the background. Yes, we are expecting the transceiver modules to be present for most cases as well. What we are seeing now is some user space processes can slow down to unusable state due to their periodically doing ioctl calls. I'm also looking into changing the behavior of the user space processes we have identified, but the list could grow... Is there a better way of detecting whether the module is present?
Thanks, Jason On 6/16/14, 7:53 AM, "Fujinaka, Todd" <[email protected]> wrote: >Unfortunately that's the result of an actual fix. The I2C code, to be >robust (and, if I recall correctly, to be correct) takes a while to time >out. More empty ports means a longer time to confirm that the ports are >empty. > >We are expecting the standard use case to not have four empty ports. > >Todd Fujinaka >Software Application Engineer >Networking Division (ND) >Intel Corporation >[email protected] >(503) 712-4565 > >-----Original Message----- >From: Jason Zhang [mailto:[email protected]] >Sent: Saturday, June 14, 2014 2:21 PM >To: [email protected] >Subject: [E1000-devel] slow network device access with 10g SFP+ card w/o >modules > >We noticed very slow app performance when 10g SFP+ card has no modules >plugged in. After some digging, it seems to be related to the ethtool >ioctl call to those interfaces w/o modules. This is the sequence of the >problematic call: > >dev_ioctl > rtnl_lock() > dev_ethtool() > ixgbe_get_settings() > ixgbe_identify_sfp_module_generic() > ixgbe_read_i2c_eeprom_generic() > ...(rest of logic omitted) > rtnl_unlock() > >ixgbe_read_i2c_eeprom_generic() would try to read a byte from i2c bus >(clk & data line driven by sw), it would fail, the function would proceed >with msleep(100), and retry. After 10 retries, it gives up. All this time >(~0.4s) the lock is held. > >On our system w/ a 4 port SFP+ card, and snmpd goes around and issue >ioctl to each of those interfaces, the effect is quite obvious. > >Has anyone else run into this issue or have a fix? :) I'm experimenting >with reducing the number of retries and the msleep duration, but not sure >if that may break other things. ixgbe used is 3.19.1 off sourceforge. >Haven't worked with ixgbe code much, your insight is greatly appreciated. > >Thanks, >Jason > > > >-------------------------------------------------------------------------- >---- >HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions >Find What Matters Most in Your Big Data with HPCC Systems Open Source. >Fast. Scalable. Simple. Ideal for Dirty Data. >Leverages Graph Analysis for Fast Processing & Easy Data Exploration >http://p.sf.net/sfu/hpccsystems >_______________________________________________ >E1000-devel mailing list >[email protected] >https://lists.sourceforge.net/lists/listinfo/e1000-devel >To learn more about Intel® Ethernet, visit >http://communities.intel.com/community/wired ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
