1. 27 6月, 2005 10 次提交
    • A
      [PATCH] drivers/net/tokenring/: cleanups · de70b4c8
      Adrian Bunk 提交于
      This patch contains the follwing cleanups:
      - make needlessly global code static
      - remove obsolete Emacs settings
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      de70b4c8
    • A
      [PATCH] pcnet_cs.c: IRQ handler optimization · 93ad4fb0
      Andreas Mohr 提交于
      During some performance diagnostics I stumbled on this slightly wasteful
      code in pcnet_cs.c which I made the patch included at the bottom for (two
      minor comment fixes included).
      
      Improvement:
      instead of *always* calculating
      lea    0x2c0(%edx),%ebx
      and then additionally doing the
      mov    %edx,0xc0(%ebx)
      addition *if we need it*,
      
      we now do the *whole* calculation of
      mov    %edx,0x380(%ebx)
      *only* if we need it.
      This even manages to save us a whole 16-byte alignment buffer loss
      in this compilation case.
      
      Result: slightly improves IRQ handler performance in both shared and
      non-shared IRQ case, which should make my rusty P3/700 a slight bit happier.
      
      Thank you for your support,
      
      Andreas Mohr
      
      old asm result (using gcc 3.3.5):
      
      000015a0 <ei_irq_wrapper>:
          15a0:       55                      push   %ebp
          15a1:       89 e5                   mov    %esp,%ebp
          15a3:       53                      push   %ebx
          15a4:       8d 9a c0 02 00 00       lea    0x2c0(%edx),%ebx
          15aa:       e8 fc ff ff ff          call   15ab <ei_irq_wrapper+0xb>
          15af:       83 f8 01                cmp    $0x1,%eax
          15b2:       74 03                   je     15b7 <ei_irq_wrapper+0x17>
          15b4:       5b                      pop    %ebx
          15b5:       5d                      pop    %ebp
          15b6:       c3                      ret
          15b7:       31 d2                   xor    %edx,%edx
          15b9:       89 93 c0 00 00 00       mov    %edx,0xc0(%ebx)
          15bf:       eb f3                   jmp    15b4 <ei_irq_wrapper+0x14>
          15c1:       eb 0d                   jmp    15d0 <ei_watchdog>
          15c3:       90                      nop
          15c4:       90                      nop
          15c5:       90                      nop
          15c6:       90                      nop
          15c7:       90                      nop
          15c8:       90                      nop
          15c9:       90                      nop
          15ca:       90                      nop
          15cb:       90                      nop
          15cc:       90                      nop
          15cd:       90                      nop
          15ce:       90                      nop
          15cf:       90                      nop
      
      000015d0 <ei_watchdog>:
      
      new asm result:
      
      000015a0 <ei_irq_wrapper>:
          15a0:       55                      push   %ebp
          15a1:       89 e5                   mov    %esp,%ebp
          15a3:       53                      push   %ebx
          15a4:       89 d3                   mov    %edx,%ebx
          15a6:       e8 fc ff ff ff          call   15a7 <ei_irq_wrapper+0x7>
          15ab:       83 f8 01                cmp    $0x1,%eax
          15ae:       74 03                   je     15b3 <ei_irq_wrapper+0x13>
          15b0:       5b                      pop    %ebx
          15b1:       5d                      pop    %ebp
          15b2:       c3                      ret
          15b3:       31 d2                   xor    %edx,%edx
          15b5:       89 93 80 03 00 00       mov    %edx,0x380(%ebx)
          15bb:       eb f3                   jmp    15b0 <ei_irq_wrapper+0x10>
          15bd:       8d 76 00                lea    0x0(%esi),%esi
      
      000015c0 <ei_watchdog>:
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      93ad4fb0
    • D
      drivers/net/: Use the DMA_{64,32}BIT_MASK constants · 1e7f0bd8
      Domen Puncer 提交于
      Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling
      pci_set_dma_mask() or pci_set_consistent_dma_mask()
      
      This patch includes dma-mapping.h explicitly because it caused errors
      on some architectures otherwise.
      
      See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details
      Signed-off-by: NTobias Klauser <tklauser@nuerscht.ch>
      Signed-off-by: NDomen Puncer <domen@coderock.org>
      1e7f0bd8
    • M
      [PATCH] arlan: module parameter fixes · 5ccabb9b
      Magnus Damm 提交于
      Make sure the code compiles with and without ARLAN_ENTRY_EXIT_DEBUGGING.
      Only provide parameter descriptions when parameters are defined.
      Remove "arlan_"-prefix to shape up built-in parameter names:
      
      arlan.arlan_debug -> arlan.debug
      arlan.arlan_EEPROM_bad -> arlan.EEPROM_bad
      arlan.arlan_entry_and_exit_debug -> arlan.entry_and_exit_debug
      arlan.arlan_entry_debug -> arlan.entry_debug
      arlan.arlan_exit_debug -> arlan.exit_debug
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      5ccabb9b
    • T
      [PATCH] net/sis900: Use the DMA_32BIT_MASK constant · 12b279f9
      Tobias Klauser 提交于
      Use the DMA_32BIT_MASK constant from dma-mapping.h when calling
      pci_set_dma_mask() or pci_set_consistent_dma_mask() instead of custom
      macros.
      This patch includes dma-mapping.h explicitly because it caused errors
      on some architectures otherwise.
      See http://marc.theaimsgroup.com/?t=108001993000001&r=1&w=2 for details
      Signed-off-by: NTobias Klauser <tklauser@nuerscht.ch>
      12b279f9
    • S
      8139cp: safer spin loop for get_statistics · 97f568d8
      Stephen Hemminger 提交于
      The spin loop in 8139cp is limited to 100 iterations when pulling hardware
      stats. There is no allowance for processor speed so on a fast machine, the
      stats may not be available that fast. Also, if the board doesn't return
      soon enough make sure turn the address back off to prevent later updates
      when memory has gone away.
      97f568d8
    • K
      gianfar: Update Marvell PHY name · 223d4727
      Kumar Gala 提交于
      This patch updates the name identifier to list both of the Marvell PHYs
      that are supported.
      Signed-off-by: NKumar Gala <kumar.gala@freescale.com>
      223d4727
    • J
      bonding: xor/802.3ad improved slave hash · 169a3e66
      Jay Vosburgh 提交于
      Add support for alternate slave selection algorithms to bonding
      balance-xor and 802.3ad modes.  Default mode (what we have now: xor of
      MAC addresses) is "layer2", new choice is "layer3+4", using IP and port
      information for hashing to select peer.
      
      Originally submitted by Jason Gabler for balance-xor mode;
      modified by Jay Vosburgh to additionally support 802.3ad mode.  Jason's
      original comment is as follows:
      
      The attached patch to the Linux Etherchannel Bonding driver modifies the
      driver's "balance-xor" mode as follows:
      
            - alternate hashing policy support for mode 2
              * Added kernel parameter "xmit_policy" to allow the specification
                of different hashing policies for mode 2.  The original mode 2
                policy is the default, now found in xmit_hash_policy_layer2().
              * Added xmit_hash_policy_layer34()
      
      This patch was inspired by hashing policies implemented by Cisco,
      Foundry and IBM, which are explained in
      Foundry documentation found at:
      http://www.foundrynet.com/services/documentation/sribcg/Trunking.html#112750Signed-off-by: NJason Gabler <jygabler@lbl.gov>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      169a3e66
    • J
      bonding: gratuitous ARP · c3ade5ca
      Jay Vosburgh 提交于
      Add support for generating gratuitous ARPs in bonding
      active-backup mode when failovers occur.  Includes support for VLAN
      tagging the ARPs as needed.
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      c3ade5ca
    • R
      Tulip fixes for Cobalt Qube/RaQ · 12755c16
      Ralf Baechle 提交于
      12755c16
  2. 26 6月, 2005 2 次提交
  3. 25 6月, 2005 4 次提交
    • D
      [TG3]: Update driver version and reldate. · 5f70eaa0
      David S. Miller 提交于
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5f70eaa0
    • M
      [TG3]: Refinements to new locking strategy. · bbe832c0
      Michael Chan 提交于
      1. Move tp->irq_sync = 0 to before the interrupt mailbox IO in
         tg3_enable_ints() so that the interrupt handler will always see
         irq_sync == 0 when interrupts are enabled.
      
      2. Remove the tg3_enable_ints() call in tg3_reset_hw(). Interrupts are
         always enabled explicitly or through tg3_netif_start(). This is to
         prevent interrupts being enabled while poll is disabled.
      
      3. Update trans_start with jiffies in tg3_netif_stop() to prevent false
         NETDEV WATCHDOG.
      
      4. Pass in the proper irq_sync parameter to tg3_full_lock() depending on
         netif_running() in some of the ethtool set calls.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbe832c0
    • D
      [TG3]: Eliminate all hw IRQ handler spinlocks. · f47c11ee
      David S. Miller 提交于
      Move all driver spinlocks to be taken at sw IRQ
      context only.
      
      This fixes the skb_copy() we were doing with hw
      IRQs disabled (which is illegal and triggers a
      BUG() with HIGHMEM enabled).  It also simplifies
      the locking all over the driver tremendously.
      
      We accomplish this feat by creating a special
      sequence to synchronize with the hw IRQ handler
      using a binary state and synchronize_irq().
      This idea is from Herbert Xu.
      
      Thanks to Michael Chan for helping to track down
      all of the race conditions in initial versions
      of this code.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f47c11ee
    • D
      [TG3]: Fix missing memory barriers and SD_STATUS_UPDATED bit clearing. · cd024c8b
      David S. Miller 提交于
      There must be a rmb() between reading the status block tag
      and calling tg3_has_work().  This was missing in tg3_mis()
      and tg3_interrupt_tagged().  tg3_poll() got it right.
      
      Also, SD_STATUS_UPDATED must be cleared in the status block
      right before we call tg3_has_work().  Only tg3_poll() got this
      wrong.
      
      Based upon patches and commentary from Grant Grundler and
      Michael Chan.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd024c8b
  4. 24 6月, 2005 2 次提交
  5. 23 6月, 2005 2 次提交
  6. 22 6月, 2005 2 次提交
  7. 21 6月, 2005 1 次提交
  8. 14 6月, 2005 1 次提交
  9. 13 6月, 2005 1 次提交
  10. 10 6月, 2005 1 次提交
    • M
      [PATCH] iseries_veth: Supress spurious WARN_ON() at module unload · 243cd55e
      Michael Ellerman 提交于
      My patch from a few weeks back (now in mainline), called "Cleanup skbs to
      prevent unregister_netdevice() hanging", can cause our TX timeout code to
      fire on machines with lots of VLANs (because it takes > 2 seconds between
      when we stop the queues and when we're finished stopping the connections).
      
      When that happens the TX timeout code freaks out and does a WARN_ON()
      because as far as it's concerned there shouldn't be a TX timeout happening,
      which is fair enough.
      
      I have a "proper" fix for this, which is to a) do refcounting on
      connections and b) implement a proper ack timer so we don't keep unacked
      skbs lying around for ever.  But for 2.6.12 I propose just supressing the
      WARN_ON().  Users will still see the "NETDEV WATCHDOG" warning, but that's
      not nearly as bad as a WARN_ON() which users interpret as an Oops.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      243cd55e
  11. 09 6月, 2005 2 次提交
  12. 07 6月, 2005 3 次提交
  13. 03 6月, 2005 2 次提交
  14. 30 5月, 2005 7 次提交