1. 23 7月, 2008 1 次提交
  2. 18 7月, 2008 3 次提交
    • J
      igb/ixgbe/e1000e: resolve tx multiqueue bug · d55b53ff
      Jeff Kirsher 提交于
      With the recent changes to tx mutiqueue, igb/ixgbe/e1000e was not calling
      netif_tx_start_all_queues() before calling netif_tx_wake_all_queues().
      This causes an issue during loading of the driver.
      
      In addition, updated e1000e to use the updated tx mutliqueue api.
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d55b53ff
    • D
      net: Use queue aware tests throughout. · fd2ea0a7
      David S. Miller 提交于
      This effectively "flips the switch" by making the core networking
      and multiqueue-aware drivers use the new TX multiqueue structures.
      
      Non-multiqueue drivers need no changes.  The interfaces they use such
      as netif_stop_queue() degenerate into an operation on TX queue zero.
      So everything "just works" for them.
      
      Code that really wants to do "X" to all TX queues now invokes a
      routine that does so, such as netif_tx_wake_all_queues(),
      netif_tx_stop_all_queues(), etc.
      
      pktgen and netpoll required a little bit more surgery than the others.
      
      In particular the pktgen changes, whilst functional, could be largely
      improved.  The initial check in pktgen_xmit() will sometimes check the
      wrong queue, which is mostly harmless.  The thing to do is probably to
      invoke fill_packet() earlier.
      
      The bulk of the netpoll changes is to make the code operate solely on
      the TX queue indicated by by the SKB queue mapping.
      
      Setting of the SKB queue mapping is entirely confined inside of
      net/core/dev.c:dev_pick_tx().  If we end up needing any kind of
      special semantics (drops, for example) it will be implemented here.
      
      Finally, we now have a "real_num_tx_queues" which is where the driver
      indicates how many TX queues are actually active.
      
      With IGB changes from Jeff Kirsher.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd2ea0a7
    • D
      netdev: Kill NETIF_F_MULTI_QUEUE. · 09e83b5d
      David S. Miller 提交于
      There is no need for a feature bit for something that
      can be tested by simply checking the TX queue count.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09e83b5d
  3. 17 7月, 2008 2 次提交
  4. 09 7月, 2008 1 次提交
  5. 27 6月, 2008 1 次提交
  6. 25 6月, 2008 1 次提交
  7. 12 6月, 2008 1 次提交
  8. 25 4月, 2008 1 次提交
  9. 29 3月, 2008 1 次提交
  10. 17 3月, 2008 5 次提交
  11. 05 3月, 2008 1 次提交
  12. 15 2月, 2008 1 次提交
    • A
      ixgbe: Correctly obtain protocol information on transmit · 41825d71
      Auke Kok 提交于
      In reply to "RE: [Fwd: [PATCH 2.6.25] ixgbe/igb: correctly obtain protocol
      information on transmit]" from Andy Gospodarek:
      
      The driver was incorrectly looking at socket headers for
      protocol information, needed for checksumming offload. Fix
      this by not looking at the socket but frame headers instead.
      
      This disregards extension headers but it's unclear that linux
      generates those anyway.
      
      Tested by Andy Gospodarek.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      41825d71
  13. 12 2月, 2008 3 次提交
  14. 06 2月, 2008 6 次提交
  15. 29 1月, 2008 3 次提交
    • A
      ixgbe endianness annotations · 8327d000
      Al Viro 提交于
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8327d000
    • A
      ixgbe: Fix copper PHY initialization code · 3957d63d
      Auke Kok 提交于
      While cleaning up the internal API focussing on Fiber and CX4 code
      we found that I had broken the copper PHY initialization code. This
      patch restores the PHY-specific code. This is mostly uninteresting
      since no copper PHY boards are yet available. The changes have been
      tested against Fiber only as I do not even have copper PHY versions
      of 82598 macs.
      
      This change actually cleans up the API code a bit more and we
      lose some initialization code. A few PHY link detection helper
      lines of code have been snuck into this patch, as well as a
      read flush where it was suspected that this might cause issues.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3957d63d
    • J
      [netdrvr] irq handler minor cleanups in several drivers · 28fc1f5a
      Jeff Garzik 提交于
      * use irq_handler_t where appropriate
      
      * no need to use 'irq' function arg, its already stored in a data struct
      
      * rename irq handler 'irq' argument to 'dummy', where the function
        has been analyzed and proven not to use its first argument.
      
      * remove always-false "dev_id == NULL" test from irq handlers
      
      * remove pointless casts from void*
      
      * declance: irq argument is not const
      
      * add KERN_xxx printk prefix
      
      * fix minor whitespace weirdness
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      28fc1f5a
  16. 21 1月, 2008 1 次提交
    • D
      [NET]: Fix interrupt semaphore corruption in Intel drivers. · 49d85c50
      David S. Miller 提交于
      Several of the Intel ethernet drivers keep an atomic counter used to
      manage when to actually hit the hardware with a disable or an enable.
      
      The way the net_rx_work() breakout logic works during a pending
      napi_disable() is that it simply unschedules the poll even if it
      still has work.
      
      This can potentially leave interrupts disabled, but that is OK
      because all of the drivers are about to disable interrupts
      anyways in all such code paths that do a napi_disable().
      
      Unfortunately, this trips up the semaphore used here in the Intel
      drivers.  If you hit this case, when you try to bring the interface
      back up it won't enable interrupts.  A reload of the driver module
      fixes it of course.
      
      So what we do is make sure all the sequences now go:
      
      	napi_disable();
      	atomic_set(&adapter->irq_sem, 0);
      	*_irq_disable();
      
      which makes sure the counter is always in the correct state.
      
      Reported by Robert Olsson.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49d85c50
  17. 17 1月, 2008 1 次提交
  18. 09 1月, 2008 2 次提交
  19. 31 10月, 2007 1 次提交
  20. 11 10月, 2007 2 次提交