Bug fixes for IBM VNIC Driver

Bug #1655379 reported by bugproxy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Yakkety
Fix Released
Undecided
Tim Gardner
Zesty
Fix Released
Undecided
Unassigned

Bug Description

In order to bring the VNIC driver up to date and pull in fixes for all of the bugs we have seen we would need to have the following patches applied.

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=12608c260d2fe36746508cb4fa20b6e9a5f9c241

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=87737f8810db445db171ca81ca4cc43bd5b067ce

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=d894be57ca92c8a8819ab544d550809e8731137b

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=9888d7b02c7793cbbcbdd05dd9e14cc0e78d1db7

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=8bf371e6adff29758cc3c57c17df4486513081f8

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=6dbcd8fb5968fda3a5fba019dfb0c80c3139627b

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=b7f193da17fb18b752bef77ce52eb49723299bd8

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/ethernet/ibm/ibmvnic.c?h=v4.10-rc3&id=e1fac0adf0f9b2c1eb49e658e6ed070a744bbaef

I created a tree based on 16.04.2 kernel and included these commits.

https://github.com/leitao/ubuntu-yakkety/tree/vnic

I will be generating kernel binaries, so, we can test it.

bugproxy (bugproxy)
tags: added: architecture-ppc64le bugnameltc-150372 severity-high targetmilestone-inin16042
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2017-01-10 12:23 EDT-------
I just found that patch d894be57ca92c8a8819ab544d550809e8731137b is not required, since it depends on a52ad514fdf3b8a57ca4322c92d2d8d5c6182485, and a52ad514fdf3b8a57ca4322c92d2d8d5c6182485 is not in 4.8 tree.

Thus, not adding d894be57ca92c8a8819ab544d550809e8731137b

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2017-01-10 14:56 EDT-------
I rebased these patches on top of Ubuntu 16.04.2 (4.8.0-32.34)

------- Comment From <email address hidden> 2017-01-10 14:58 EDT-------
I rebased these patches on top of Ubuntu 16.04.2 (4.8.0-32.34)

https://github.com/leitao/ubuntu-yakkety/commits/vnic

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

brenohl - How about this: ? Note that I've used '-s -x' when cherry picking, and have inserted a BugLink into the patch.

The following changes since commit e2cafae0c1f4504a34f0910356a31257763b101f:

  ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it (2017-01-09 16:25:37 +0000)

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-yakkety.git vnic

for you to fetch changes up to defac4f7e4bcfde4c89f966a911d6ddbd3145151:

  ibmvnic: Fix size of debugfs name buffer (2017-01-10 16:03:21 -0700)

----------------------------------------------------------------
John Allen (1):
      ibmvnic: Start completion queue negotiation at server-provided optimum values

Thomas Falcon (6):
      ibmvnic: Fix GFP_KERNEL allocation in interrupt context
      ibmvnic: Update MTU after device initialization
      ibmvnic: Fix releasing of sub-CRQ IRQs in interrupt context
      ibmvnic: Fix missing brackets in init_sub_crq_irqs
      ibmvnic: Unmap ibmvnic_statistics structure
      ibmvnic: Fix size of debugfs name buffer

 drivers/net/ethernet/ibm/ibmvnic.c | 55 +++++++++++++++++++++++++++++++++++++------------------
 drivers/net/ethernet/ibm/ibmvnic.h | 1 +
 2 files changed, 38 insertions(+), 18 deletions(-)

Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu Zesty):
assignee: Taco Screen team (taco-screen-team) → nobody
status: New → Fix Released
Revision history for this message
Breno Leitão (breno-leitao) wrote :

Thanks Tim.

I did the backport to generate a internal kernel image to let the testers use it. I will regenerate using your branch.

By the way, when I am compiling this kernel on 16.04 using[1], I am facing the following error:
  "EE: Unresolved module dependencies in base package!". Have you ever seen this?

[1] DEB_BUILD_OPTIONS=parallel=20 AUTOBUILD=1 NOEXTRAS=1 skipabi=true fakeroot debian/rules binary"

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

There should be some info in generic.depmod.log or generic.inclusion-list.log. I am building this branch within a Zesty amd64 chroot using 'fakeroot debian/rules clean arch=ppc64el; do_tools=false dpkg-buildpackage -d -appc64el -b -rfakeroot -us -uc'.

Revision history for this message
Breno Leitão (breno-leitao) wrote :

In Fact, I am not able to find anything useful in these files, other than the error. Take a look

