1. 11 9月, 2010 1 次提交
  2. 10 9月, 2010 2 次提交
  3. 09 9月, 2010 2 次提交
  4. 08 9月, 2010 1 次提交
    • H
      net: fix tx queue selection for bridged devices implementing select_queue · deabc772
      Helmut Schaa 提交于
      When a net device is implementing the select_queue callback and is part of
      a bridge, frames coming from the bridge already have a tx queue associated
      to the socket (introduced in commit a4ee3ce3,
      "net: Use sk_tx_queue_mapping for connected sockets"). The call to
      sk_tx_queue_get will then return the tx queue used by the bridge instead
      of calling the select_queue callback.
      
      In case of mac80211 this broke QoS which is implemented by using the
      select_queue callback. Furthermore it introduced problems with rt2x00
      because frames with the same TID and RA sometimes appeared on different
      tx queues which the hw cannot handle correctly.
      
      Fix this by always calling select_queue first if it is available and only
      afterwards use the socket tx queue mapping.
      Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      deabc772
  5. 07 9月, 2010 2 次提交
  6. 04 9月, 2010 1 次提交
  7. 03 9月, 2010 2 次提交
    • J
      pkt_sched: Fix lockdep warning on est_tree_lock in gen_estimator · 0b5d404e
      Jarek Poplawski 提交于
      This patch fixes a lockdep warning:
      
      [  516.287584] =========================================================
      [  516.288386] [ INFO: possible irq lock inversion dependency detected ]
      [  516.288386] 2.6.35b #7
      [  516.288386] ---------------------------------------------------------
      [  516.288386] swapper/0 just changed the state of lock:
      [  516.288386]  (&qdisc_tx_lock){+.-...}, at: [<c12eacda>] est_timer+0x62/0x1b4
      [  516.288386] but this lock took another, SOFTIRQ-unsafe lock in the past:
      [  516.288386]  (est_tree_lock){+.+...}
      [  516.288386] 
      [  516.288386] and interrupts could create inverse lock ordering between them.
      ...
      
      So, est_tree_lock needs BH protection because it's taken by
      qdisc_tx_lock, which is used both in BH and process contexts.
      (Full warning with this patch at netdev, 02 Sep 2010.)
      
      Fixes commit: ae638c47
      ("pkt_sched: gen_estimator: add a new lock")
      Signed-off-by: NJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b5d404e
    • E
      net: dev_add_pack() & __dev_remove_pack() changes · c07b68e8
      Eric Dumazet 提交于
      Add a small helper ptype_head() to get the head to manipulate
      
      dev_add_pack() & __dev_remove_pack() can use a spinlock without
      blocking BH, since softirq use RCU, and these functions are run from
      process context only.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c07b68e8
  8. 02 9月, 2010 4 次提交
  9. 01 9月, 2010 1 次提交
  10. 27 8月, 2010 1 次提交
    • E
      gro: __napi_gro_receive() optimizations · 40d0802b
      Eric Dumazet 提交于
      compare_ether_header() can have a special implementation on 64 bit
      arches if CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is defined.
      
      __napi_gro_receive() and vlan_gro_common() can avoid a conditional
      branch to perform device match.
      
      On x86_64, __napi_gro_receive() has now 38 instructions instead of 53
      
      As gcc-4.4.3 still choose to not inline it, add inline keyword to this
      performance critical function.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Herbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      40d0802b
  11. 24 8月, 2010 2 次提交
  12. 23 8月, 2010 2 次提交
  13. 22 8月, 2010 1 次提交
  14. 20 8月, 2010 3 次提交
  15. 19 8月, 2010 1 次提交
  16. 18 8月, 2010 1 次提交
  17. 17 8月, 2010 3 次提交
  18. 08 8月, 2010 1 次提交
  19. 06 8月, 2010 1 次提交
  20. 03 8月, 2010 2 次提交
  21. 01 8月, 2010 1 次提交
  22. 27 7月, 2010 1 次提交
  23. 26 7月, 2010 1 次提交
  24. 25 7月, 2010 2 次提交
    • E
      net: pskb_expand_head() optimization · fed66381
      Eric Dumazet 提交于
      Move frags[] at the end of struct skb_shared_info, and make
      pskb_expand_head() copy only the used part of it instead of whole array.
      
      This should avoid kmemcheck warnings and speedup pskb_expand_head() as
      well, avoiding a lot of cache misses.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fed66381
    • S
      sysfs: add attribute to indicate hw address assignment type · c1f79426
      Stefan Assmann 提交于
      Add addr_assign_type to struct net_device and expose it via sysfs.
      This new attribute has the purpose of giving user-space the ability to
      distinguish between different assignment types of MAC addresses.
      
      For example user-space can treat NICs with randomly generated MAC
      addresses differently than NICs that have permanent (locally assigned)
      MAC addresses.
      For the former udev could write a persistent net rule by matching the
      device path instead of the MAC address.
      There's also the case of devices that 'steal' MAC addresses from slave
      devices. In which it is also be beneficial for user-space to be aware
      of the fact.
      
      This patch also introduces a helper function to assist adoption of
      drivers that generate MAC addresses randomly.
      Signed-off-by: NStefan Assmann <sassmann@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1f79426
  25. 24 7月, 2010 1 次提交