<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/intel/igb/igb.h, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-08-18T21:06:03Z</updated>
<entry>
<title>igb: Fix oops caused by missing queue pairing</title>
<updated>2015-08-18T21:06:03Z</updated>
<author>
<name>Shota Suzuki</name>
<email>suzuki_shota_t3@lab.ntt.co.jp</email>
</author>
<published>2015-07-01T00:25:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=72ddef0506da852dc82f078f37ced8ef4d74a2bf'/>
<id>urn:sha1:72ddef0506da852dc82f078f37ced8ef4d74a2bf</id>
<content type='text'>
When initializing igb driver (e.g. 82576, I350), IGB_FLAG_QUEUE_PAIRS is
set if adapter-&gt;rss_queues exceeds half of max_rss_queues in
igb_init_queue_configuration().
On the other hand, IGB_FLAG_QUEUE_PAIRS is not set even if the number of
queues exceeds half of max_combined in igb_set_channels() when changing
the number of queues by "ethtool -L".
In this case, if numvecs is larger than MAX_MSIX_ENTRIES (10), the size
of adapter-&gt;msix_entries[], an overflow can occur in
igb_set_interrupt_capability(), which in turn leads to an oops.

Fix this problem as follows:
 - When changing the number of queues by "ethtool -L", set
   IGB_FLAG_QUEUE_PAIRS in the same way as initializing igb driver.
 - When increasing the size of q_vector, reallocate it appropriately.
   (With IGB_FLAG_QUEUE_PAIRS set, the size of q_vector gets larger.)

Another possible way to fix this problem is to cap the queues at its
initial number, which is the number of the initial online cpus. But this
is not the optimal way because we cannot increase queues when another
cpu becomes online.

