1. 05 2月, 2008 1 次提交
  2. 10 10月, 2007 1 次提交
    • R
      IB/mthca: Use mmiowb() to avoid firmware commands getting jumbled up · 76d7cc03
      Roland Dreier 提交于
      Firmware commands are sent to the HCA by writing multiple words to a
      command register block.  Access to this block of registers is
      serialized with a mutex.  However, on large SGI systems, problems were
      seen with multiple CPUs issuing FW commands at the same time, because
      the writes to the register block may be reordered within the system
      interconnect and reach the HCA in a different order than they were
      issued (even with the mutex).  Fix this by adding an mmiowb() before
      dropping the mutex.
      Tested-by: NArthur Kepner <akepner@sgi.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      76d7cc03
  3. 21 7月, 2007 1 次提交
  4. 08 6月, 2007 1 次提交
  5. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  6. 13 2月, 2007 1 次提交
  7. 05 2月, 2007 1 次提交
    • M
      IB: Return qp pointer as part of ib_wc · 062dbb69
      Michael S. Tsirkin 提交于
      struct ib_wc currently only includes the local QP number: this matches
      the IB spec, but seems mostly useless. The following patch replaces
      this with the pointer to qp itself, and updates all low level drivers
      and all users.
      
      This has the following advantages:
      - Ability to get a per-qp context through wc->qp->qp_context
      - Existing drivers already have the qp pointer ready in poll cq, so
        this change actually saves a tiny bit (extra memory read) on data path
        (for ehca it would actually be expensive to find the QP pointer when
        polling a CQ, but ehca does not support SRQ so we can leave wc->qp as
        NULL for ehca)
      - Users that need the QP number can still get it through wc->qp->qp_num
      
      Use case:
      
      In IPoIB connected mode code, I have a common CQ shared by multiple
      QPs.  To track connection usage, I need a way to get at some per-QP
      context upon the completion, and I would like to avoid allocating
      context object per work request just to stick a QP pointer into it.
      With this code, I can just use wc->qp->qp_context.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      062dbb69
  8. 01 11月, 2006 1 次提交
  9. 23 9月, 2006 1 次提交
  10. 25 7月, 2006 1 次提交
  11. 18 6月, 2006 1 次提交
  12. 17 5月, 2006 1 次提交
    • R
      IB/mthca: Make fw_cmd_doorbell default to 0 · 1db76c14
      Roland Dreier 提交于
      Setting fw_cmd_doorbell allows FW command to be queued using posted
      writes instead of requiring polling on a "go" bit, so it should be a
      performance boost.  However, the option causes problems with at least
      some device/firmware combinations, so set the default to 0 until we
      understand what's going on better.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      1db76c14
  13. 11 4月, 2006 1 次提交
    • J
      IB: simplify static rate encoding · bf6a9e31
      Jack Morgenstein 提交于
      Push translation of static rate to HCA format into low-level drivers,
      where it belongs.  For static rate encoding, use encoding of rate
      field from IB standard PathRecord, with addition of value 0, for
      backwards compatibility with current usage.  The changes are:
      
       - Add enum ib_rate to midlayer includes.
       - Get rid of static rate translation in IPoIB; just use static rate
         directly from Path and MulticastGroup records.
       - Update mthca driver to translate absolute static rate into the
         format used by hardware.  This also fixes mthca's static rate
         handling for HCAs that are capable of 4X DDR.
      Signed-off-by: NJack Morgenstein <jackm@mellanox.co.il>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      bf6a9e31
  14. 21 3月, 2006 8 次提交
  15. 11 2月, 2006 1 次提交
    • R
      IB/mthca: Don't print debugging info until we have all values · f295c79b
      Roland Dreier 提交于
      When debugging is enabled, the mthca_QUERY_DEV_LIM() firmware command
      function prints out some of the device limits that it queries.
      However the debugging prints happen before all of the fields are
      extracted from the firmware response, so some of the values that get
      printed are uninitialized junk.  Move the prints to the end of the
      function to fix this.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      f295c79b
  16. 31 1月, 2006 2 次提交
    • R
      IB/mthca: Semaphore to mutex conversions · fd9cfdd1
      Roland Dreier 提交于
      Convert semaphores to mutexes in mthca.  Leave firmware command
      interface poll_sem and event_sem as semaphores.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      fd9cfdd1
    • M
      IB/mthca: Don't cancel commands on a signal · e3aa31c5
      Michael S. Tsirkin 提交于
      We have run into the following problem: if a task receives a signal
      while in the process of e.g. destroying a resource (which could be
      because the relevant file was closed) mthca could bail out from trying
      to take a command interface semaphore without performing the
      appropriate command to tell hardware that the resource is being
      destroyed.
      
      As a result we see messages like
       ib_mthca 0000:04:00.0: HW2SW_CQ failed (-4)
      
      In this case, hardware could access the resource after the memory has
      been freed, possibly causing memory corruption.
      
      A simple solution is to replace down_interruptible() by down() in
      command interface activation.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      [ It's also not safe to bail out on multicast table operations, since
        they may be invoked on the cleanup path too.  So use down() for
        mcg_table.sem too. ]
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      e3aa31c5
  17. 13 1月, 2006 2 次提交
  18. 01 12月, 2005 1 次提交
  19. 11 11月, 2005 1 次提交
  20. 28 10月, 2005 2 次提交
  21. 18 10月, 2005 1 次提交
  22. 27 9月, 2005 1 次提交
  23. 27 8月, 2005 6 次提交
  24. 28 6月, 2005 2 次提交