1. 06 3月, 2012 1 次提交
  2. 31 1月, 2012 2 次提交
    • T
      RDMA/nes: Copyright update · c5488c57
      Tatyana Nikolova 提交于
      Update copyright information in the source files.
      Signed-off-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com>
      Signed-off-by: NFaisal Latif <Faisal.Latif@intel.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      c5488c57
    • J
      IB/mlx4: pass SMP vendor-specific attribute MADs to firmware · a6f7feae
      Jack Morgenstein 提交于
      In the current code, vendor-specific MADs (e.g with the FDR-10
      attribute) are silently dropped by the driver, resulting in timeouts
      at the sending side and inability to query/configure the relevant
      feature.  However, the ConnectX firmware is able to handle such MADs.
      For unsupported attributes, the firmware returns a GET_RESPONSE MAD
      containing an error status.
      
      For example, for a FDR-10 node with LID 11:
      
          # ibstat mlx4_0 1
      
          CA: 'mlx4_0'
          Port 1:
          State: Active
          Physical state: LinkUp
          Rate: 40 (FDR10)
          Base lid: 11
          LMC: 0
          SM lid: 24
          Capability mask: 0x02514868
          Port GUID: 0x0002c903002e65d1
          Link layer: InfiniBand
      
      Extended Port Query (EPI) vendor mad timeouts before the patch:
      
          # smpquery MEPI 11 -d
      
          ibwarn: [4196] smp_query_via: attr 0xff90 mod 0x0 route Lid 11
          ibwarn: [4196] _do_madrpc: retry 1 (timeout 1000 ms)
          ibwarn: [4196] _do_madrpc: retry 2 (timeout 1000 ms)
          ibwarn: [4196] _do_madrpc: timeout after 3 retries, 3000 ms
          ibwarn: [4196] mad_rpc: _do_madrpc failed; dport (Lid 11)
          smpquery: iberror: [pid 4196] main: failed: operation EPI: ext port info query failed
      
      EPI query works OK with the patch:
      
          # smpquery MEPI 11 -d
      
          ibwarn: [6548] smp_query_via: attr 0xff90 mod 0x0 route Lid 11
          ibwarn: [6548] mad_rpc: data offs 64 sz 64
          mad data
          0000 0000 0000 0001 0000 0001 0000 0001
          0000 0000 0000 0000 0000 0000 0000 0000
          0000 0000 0000 0000 0000 0000 0000 0000
          0000 0000 0000 0000 0000 0000 0000 0000
          # Ext Port info: Lid 11 port 0
          StateChangeEnable:...............0x00
          LinkSpeedSupported:..............0x01
          LinkSpeedEnabled:................0x01
          LinkSpeedActive:.................0x01
      Signed-off-by: NJack Morgenstein <jackm@mellanox.com>
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Acked-by: NIra Weiny <weiny2@llnl.gov>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      a6f7feae
  3. 28 1月, 2012 7 次提交
  4. 13 1月, 2012 2 次提交
    • R
      module_param: make bool parameters really bool (drivers & misc) · 90ab5ee9
      Rusty Russell 提交于
      module_param(bool) used to counter-intuitively take an int.  In
      fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
      trick.
      
      It's time to remove the int/unsigned int option.  For this version
      it'll simply give a warning, but it'll break next kernel version.
      Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      90ab5ee9
    • R
      module_param: avoid bool abuse, add bint for special cases. · 69116f27
      Rusty Russell 提交于
      For historical reasons, we allow module_param(bool) to take an int (or
      an unsigned int).  That's going away.
      
      A few drivers really want an int: they set it to -1 and a parameter
      will set it to 0 or 1.  This sucks: reading them from sysfs will give
      'Y' for both -1 and 1, but if we change it to an int, then the users
      might be broken (if they did "param" instead of "param=1").
      
      Use a new 'bint' parser for them.
      
      (ntfs has a different problem: it needs an int for debug_msgs because
      it's also exposed via sysctl.)
      
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: Jean Delvare <khali@linux-fr.org>
      Cc: Guenter Roeck <guenter.roeck@ericsson.com>
      Cc: Hoang-Nam Nguyen <hnguyen@de.ibm.com>
      Cc: Christoph Raisch <raisch@de.ibm.com>
      Cc: Roland Dreier <roland@kernel.org>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
      Cc: linux390@de.ibm.com
      Cc: Anton Altaparmakov <anton@tuxera.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: lm-sensors@lm-sensors.org
      Cc: linux-rdma@vger.kernel.org
      Cc: linux-s390@vger.kernel.org
      Cc: linux-ntfs-dev@lists.sourceforge.net
      Cc: alsa-devel@alsa-project.org
      Acked-by: Takashi Iwai <tiwai@suse.de> (For the sound part)
      Acked-by: Guenter Roeck <guenter.roeck@ericsson.com> (For the hwmon driver)
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      69116f27
  5. 05 1月, 2012 3 次提交
  6. 04 1月, 2012 7 次提交
  7. 20 12月, 2011 1 次提交
  8. 14 12月, 2011 3 次提交
  9. 07 12月, 2011 1 次提交
  10. 06 12月, 2011 4 次提交
  11. 30 11月, 2011 1 次提交
  12. 29 11月, 2011 3 次提交
  13. 17 11月, 2011 1 次提交
  14. 09 11月, 2011 1 次提交
  15. 05 11月, 2011 1 次提交
    • M
      IB/qib: Fix panic in RC error flushing logic · 30ab7e23
      Mike Marciniszyn 提交于
      The following panic can occur when flushing a QP:
      
          RIP: 0010:[<ffffffffa0168e8b>]  [<ffffffffa0168e8b>] qib_send_complete+0x3b/0x190 [ib_qib]
          RSP: 0018:ffff8803cdc6fc90  EFLAGS: 00010046
          RAX: 0000000000000000 RBX: ffff8803d84ba000 RCX: 0000000000000000
          RDX: 0000000000000005 RSI: ffffc90015a53430 RDI: ffff8803d84ba000
          RBP: ffff8803cdc6fce0 R08: ffff8803cdc6fc90 R09: 0000000000000001
          R10: 00000000ffffffff R11: 0000000000000000 R12: ffff8803d84ba0c0
          R13: ffff8803d84ba5cc R14: 0000000000000800 R15: 0000000000000246
          FS:  0000000000000000(0000) GS:ffff880036600000(0000) knlGS:0000000000000000
          CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
          CR2: 0000000000000034 CR3: 00000003e44f9000 CR4: 00000000000406f0
          DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
          DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
          Process qib/0 (pid: 1350, threadinfo ffff8803cdc6e000, task ffff88042728a100)
          Stack:
           53544c5553455201 0000000100000005 0000000000000000 ffff8803d84ba000
           0000000000000000 0000000000000000 0000000000000000 0000000000000000
           0000000000000000 0000000000000001 ffff8803cdc6fd30 ffffffffa0165d7a
          Call Trace:
           [<ffffffffa0165d7a>] qib_make_rc_req+0x36a/0xe80 [ib_qib]
           [<ffffffffa0165a10>] ?  qib_make_rc_req+0x0/0xe80 [ib_qib]
           [<ffffffffa01698b3>] qib_do_send+0xf3/0xb60 [ib_qib]
           [<ffffffff814db757>] ? thread_return+0x4e/0x777
           [<ffffffffa01697c0>] ? qib_do_send+0x0/0xb60 [ib_qib]
           [<ffffffff81088bf0>] worker_thread+0x170/0x2a0
           [<ffffffff8108e530>] ?  autoremove_wake_function+0x0/0x40
           [<ffffffff81088a80>] ? worker_thread+0x0/0x2a0
           [<ffffffff8108e1c6>] kthread+0x96/0xa0
           [<ffffffff8100c1ca>] child_rip+0xa/0x20
           [<ffffffff8108e130>] ? kthread+0x0/0xa0
           [<ffffffff8100c1c0>] ? child_rip+0x0/0x20
          RIP  [<ffffffffa0168e8b>] qib_send_complete+0x3b/0x190 [ib_qib]
      
      The RC error state flush logic in qib_make_rc_req() could return all
      of the acked wqes and potentially have emptied the queue.  It would
      then unconditionally try return a flush completion via
      qib_send_complete() for an invalid wqe, or worse a valid one that is
      not queued. The panic results when the completion code tries to
      maintain an MR reference count for a NULL MR.
      
      This fix modifies logic to only send one completion per
      qib_make_rc_req() call and changing the completion status from
      IB_WC_SUCCESS to IB_WC_WR_FLUSH_ERR as the completions progress.
      
      The outer loop will call as many times as necessary to flush the queue.
      Reviewed-by: NRam Vepa <ram.vepa@qlogic.com>
      Signed-off-by: NMike Marciniszyn <mike.marciniszyn@qlogic.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      30ab7e23
  16. 04 11月, 2011 1 次提交
    • R
      IB/mthca: Fix buddy->num_free allocation size · e4221314
      Roland Dreier 提交于
      The num_free field of mthca_buddy has a type of array of unsigned int
      while it was allocated as an array of pointers.  On 64-bit platforms
      this allocates twice more than required.  Fix this by allocating the
      correct size for the type.
      
      This is the same bug just fixed in mlx4 by Eli Cohen <eli@mellanox.co.il>.
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      e4221314
  17. 01 11月, 2011 1 次提交
    • C
      mm: distinguish between mlocked and pinned pages · bc3e53f6
      Christoph Lameter 提交于
      Some kernel components pin user space memory (infiniband and perf) (by
      increasing the page count) and account that memory as "mlocked".
      
      The difference between mlocking and pinning is:
      
      A. mlocked pages are marked with PG_mlocked and are exempt from
         swapping. Page migration may move them around though.
         They are kept on a special LRU list.
      
      B. Pinned pages cannot be moved because something needs to
         directly access physical memory. They may not be on any
         LRU list.
      
      I recently saw an mlockalled process where mm->locked_vm became
      bigger than the virtual size of the process (!) because some
      memory was accounted for twice:
      
      Once when the page was mlocked and once when the Infiniband
      layer increased the refcount because it needt to pin the RDMA
      memory.
      
      This patch introduces a separate counter for pinned pages and
      accounts them seperately.
      Signed-off-by: NChristoph Lameter <cl@linux.com>
      Cc: Mike Marciniszyn <infinipath@qlogic.com>
      Cc: Roland Dreier <roland@kernel.org>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bc3e53f6