Revision history for this message
Breno Leitão (breno-leitao) wrote :
Revision history for this message
Tim Gardner (timg-tpi) wrote :

IIRC "needs unknown symbol .TOC" was a toolchain issue (binutils). Try using a Zesty chroot.

Revision history for this message
Tim Gardner (timg-tpi) wrote :
Revision history for this message
bugproxy (bugproxy) wrote : generic.depmod.log

Default Comment by Bridge

Revision history for this message
bugproxy (bugproxy) wrote : generic.inclusion-list.log

Default Comment by Bridge

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2017-01-20 12:22 EDT-------
Tim,

> IIRC "needs unknown symbol .TOC" was a toolchain issue (binutils). Try using
> a Zesty chroot.

It does not happen on Zesty, but it creates a dependency for a newer binutils, which blocks the new kernel installation on 16.04.

I understand that binutils is missing some patches.

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

A workaround is to revert "powerpc: Simplify module TOC handling" in the kernel when building with the 16.04 toolchain.

Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

If verification is not done by 5 working days 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-yakkety
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (20.4 KiB)

This bug was fixed in the package linux - 4.8.0-38.41

---------------
linux (4.8.0-38.41) yakkety; urgency=low

  [ Thadeu Lima de Souza Cascardo ]

  * Release Tracking Bug
    - LP: #1661232

  * Backport Dirty COW patch to prevent wineserver freeze (LP: #1658270)
    - SAUCE: mm: Respect FOLL_FORCE/FOLL_COW for thp

  * Kdump through NMI SMP and single core not working on Ubuntu16.10
    (LP: #1630924)
    - x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic
    - SAUCE: hv: don't reset hv_context.tsc_page on crash

  * Call trace when testing fstat stressor on ppc64el with virtual keyboard and
    mouse present (LP: #1652132)
    - HID: usbhid: Quirk a AMI virtual mouse and keyboard with ALWAYS_POLL

  * regression in linux-libc-dev in yakkety: C++ style comments are not allowed
    in ISO C90 (LP: #1659654)
    - generic syscalls: kill cruft from removed pkey syscalls

  * [16.04.2] POWER9 patches on top of 4.8 (LP: #1650263)
    - powerpc/book3s: Add a cpu table entry for different POWER9 revs
    - powerpc/mm/radix: Use different RTS encoding for different POWER9 revs
    - powerpc/mm/radix: Use different pte update sequence for different POWER9
      revs
    - powerpc/mm: Update the HID bit when switching from radix to hash
    - powerpc/64/kexec: NULL check "clear_all" in kexec_sequence
    - powerpc/64/kexec: Fix MMU cleanup on radix
    - powerpc/mm: Add radix flush all with IS=3
    - powerpc/64/kexec: Copy image with MMU off when possible
    - powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
    - powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
    - powerpc/mm: Fix missing update of HID register on secondary CPUs
    - powerpc/64: Add some more SPRs and SPR bits for POWER9
    - powerpc/64: Provide functions for accessing POWER9 partition table
    - powerpc/powernv: Define real-mode versions of OPAL XICS accessors
    - powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value
    - mm: update mmu_gather range correctly
    - mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
    - mm: add tlb_remove_check_page_size_change to track page size change
    - powerpc: Revert Load Monitor Register Support
    - powerpc/mm: Correct process and partition table max size
    - powernv: Clear SPRN_PSSCR when a POWER9 CPU comes online
    - powerpc/mm/radix: Setup AMOR in HV mode to allow key 0
    - powerpc/mm: Detect instruction fetch denied and report
    - powerpc/mm/radix: Prevent kernel execution of user space
    - powerpc/mm: Rename hugetlb-radix.h to hugetlb.h
    - powerpc/mm/hugetlb: Handle hugepage size supported by hash config
    - powerpc/mm: Introduce _PAGE_LARGE software pte bits
    - powerpc/mm: Add radix__tlb_flush_pte_p9_dd1()
    - powerpc/mm: update radix__ptep_set_access_flag to not do full mm tlb flush
    - powerpc/mm: update radix__pte_update to not do full mm tlb flush
    - powerpc/mm: Batch tlb flush when invalidating pte entries
    - powerpc/sparse: Make a bunch of things static
    - powerpc/perf: factor out the event format field
    - powerpc/perf: update attribute_group data structure
    - powerpc/perf: power9 raw event format en...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Brad Figg (brad-figg)
tags: added: cscc
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.