igb kernel module reporting fix

Bug #829566 reported by joe williams
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Tim Gardner
Lucid
Fix Released
Undecided
Tim Gardner

Bug Description

On the latest Ubuntu 10.04 LTS kernel version I am experiencing the issue stated in this commit in Linus' tree,

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=12dcd86b75d571772512676ab301279952efc0b0

"Stats updated every two seconds, as reported by Jesper. (Jesper provided a patch for this)"

Would it be possible to merge this patch into 10.04 LTS? I believe it is already in 2.6.37.

joe williams (joetify)
affects: linux-ec2 (Ubuntu) → linux-meta (Ubuntu)
Revision history for this message
joe williams (joetify) wrote :
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

@Joe

Is it possible for you attach a debdiff of all the changes that would be required?

Also, changes to a stable release must pass all the requirements for a stable release update[1].

[1] https://wiki.ubuntu.com/StableReleaseUpdates

Revision history for this message
Andy Whitcroft (apw) wrote :

This is a kernel bug (with fix :)) so shoving over to linux package.

affects: linux-meta (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
joe williams (joetify) wrote :

@Andy

The basic issue is that we have software that monitors our servers using these stats and due to how they are tracked in the igb driver in 10.04 we miss our network statistics every other second. Obviously this is suboptimal, especially considering it seems that most other drivers don't have this flaw. My thought is that this patch would get igb statistic tracking on par with the other drivers, making things more consistent.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Joe - the patches required to fix this are way too intrusive for an SRU. Your best bet is to use one of the LTS backported kernels, e.g., linux-image-server-lts-backport-natty.

Changed in linux (Ubuntu):
assignee: nobody → Tim Gardner (timg-tpi)
status: Confirmed → Won't Fix
Revision history for this message
joe williams (joetify) wrote :

Would you be willing to SRU a patch that simply fixes the stats collecting for the igb driver rather than the above patch that updates the interface as well?

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Joe - it all depends on the possibility for regression. Did you have a patch mind?

Revision history for this message
joe damato (oze) wrote :

hi tim:

how about this patch?

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Joe - spin_lock_irqsave/spin_lock_irqrestore is not necessary. How about this patch? I think its SRU'able.

Changed in linux (Ubuntu Lucid):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu):
status: Won't Fix → Fix Released
Revision history for this message
joe damato (oze) wrote :

tim - i was saving/restoring irqs because the rx/tx queue stats could be modified when a tx/rx completes (for example, check the end of igb_clean_tx_irq). the individual queue stats are totaled up in igb_update_stats so updating the stats in igb_clean_tx_irq could be problematic...

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Joe - I was looking at the current upstream driver when I decided irq save/restore was not required. It looks to me like the stats gathered are produced by hardware and are not under CPU control. And in fact, the original intent of the lock portion of the patch was to prevent collision between simultaneous CPU read and writers, as well as update the stats whenever a reader requested them (e.g., ethtool).

Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Lucid):
status: In Progress → Fix Committed
Revision history for this message
joe williams (joetify) wrote :

What version of the 10.04 kernel are we likely to see this in?

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Joe - The next version will be 2.6.32-34.78 (or higher) which will have this patch. This bug report will get spammed with a reminder to test when its promoted to -proposed.

Revision history for this message
joe williams (joetify) wrote :

@tim has a new kernel been released yet with this patch?

Revision history for this message
joe williams (joetify) wrote :

Just to verify, does 2.6.32-34.77 include this change?

Revision history for this message
Herton R. Krzesinski (herton) wrote :

@joe: no, 2.6.32-34.77 doesn't include it.

But the kernel 2.6.32-35.78 in -proposed includes it, and is awaiting verification that it solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-lucid' to 'verification-done-lucid'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-lucid
Revision history for this message
joe williams (joetify) wrote :

Used nload and dstat to verify the stats are correct. This patch seems good.

Linux ubuntu.localhost 2.6.32-35-server #78-Ubuntu SMP Tue Oct 11 16:26:12 UTC 2011 x86_64 GNU/Linux

