← Back to team overview

kernel-packages team mailing list archive

[Bug 1467912] Re: error "ib_dealloc_pd failed" when load unload ib_ipoib module

 

** Tags removed: verification-needed-vivid
** Tags added: verification-done-vivid

** Changed in: linux (Ubuntu)
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1467912

Title:
  error "ib_dealloc_pd failed" when load unload ib_ipoib module

Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Vivid:
  Fix Committed

Bug description:
  When we try to load and unload the ib_ipoib driver we get an error
  message.

  Steps to reproduce:

  load ib_ipoib: modprobe -v ib_ipoib
  configure ip: ifconfig ib0 11.135.196.7/16
  unload driver: modprobe -rv ib_ipoib

  We will see this message in dmesg:

  [  709.652944] ib0: ib_dealloc_pd failed

  uname output:

  root@qa-h-vrt-035:~# uname -a
  Linux qa-h-vrt-035 3.19.0-16-generic #16-Ubuntu SMP Thu Apr 30 16:09:58 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

  The following two upstream commits fix this issue:

  commit 9ab874b6593045886b699df2bc3ff803d88a9f7c
  Author: Doug Ledford <dledford@xxxxxxxxxx>
  Date:   Sat Feb 21 19:27:00 2015 -0500

      IB/ipoib: change init sequence ordering
      
      In preparation for using per device work queues, we need to move the
      start of the neighbor thread task to after ipoib_ib_dev_init and move
      the destruction of the neighbor task to before ipoib_ib_dev_cleanup.
      Otherwise we will end up freeing our workqueue with work possibly
      still on it.
      
      Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>


  commit 6387d8d5896536b904ba6937fe019a29548e3a86
  Author: Doug Ledford <dledford@xxxxxxxxxx>
  Date:   Sat Feb 21 19:26:59 2015 -0500

      IB/ipoib: factor out ah flushing
      
      Create a an ipoib_flush_ah and ipoib_stop_ah routines to use at
      appropriate times to flush out all remaining ah entries before we shut
      the device down.
      
      Because neighbors and mcast entries can each have a reference on any
      given ah, we must make sure to free all of those first before our ah
      will actually have a 0 refcount and be able to be reaped.
      
      This factoring is needed in preparation for having per-device work
      queues.  The original per-device workqueue code resulted in the following
      error message:
      
      <ibdev>: ib_dealloc_pd failed
      
      That error was tracked down to this issue.  With the changes to which
      workqueues were flushed when, there were no flushes of the per device
      workqueue after the last ah's were freed, resulting in an attempt to
      dealloc the pd with outstanding resources still allocated.  This code
      puts the explicit flushes in the needed places to avoid that problem.
      
      Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>
  --- 
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Jun 23 15:16 seq
   crw-rw---- 1 root audio 116, 33 Jun 23 15:16 timer
  AplayDevices: Error: [Errno 2] No such file or directory
  ApportVersion: 2.17.2-0ubuntu1.1
  Architecture: amd64
  ArecordDevices: Error: [Errno 2] No such file or directory
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
  DistroRelease: Ubuntu 15.04
  HibernationDevice: RESUME=UUID=00a63930-d83a-446b-a3e4-b5910e884c7f
  IwConfig: Error: [Errno 2] No such file or directory
  Lsusb: Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  MachineType: Red Hat KVM
  Package: linux (not installed)
  PciMultimedia:
   
  ProcFB: 0 cirrusdrmfb
  ProcKernelCmdLine: root=/dev/sda2 console=tty0 console=ttyS0,115200n8 rhgb
  ProcVersionSignature: Ubuntu 3.19.0-20.20-generic 3.19.8
  RelatedPackageVersions:
   linux-restricted-modules-3.19.0-20-generic N/A
   linux-backports-modules-3.19.0-20-generic  N/A
   linux-firmware                             1.143
  RfKill: Error: [Errno 2] No such file or directory
  Tags:  vivid
  UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev'
  Uname: Linux 3.19.0-20-generic x86_64
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups:
   
  _MarkForUpload: True
  dmi.bios.date: 01/01/2011
  dmi.bios.vendor: Bochs
  dmi.bios.version: Bochs
  dmi.chassis.type: 1
  dmi.chassis.vendor: Bochs
  dmi.modalias: dmi:bvnBochs:bvrBochs:bd01/01/2011:svnRedHat:pnKVM:pvrRHEL7.0.0PC(i440FX+PIIX,1996):cvnBochs:ct1:cvr:
  dmi.product.name: KVM
  dmi.product.version: RHEL 7.0.0 PC (i440FX + PIIX, 1996)
  dmi.sys.vendor: Red Hat

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1467912/+subscriptions


References