1. 06 9月, 2009 2 次提交
  2. 05 9月, 2009 29 次提交
  3. 04 9月, 2009 2 次提交
  4. 03 9月, 2009 7 次提交
    • E
      net: Remove debugging code · 55f9d678
      Eric Dumazet 提交于
      Remove a debugging aid I accidently left in previous 'cleanup' patch
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      55f9d678
    • E
      vlan: enable multiqueue xmits · 2f8bc32b
      Eric Dumazet 提交于
      vlan_dev_hard_start_xmit() & vlan_dev_hwaccel_hard_start_xmit()
      select txqueue number 0, instead of using index provided by
      skb_get_queue_mapping().
      
      This is not correct after commit 2e59af3d
      [vlan: multiqueue vlan device] because
      txq->tx_packets  & txq->tx_bytes changes are performed on
      a single location, and not the right locking.
      
      Fix is to take the appropriate struct netdev_queue pointer
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2f8bc32b
    • E
      net: net/core/dev.c cleanups · d1b19dff
      Eric Dumazet 提交于
      Pure style cleanup patch before surgery :)
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d1b19dff
    • K
      atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue()... · 137742cf
      Karl Hiramoto 提交于
      atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue() when we can send packets again.
      
      This patch removes the call to dev_kfree_skb() when the atm device is busy.
      Calling dev_kfree_skb() causes heavy packet loss then the device is under
      heavy load, the more correct behavior should be to stop the upper layers,
      then when the lower device can queue packets again wake the upper layers.
      Signed-off-by: NKarl Hiramoto <karl@hiramoto.org>
      Signed-off-by: NChas Williams <chas@cmf.nrl.navy.mil>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      137742cf
    • W
      tcp: replace hard coded GFP_KERNEL with sk_allocation · aa133076
      Wu Fengguang 提交于
      This fixed a lockdep warning which appeared when doing stress
      memory tests over NFS:
      
      	inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage.
      
      	page reclaim => nfs_writepage => tcp_sendmsg => lock sk_lock
      
      	mount_root => nfs_root_data => tcp_close => lock sk_lock =>
      			tcp_send_fin => alloc_skb_fclone => page reclaim
      
      David raised a concern that if the allocation fails in tcp_send_fin(), and it's
      GFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting
      for the allocation to succeed.
      
      But fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks
      weird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could
      loop endlessly under memory pressure.
      
      CC: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
      CC: David S. Miller <davem@davemloft.net>
      CC: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aa133076
    • A
      net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file. · 05c6a8d7
      Ajit Khaparde 提交于
      This patch adds support to flash a firmware image to a device using ethtool.
      The driver gets the filename of the firmware image and flashes the image
      using the request firmware path.
      
      The region "on the chip" to be flashed can be specified by an option.
      It is upto the device driver to enumerate the region number passed by ethtool,
      to the region to be flashed.
      
      The default behavior is to flash all the regions on the chip.
      Signed-off-by: NAjit Khaparde <ajitk@serverengines.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      05c6a8d7
    • E
      ip: Report qdisc packet drops · 6ce9e7b5
      Eric Dumazet 提交于
      Christoph Lameter pointed out that packet drops at qdisc level where not
      accounted in SNMP counters. Only if application sets IP_RECVERR, drops
      are reported to user (-ENOBUFS errors) and SNMP counters updated.
      
      IP_RECVERR is used to enable extended reliable error message passing,
      but these are not needed to update system wide SNMP stats.
      
      This patch changes things a bit to allow SNMP counters to be updated,
      regardless of IP_RECVERR being set or not on the socket.
      
      Example after an UDP tx flood
      # netstat -s 
      ...
      IP:
          1487048 outgoing packets dropped
      ...
      Udp:
      ...
          SndbufErrors: 1487048
      
      
      send() syscalls, do however still return an OK status, to not
      break applications.
      
      Note : send() manual page explicitly says for -ENOBUFS error :
      
       "The output queue for a network interface was full.
        This generally indicates that the interface has stopped sending,
        but may be caused by transient congestion.
        (Normally, this does not occur in Linux. Packets are just silently
        dropped when a device queue overflows.) "
      
      This is not true for IP_RECVERR enabled sockets : a send() syscall
      that hit a qdisc drop returns an ENOBUFS error.
      
      Many thanks to Christoph, David, and last but not least, Alexey !
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6ce9e7b5