<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/intel/igb, branch linux-5.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2019-05-31T13:45:18Z</updated>
<entry>
<title>igb: Exclude device from suspend direct complete optimization</title>
<updated>2019-05-31T13:45:18Z</updated>
<author>
<name>Kai-Heng Feng</name>
</author>
<published>2018-12-11T07:59:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3c910a02c9ba1862497776d349b968123e7e31be'/>
<id>urn:sha1:3c910a02c9ba1862497776d349b968123e7e31be</id>
<content type='text'>
[ Upstream commit 5b6e13216be29ced7350d9c354a1af8fe0ad9a3e ]

igb sets different WoL settings in system suspend callback and runtime
suspend callback.

The suspend direct complete optimization leaves igb in runtime suspended
state with wrong WoL setting during system suspend.

To fix this, we need to disable suspend direct complete optimization to
let igb always use suspend callback to set correct WoL during system
suspend.

Signed-off-by: Kai-Heng Feng &lt;kai.heng.feng@canonical.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;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>igb: Fix WARN_ONCE on runtime suspend</title>
<updated>2019-05-08T05:22:49Z</updated>
<author>
<name>Arvind Sankar</name>
</author>
<published>2019-03-02T16:01:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29cdcf7c4d5942b65611e74ae3366de847d52c9e'/>
<id>urn:sha1:29cdcf7c4d5942b65611e74ae3366de847d52c9e</id>
<content type='text'>
[ Upstream commit dabb8338be533c18f50255cf39ff4f66d4dabdbe ]

The runtime_suspend device callbacks are not supposed to save
configuration state or change the power state. Commit fb29f76cc566
("igb: Fix an issue that PME is not enabled during runtime suspend")
changed the driver to not save configuration state during runtime
suspend, however the driver callback still put the device into a
low-power state. This causes a warning in the pci pm core and results in
pci_pm_runtime_suspend not calling pci_save_state or pci_finish_runtime_suspend.

Fix this by not changing the power state either, leaving that to pci pm
core, and make the same change for suspend callback as well.

Also move a couple of defines into the appropriate header file instead
of inline in the .c file.

Fixes: fb29f76cc566 ("igb: Fix an issue that PME is not enabled during runtime suspend")
Signed-off-by: Arvind Sankar &lt;niveditas98@gmail.com&gt;
Reviewed-by: Kai-Heng Feng &lt;kai.heng.feng@canonical.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;
Signed-off-by: Sasha Levin (Microsoft) &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>Revert "igb: reduce CPU0 latency when updating statistics"</title>
<updated>2019-01-15T21:33:44Z</updated>
<author>
<name>Jeff Kirsher</name>
</author>
<published>2019-01-09T17:10:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5642e27bf6a935c1d0d9149e83d625dfba286463'/>
<id>urn:sha1:5642e27bf6a935c1d0d9149e83d625dfba286463</id>
<content type='text'>
This reverts commit 59361316afcb08569af21e1af83e89c7051c055a.

Due to problems found in additional testing, this causes an illegal
context switch in the RCU read-side critical section.

CC: Dave Jones &lt;davej@codemonkey.org.uk&gt;
CC: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
CC: Jan Jablonsky &lt;jan.jablonsky@thalesgroup.com&gt;
Signed-off-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: Fix an issue that PME is not enabled during runtime suspend</title>
<updated>2018-12-20T20:14:23Z</updated>
<author>
<name>Kai-Heng Feng</name>
</author>
<published>2018-12-03T05:54:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1fb3a7a75e2efcc83ef21f2434069cddd6fae6f5'/>
<id>urn:sha1:1fb3a7a75e2efcc83ef21f2434069cddd6fae6f5</id>
<content type='text'>
I210 ethernet card doesn't wakeup when a cable gets plugged. It's
because its PME is not set.