tags: added: verification-done-lucid
removed: verification-needed-lucid
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.2 KiB)

This bug was fixed in the package linux - 2.6.32-35.78

---------------
linux (2.6.32-35.78) lucid-proposed; urgency=low

  [Herton R. Krzesinski]

  * Release Tracking Bug
    - LP: #871899

  [ Andrew Dickinson ]

  * SAUCE: sched: Prevent divide by zero when cpu_power is 0
    - LP: #614853

  [ Stefan Bader ]

  * [Config] Force perf to use libiberty for demangling
    - LP: #783660

  [ Tim Gardner ]

  * [Config] Simplify binary-udebs dependencies
    - LP: #832352
  * [Config] kernel preparation cannot be parallelized
    - LP: #832352
  * [Config] Linearize module/abi checks
    - LP: #832352
  * [Config] Linearize and simplify tree preparation rules
    - LP: #832352
  * [Config] Build kernel image in parallel with modules
    - LP: #832352
  * [Config] Set concurrency for kmake invocations
    - LP: #832352
  * [Config] Improve install-arch-headers speed
    - LP: #832352
  * [Config] Fix binary-perarch dependencies
    - LP: #832352
  * [Config] Removed stamp-flavours target
    - LP: #832352
  * [Config] Serialize binary indep targets
    - LP: #832352
  * [Config] Use build stamp directly
    - LP: #832352
  * [Config] Restore prepare-% target
    - LP: #832352
  * [Config] Fix binary-% build target
  * [Config] Fix install-headers target
    - LP: #832352
  * SAUCE: igb: Protect stats update
    - LP: #829566
  * SAUCE: rtl8192se spams log
    - LP: #859702

  [ Upstream Kernel Changes ]

  * Add mount option to check uid of device being mounted = expect uid,
    CVE-2011-1833
    - LP: #732628
    - CVE-2011-1833
  * crypto: Move md5_transform to lib/md5.c
    - LP: #827462
  * net: Compute protocol sequence numbers and fragment IDs using MD5.
    - LP: #827462
  * ALSA: timer - Fix Oops at closing slave timer
    - LP: #827462
  * ALSA: snd-usb-caiaq: Fix keymap for RigKontrol3
    - LP: #827462
  * powerpc: Fix device tree claim code
    - LP: #827462
  * powerpc: pseries: Fix kexec on machines with more than 4TB of RAM
    - LP: #827462
  * Linux 2.6.32.45+drm33.19
    - LP: #827462
  * ipv6: make fragment identifications less predictable, CVE-2011-2699
    - LP: #827685
    - CVE-2011-2699
  * tunnels: fix netns vs proto registration ordering
    - LP: #823296
  * Fix broken backport for IPv6 tunnels in 2.6.32-longterm kernels.
  * USB: xhci: fix OS want to own HC
    - LP: #837669
  * USB: assign instead of equal in usbtmc.c
    - LP: #837669
  * USB: usb-storage: unusual_devs entry for ARM V2M motherboard.
    - LP: #837669
  * USB: Serial: Added device ID for Qualcomm Modem in Sagemcom's HiLo3G
    - LP: #837669
  * atm: br2864: sent packets truncated in VC routed mode
    - LP: #837669
  * hwmon: (ibmaem) add missing kfree
    - LP: #837669
  * ALSA: snd-usb-caiaq: Correct offset fields of outbound iso_frame_desc
    - LP: #837669
  * mm: fix wrong vmap address calculations with odd NR_CPUS values
    - LP: #837669
  * perf tools: do not look at ./config for configuration
    - LP: #837669
  * fs/partitions/efi.c: corrupted GUID partition tables can cause kernel
    oops
    - LP: #837669
  * befs: Validate length of long symbolic links.
    - LP: #837669
  * ALSA: snd_usb_caiaq: track submitted output urbs
    - LP: #8...

Read more...

Changed in linux (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.