1. 07 4月, 2009 1 次提交
  2. 19 2月, 2009 1 次提交
    • I
      timers: add mod_timer_pending() · 74019224
      Ingo Molnar 提交于
      Impact: new timer API
      
      Based on an idea from Martin Josefsson with the help of
      Patrick McHardy and Stephen Hemminger:
      
      introduce the mod_timer_pending() API which is a mod_timer()
      offspring that is an invariant on already removed timers.
      
      (regular mod_timer() re-activates non-pending timers.)
      
      This is useful for the networking code in that it can
      allow unserialized mod_timer_pending() timer-forwarding
      calls, but a single del_timer*() will stop the timer
      from being reactivated again.
      
      Also while at it:
      
      - optimize the regular mod_timer() path some more, the
        timer-stat and a debug check was needlessly duplicated
        in __mod_timer().
      
      - make the exports come straight after the function, as
        most other exports in timer.c already did.
      
      - eliminate __mod_timer() as an external API, change the
        users to mod_timer().
      
      The regular mod_timer() code path is not impacted
      significantly, due to inlining optimizations and due to
      the simplifications.
      
      Based-on-patch-from: Stephen Hemminger <shemminger@vyatta.com>
      Acked-by: NStephen Hemminger <shemminger@vyatta.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Patrick McHardy <kaber@trash.net>
      Cc: netdev@vger.kernel.org
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      74019224
  3. 06 12月, 2008 1 次提交
  4. 05 8月, 2008 1 次提交
    • A
      IB/ipath: Fix printk format warnings · 70117b9e
      Alexander Beregalov 提交于
          ipath_driver.c:1260: warning: format '%Lx' expects type 'long long unsigned int', but argument 6 has type 'long unsigned int'
          ipath_driver.c:1459: warning: format '%Lx' expects type 'long long unsigned int', but argument 4 has type 'u64'
          ipath_intr.c:358: warning: format '%Lx' expects type 'long long unsigned int', but argument 3 has type 'u64'
          ipath_intr.c:358: warning: format '%Lu' expects type 'long long unsigned int', but argument 6 has type 'u64'
          ipath_intr.c:1119: warning: format '%Lx' expects type 'long long unsigned int', but argument 5 has type 'u64'
          ipath_intr.c:1119: warning: format '%Lx' expects type 'long long unsigned int', but argument 3 has type 'u64'
          ipath_intr.c:1123: warning: format '%Lx' expects type 'long long unsigned int', but argument 3 has type 'u64'
          ipath_intr.c:1130: warning: format '%Lx' expects type 'long long unsigned int', but argument 4 has type 'u64'
          ipath_iba7220.c:1032: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'u64'
          ipath_iba7220.c:1045: warning: format '%llX' expects type 'long long unsigned int', but argument 3 has type 'u64'
          ipath_iba7220.c:2506: warning: format '%Lu' expects type 'long long unsigned int', but argument 4 has type 'u64'
      Signed-off-by: NAlexander Beregalov <a.beregalov@gmail.com>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      70117b9e
  5. 14 5月, 2008 2 次提交
    • R
      IB/ipath: Change ipath_devdata.ipath_sdma_status to be unsigned long · f018c7e1
      Roland Dreier 提交于
      Andrew Morton <akpm@linux-foundation.org> pointed out that bitops
      should take an unsigned long * arg.  However, the ipath driver was
      doing bitops on struct ipath_devdata.ipath_sdma_status, which is u64.
      Change this member to unsigned long to avoid tons of warnings when x86
      fixes the bitops to take unsigned long * instead of void *.
      
      Also, change the IPATH_SDMA_RUNNING and IPATH_SDMA_SHUTDOWN bit
      numbers to 30 and 31 (instead of 62 and 63) so that we're not setting
      another booby trap for someone who tries to make ipath work on a
      32-bit architecture.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      f018c7e1
    • P
      IB/ipath: Make ipath_portdata work with struct pid * not pid_t · 40d97692
      Pavel Emelyanov 提交于
      The official reason is "with the presence of pid namespaces in the
      kernel using pid_t-s inside one is no longer safe."
      
      But the reason I fix this right now is the following:
      
      About a month ago (when 2.6.25 was not yet released) there still was a
      one last caller of a to-be-deprecated-soon function find_pid() - the
      kill_proc() function, which in turn was only used by nfs callback
      code.
      
      During the last merge window, this last caller was finally eliminated
      by some NFS patch(es) and I was about to finally kill this kill_proc()
      and find_pid(), but found, that I was late and the kill_proc is now
      called from the ipath driver since commit 58411d1c ("IB/ipath: Head of
      Line blocking vs forward progress of user apps").
      
      So here's a patch that fixes this code to use struct pid * and (!)
      the kill_pid routine.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      40d97692
  6. 08 5月, 2008 3 次提交
    • J
      IB/ipath: Fix SDMA error recovery in absence of link status change · ab69b3cf
      John Gregor 提交于
      What's fixed:
      
          in ipath_cancel_sends()
      
              We need to unconditionally set ABORTING.  So, swap the tests
              so the set_bit() isn't shadowed by the &&.
      
              If we've disarmed the piobufs, then we need to unconditionally
              set DISARMED.  So, move it out from the overly protective if
              at the bottom.
      
          in sdma_abort_task()
      
              Abort_task was written knowing that the SDMA engine would always
              be reset (and restarted) on error.  A recent change broke that
              fundamental assumption by taking the restart portion and making
              it conditional on a link status change.  But, SDMA can go boom
              without a link status change in some conditions.
      Signed-off-by: NJohn Gregor <john.gregor@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      ab69b3cf
    • D
      IB/ipath: Need to always request and handle PIO avail interrupts · e2ab41ca
      Dave Olson 提交于
      Now that we always use PIO for vl15 on 7220, we could get stuck forever
      if we happened to run out of PIO buffers from the verbs code, because
      the setup code wouldn't run; the interrupt was also ignored if SDMA was
      supported.  We also have to reduce the pio update threshold if we have
      fewer kernel buffers than the existing threshold.
      
      Clean up the initialization a bit to get ordering safer and more
      sensible, and use the existing ipath_chg_kernavail call to do init,
      rather than doing it separately.
      
      Drop unnecessary clearing of pio buffer on pio parity error.
      
      Drop incorrect updating of pioavailshadow when exitting freeze mode
      (software state may not match chip state if buffer has been allocated
      and not yet written).
      
      If we couldn't get a kernel buffer for a while, make sure we are
      in sync with hardware, mainly to handle the exitting freeze case.
      Signed-off-by: NDave Olson <dave.olson@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      e2ab41ca
    • M
      IB/ipath: Fix count of packets received by kernel · 2889d1ef
      Michael Albaugh 提交于
      The loop in ipath_kreceive() that processes packets increments the
      loop-index 'i' once too often, because the exit condition does not
      depend on it, and is checked after the increment. By adding a check for
      !last to the iterator in the for loop, we correct that in a way that is
      not so likely to be re-broken by changes in the loop body.
      Signed-off-by: NMichael Albaugh <micheal.albaugh@qlogic.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      2889d1ef
  7. 22 4月, 2008 1 次提交
  8. 17 4月, 2008 16 次提交
  9. 12 3月, 2008 1 次提交
  10. 26 1月, 2008 7 次提交
  11. 25 1月, 2008 1 次提交
    • G
      Infiniband: make ipath driver use default driver groups. · 23b9c1ab
      Greg Kroah-Hartman 提交于
      Make the ipath driver use the new driver functions so that it does not
      touch the sysfs portion of the driver structure.
      
      We also remove the redundant symlink from the device back to the driver,
      as it is already in the sysfs tree.  Any userspace tools should be using
      the standard symlink, not some driver specific one.
      
      Cc: Roland Dreier <rdreier@cisco.com>
      Cc: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
      Cc: Arthur Jones <arthur.jones@qlogic.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      23b9c1ab
  12. 10 10月, 2007 3 次提交
  13. 31 7月, 2007 1 次提交
  14. 18 7月, 2007 1 次提交
    • R
      IB/ipath: Make a few functions static · da9aec7b
      Roland Dreier 提交于
      Make some functions that are only used in a single .c file static.  In
      addition to being a cleanup, this shrinks the generated code.  On x86_64:
      
      add/remove: 1/3 grow/shrink: 2/1 up/down: 4777/-4956 (-179)
      function                                     old     new   delta
      handle_errors                                  -    3994   +3994
      __verbs_timer                                 42     710    +668
      ipath_do_ruc_send                           2131    2246    +115
      ipath_no_bufs_available                      136       -    -136
      ipath_disarm_senderrbufs                     639       -    -639
      ipath_ib_timer                               658       -    -658
      ipath_intr                                  5878    2355   -3523
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      da9aec7b