Since commit 42eca2302146 ("PCI: Don't touch card regs after runtime
suspend D3"), if the PCI state is saved, pci_pm_runtime_suspend() stops
calling pci_finish_runtime_suspend(), which enables the PCI PME.

To fix the issue, let's not to save PCI states when it's runtime
suspend, to let the PCI subsystem enables PME.

Fixes: 42eca2302146 ("PCI: Don't touch card regs after runtime suspend D3")
Signed-off-by: Kai-Heng Feng &lt;kai.heng.feng@canonical.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: Change RXPBSIZE size when setting Qav mode</title>
<updated>2018-12-20T19:45:10Z</updated>
<author>
<name>Jesus Sanchez-Palencia</name>
</author>
<published>2018-11-17T00:19:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f9ae17530f996e90268dae5ee843e432e40ccb3'/>
<id>urn:sha1:6f9ae17530f996e90268dae5ee843e432e40ccb3</id>
<content type='text'>
Section 4.5.9 of the datasheet says that the total size of all packet
buffers combined (TxPB 0 + 1 + 2 + 3 + RxPB + BMC2OS + OS2BMC) must not
exceed 60KB. Today we are configuring a total of 62KB, so reduce the
RxPB from 32KB to 30KB in order to respect that.

The choice of changing RxPBSIZE here is mainly because it seems more
correct to give more priority to the transmit packet buffers over the
receiver ones when running in Qav mode. Also, the BMC2OS and OS2BMC
sizes are already too short.

Signed-off-by: Jesus Sanchez-Palencia &lt;jesus.s.palencia@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>igb: reduce CPU0 latency when updating statistics</title>
<updated>2018-12-20T19:02:06Z</updated>
<author>
<name>Jeff Kirsher</name>
</author>
<published>2018-08-02T17:13:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=59361316afcb08569af21e1af83e89c7051c055a'/>
<id>urn:sha1:59361316afcb08569af21e1af83e89c7051c055a</id>
<content type='text'>
This change is based off of the work and suggestion of Jan Jablonsky
&lt;jan.jablonsky@thalesgroup.com&gt;.

The Watchdog workqueue in igb driver is scheduled every 2s for each
network interface. That includes updating a statistics protected by
spinlock. Function igb_update_stats in this case will be protected
against preemption. According to number of a statistics registers
(cca 60), processing this function might cause additional cpu load
 on CPU0.

In case of statistics spinlock may be replaced with mutex, which
reduce latency on CPU0.

CC: Bernhard Kaindl  &lt;bernhard.kaindl@thalesgroup.com&gt;
CC: Jan Jablonsky &lt;jan.jablonsky@thalesgroup.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@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>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2018-11-29T06:10:54Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2018-11-29T06:10:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e561bb29b650d2817d10a4858f1817836ed08399'/>
<id>urn:sha1:e561bb29b650d2817d10a4858f1817836ed08399</id>
<content type='text'>
Trivial conflict in net/core/filter.c, a locally computed
'sdif' is now an argument to the function.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>igb: fix uninitialized variables</title>
<updated>2018-11-28T16:27:47Z</updated>
<author>
<name>Yunjian Wang</name>
</author>
<published>2018-11-06T08:27:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4c39f7926b4de355f7df75651d75003806aae09'/>
<id>urn:sha1:e4c39f7926b4de355f7df75651d75003806aae09</id>
<content type='text'>
This patch fixes the variable 'phy_word' may be used uninitialized.

Signed-off-by: Yunjian Wang &lt;wangyunjian@huawei.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>ethernet/intel: consolidate NAPI and NAPI exit</title>
<updated>2018-11-21T18:35:23Z</updated>
<author>
<name>Jesse Brandeburg</name>
</author>
<published>2018-11-08T22:55:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0bcd952feec7042d9a5383b639c8edc943402add'/>
<id>urn:sha1:0bcd952feec7042d9a5383b639c8edc943402add</id>
<content type='text'>
While reviewing code, I noticed that Eric Dumazet recommends that
drivers check the return code of napi_complete_done, and use that
to decide to enable interrupts or not when exiting poll.  One of
the Intel drivers was already fixed (ixgbe).

Upon looking at the Intel drivers as a whole, we are handling our
polling and NAPI exit in a few different ways based on whether we
have multiqueue and whether we have Tx cleanup included. Several
drivers had the bug of exiting NAPI with return 0, which appears
to mess up the accounting in the stack.

Consolidate all the NAPI routines to do best known way of exiting
and to just mostly look like each other.
1) check return code of napi_complete_done to control interrupt enable
2) return the actual amount of work done.
3) return budget immediately if need NAPI poll again

Tested the changes on e1000e with a high interrupt rate set, and
it shows about an 8% reduction in the CPU utilization when busy
polling because we aren't re-enabling interrupts when we're about
to be polled.

Signed-off-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Tested-by: Andrew Bowers &lt;andrewx.bowers@intel.com&gt;
Reviewed-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
<entry>
<title>igb: Fix format with line continuation whitespace</title>
<updated>2018-11-21T18:22:10Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2018-11-01T07:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4df3c543a72585fdcac8fed9547d2ce395729221'/>
<id>urn:sha1:4df3c543a72585fdcac8fed9547d2ce395729221</id>
<content type='text'>
The line continuation unintentionally adds whitespace so
instead use a coalesced format to remove the whitespace.

Miscellanea:

o Use a more typical style for ternaries and arguments
  for this logging message

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Tested-by: Aaron Brown &lt;aaron.f.brown@intel.com&gt;
Acked-by: Vinicius Costa Gomes &lt;vinicius.gomes@intel.com&gt;
Signed-off-by: Jeff Kirsher &lt;jeffrey.t.kirsher@intel.com&gt;
</content>
</entry>
</feed>