Note that before commit cd14ef54d25b ("igb: Change to use statically
allocated array for MSIx entries"), this problem did not cause oops
but just made the number of queues become 1 because of entering msi_only
mode in igb_set_interrupt_capability().

Fixes: 907b7835799f ("igb: Add ethtool support to configure number of channels")
CC: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Shota Suzuki &lt;suzuki_shota_t3@lab.ntt.co.jp&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: enable auxiliary PHC functions for the i210</title>
<updated>2015-01-23T02:10:19Z</updated>
<author>
<name>Richard Cochran</name>
<email>richardcochran@gmail.com</email>
</author>
<published>2014-11-21T20:51:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=720db4ffd0846570c1ddc82e7bb661ab0a676fad'/>
<id>urn:sha1:720db4ffd0846570c1ddc82e7bb661ab0a676fad</id>
<content type='text'>
The i210 device offers a number of special PTP Hardware Clock features on
the Software Defined Pins (SDPs). This patch adds support for two of the
possible functions, namely time stamping external events, and periodic
output signals.

The assignment of PHC functions to the four SDP can be freely chosen by
the user.

Signed-off-by: Richard Cochran &lt;richardcochran@gmail.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>time: move the timecounter/cyclecounter code into its own file.</title>
<updated>2014-12-30T23:29:25Z</updated>
<author>
<name>Richard Cochran</name>
<email>richardcochran@gmail.com</email>
</author>
<published>2014-12-21T18:46:56Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=74d23cc704d19732e70ef1579a669f7d5f09dd9a'/>
<id>urn:sha1:74d23cc704d19732e70ef1579a669f7d5f09dd9a</id>
<content type='text'>
The timecounter code has almost nothing to do with the clocksource
code. Let it live in its own file. This will help isolate the
timecounter users from the clocksource users in the source tree.

Signed-off-by: Richard Cochran &lt;richardcochran@gmail.com&gt;
Acked-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>igb: remove blocking phy read from inside spinlock</title>
<updated>2014-10-02T09:30:39Z</updated>
<author>
<name>Bernhard Kaindl</name>
<email>bk-linux@use.startmail.com</email>
</author>
<published>2014-09-17T19:11:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7acf631889ec2ba7431a86a4c8db9698a496e964'/>
<id>urn:sha1:7acf631889ec2ba7431a86a4c8db9698a496e964</id>
<content type='text'>
Remove a source of latency spikes (in my case up to 10ms) by not calling
code that uses mdelay() for feeding a phy statistic (rx errors for idle
symbols - not data -&gt; idle_errors) while being called with a spinlock held.

As idle_errors isn't read, this patch only removes unused code and data.

Later, more complicated changes may be applied to address the spinlock and
allow for some PHY diagnostics by harvesting this PHY stats register fully.

This patch is designed to fix the issue and be safe for longterm/stable.

For the Intel e1000e driver, the same change was applied in 2008 with
commit 23033fad5be0 ("e1000e: remove phy read from inside spinlock").

The mdelay is triggered by HW/SW semaphores, thus it depends on the HW.

I've HW that triggers it even when idle. Others may trigger it only e.g.
when Ethernet ports aquire or loose the link or on ifconfig up / down.
We've noticed this first from delays in frame rx/tx due to the mdelay().

Example command for checking if the issue is triggered: cyclictest -Smp1
(Look for occasional "Max:" values &gt; 4000 or use -b 4000 to stop if greater)

It was observed with I350 ports connected to other I350 ports, but not
if driver and EEPROM was modified to run the I350 in EEPROM-less mode.

phy_stats.idle_errors and .receive_errors (isn't touched) occupy 64 not
used bits in the adapter struct: Their allocation may be removed as well.

Cc: Carolyn Wyborny &lt;carolyn.wyborny@intel.com&gt;
Cc: Todd Fujinaka &lt;todd.fujinaka@intel.com&gt;
Fixes: 12dcd86b75d5 ("igb: fix stats handling") (this added the spin_lock)
Signed-off-by: Bernhard Kaindl &lt;bk-linux@use.startmail.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: Cleanups to change comment style on license headers</title>
<updated>2014-04-25T00:26:27Z</updated>
<author>
<name>Carolyn Wyborny</name>
<email>carolyn.wyborny@intel.com</email>
</author>
<published>2014-04-11T01:46:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e52c0f960cbc2c691cbb809ac0bfec2becfe6da9'/>
<id>urn:sha1:e52c0f960cbc2c691cbb809ac0bfec2becfe6da9</id>
<content type='text'>
This patch fixes WARNING:NETWORKING_BLOCK_COMMENT_STYLE from checkpatch file check.

Signed-off-by: Carolyn Wyborny &lt;carolyn.wyborny@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: Cleanups to fix incorrect indentation</title>
<updated>2014-04-23T08:43:26Z</updated>
<author>
<name>Carolyn Wyborny</name>
<email>carolyn.wyborny@intel.com</email>
</author>
<published>2014-04-11T01:45:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9005df38615bb3545cb6e4db59db73b27b6c0140'/>
<id>urn:sha1:9005df38615bb3545cb6e4db59db73b27b6c0140</id>
<content type='text'>
This patch fixes WARNING:LEADING_SPACE, WARNING:SPACING, ERROR:SPACING,
WARNING:SPACE_BEFORE_TAB and ERROR_CODE_INDENT from checkpatch file check.

Signed-off-by: Carolyn Wyborny &lt;carolyn.wyborny@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: fix last_rx_timestamp usage</title>
<updated>2014-04-11T12:58:08Z</updated>
<author>
<name>Jakub Kicinski</name>
<email>kubakici@wp.pl</email>
</author>
<published>2014-04-02T10:33:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5499a968d49f22ef166a360ffd74364bfb7233d6'/>
<id>urn:sha1:5499a968d49f22ef166a360ffd74364bfb7233d6</id>
<content type='text'>
last_rx_timestamp should be updated only when rx time stamp is
read. Also it's only used with NICs that have per-interface time
stamping resources so it can be moved to adapter structure and
set in igb_ptp_rx_rgtstamp().

Signed-off-by: Jakub Kicinski &lt;kubakici@wp.pl&gt;
Acked-by: Matthew Vick &lt;matthew.vick@intel.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: fix race conditions on queuing skb for HW time stamp</title>
<updated>2014-03-28T13:54:02Z</updated>
<author>
<name>Jakub Kicinski</name>
<email>kubakici@wp.pl</email>
</author>
<published>2014-03-15T14:55:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ed4420a3b412b09cc60d6e3d662428b7e6c36e90'/>
<id>urn:sha1:ed4420a3b412b09cc60d6e3d662428b7e6c36e90</id>
<content type='text'>
igb has a single set of TX time stamping resources per NIC.
Use a simple bit lock to avoid race conditions and leaking skbs
when multiple TX rings try to claim time stamping.

Signed-off-by: Jakub Kicinski &lt;kubakici@wp.pl&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: implement SIOCGHWTSTAMP ioctl</title>
<updated>2014-03-21T09:51:24Z</updated>
<author>
<name>Jacob Keller</name>
<email>jacob.e.keller@intel.com</email>
</author>
<published>2014-01-11T07:20:06Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6ab5f7b2981e842e318ff48c708aaaa2a5a6a43e'/>
<id>urn:sha1:6ab5f7b2981e842e318ff48c708aaaa2a5a6a43e</id>
<content type='text'>
This patch adds support for the SIOCGHWTSTAMP ioctl which enables user
processes to read the current hwtstamp_config settings
non-destructively. Previously a process had to be privileged and could
only set values, it couldn't return what is currently set without
possibly overwriting the value.

This patch adds support for this new operation into igb by keeping a
shadow copy of the config in the adapter structure, which is returned
upon request.

Signed-off-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Acked-by: Matthew Vick &lt;matthew.vick@intel.com&gt;
Tested-by: Jeff Pieper &lt;jeffrey.e.pieper@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: Fix for devices using ethtool for EEE settings</title>
<updated>2014-03-13T01:58:39Z</updated>
<author>
<name>Carolyn Wyborny</name>
<email>carolyn.wyborny@intel.com</email>
</author>
<published>2014-03-12T03:58:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f4c01e965fd0c623afa9fc8d9276d5ccdf297209'/>
<id>urn:sha1:f4c01e965fd0c623afa9fc8d9276d5ccdf297209</id>
<content type='text'>
This patch fixes a problem where using ethtool for EEE setting was not
working correctly.  This patch also fixes a problem where
the function that checks for EEE status on i354 devices was not being
called and was causing warnings with static analysis tools.

Reported-by: Rashika Kheria &lt;rashika.kheria@gmail.com&gt;
Reported-by: Josh Triplett &lt;josh@joshtriplett.org&gt;
Reported-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Signed-off-by: Carolyn Wyborny &lt;carolyn.wyborny@intel.com&gt;
Tested-by: Jeff Pieper &lt;jeffrey.e.pieper@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
</feed>
