1. 23 8月, 2008 4 次提交
  2. 23 7月, 2008 1 次提交
  3. 18 7月, 2008 1 次提交
    • D
      netdev: Allocate multiple queues for TX. · e8a0464c
      David S. Miller 提交于
      alloc_netdev_mq() now allocates an array of netdev_queue
      structures for TX, based upon the queue_count argument.
      
      Furthermore, all accesses to the TX queues are now vectored
      through the netdev_get_tx_queue() and netdev_for_each_tx_queue()
      interfaces.  This makes it easy to grep the tree for all
      things that want to get to a TX queue of a net device.
      
      Problem spots which are not really multiqueue aware yet, and
      only work with one queue, can easily be spotted by grepping
      for all netdev_get_tx_queue() calls that pass in a zero index.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e8a0464c
  4. 09 7月, 2008 2 次提交
  5. 08 7月, 2008 1 次提交
  6. 01 7月, 2008 5 次提交
  7. 17 6月, 2008 1 次提交
    • D
      wext: Emit event stream entries correctly when compat. · ccc58057
      David S. Miller 提交于
      Three major portions to this change:
      
      1) Add IW_EV_COMPAT_LCP_LEN, IW_EV_COMPAT_POINT_OFF,
         and IW_EV_COMPAT_POINT_LEN helper defines.
      
      2) Delete iw_stream_check_add_*(), they are unused.
      
      3) Add iw_request_info argument to iwe_stream_add_*(), and use it to
         size the event and pointer lengths correctly depending upon whether
         IW_REQUEST_FLAG_COMPAT is set or not.
      
      4) The mechanical transformations to the drivers and wireless stack
         bits to get the iw_request_info passed down into the routines
         modified in #3.  Also, explicit references to IW_EV_LCP_LEN are
         replaced with iwe_stream_lcp_len(info).
      
      With a lot of help and bug fixes from Masakazu Mokuno.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccc58057
  8. 12 6月, 2008 1 次提交
    • D
      net: Eliminate flush_scheduled_work() calls while RTNL is held. · 4bb073c0
      David S. Miller 提交于
      If the RTNL is held when we invoke flush_scheduled_work() we could
      deadlock.  One such case is linkwatch, it is a work struct which tries
      to grab the RTNL semaphore.
      
      The most common case are net driver ->stop() methods.  The
      simplest conversion is to instead use cancel_{delayed_}work_sync()
      explicitly on the various work struct the driver uses.
      
      This is an OK transformation because these work structs are doing
      things like resetting the chip, restarting link negotiation, and so
      forth.  And if we're bringing down the device, we're about to turn the
      chip off and reset it anways.  So if we cancel a pending work event,
      that's fine here.
      
      Some drivers were working around this deadlock by using a msleep()
      polling loop of some sort, and those cases are converted to instead
      use cancel_{delayed_}work_sync() as well.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bb073c0
  9. 21 5月, 2008 1 次提交
  10. 16 5月, 2008 1 次提交
  11. 09 4月, 2008 1 次提交
    • D
      [NET]: Undo code bloat in hot paths due to print_mac(). · 21f644f3
      David S. Miller 提交于
      If print_mac() is used inside of a pr_debug() the compiler
      can't see that the call is redundant so still performs it
      even of pr_debug() ends up being a nop.
      
      So don't use print_mac() in such cases in hot code paths,
      use MAC_FMT et al. instead.
      
      As noted by Joe Perches, pr_debug() could be modified to
      handle this better, but that is a change to an interface
      used by the entire kernel and thus needs to be validated
      carefully.  This here is thus the less risky fix for
      2.6.25
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      21f644f3
  12. 01 2月, 2008 2 次提交
  13. 29 1月, 2008 6 次提交
  14. 17 1月, 2008 1 次提交
  15. 10 11月, 2007 1 次提交
  16. 20 10月, 2007 2 次提交
  17. 15 10月, 2007 1 次提交
  18. 11 10月, 2007 8 次提交