1. 20 4月, 2011 2 次提交
  2. 16 4月, 2011 1 次提交
  3. 15 4月, 2011 1 次提交
    • D
      ipv4: Call fib_select_default() only when actually necessary. · 21d8c49e
      David S. Miller 提交于
      fib_select_default() is a complete NOP, and completely pointless
      to invoke, when we have no more than 1 default route installed.
      
      And this is far and away the common case.
      
      So remember how many prefixlen==0 routes we have in the routing
      table, and elide the call when we have no more than one of those.
      
      This cuts output route creation time by 157 cycles on Niagara2+.
      
      In order to add the new int to fib_table, we have to correct the type
      of ->tb_data[] to unsigned long, otherwise the private area will be
      unaligned on 64-bit systems.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Reviewed-by: NEric Dumazet <eric.dumazet@gmail.com>
      21d8c49e
  4. 12 4月, 2011 1 次提交
  5. 11 4月, 2011 2 次提交
  6. 08 4月, 2011 2 次提交
  7. 07 4月, 2011 1 次提交
  8. 05 4月, 2011 4 次提交
    • T
      net: Allow no-cache copy from user on transmit · c6e1a0d1
      Tom Herbert 提交于
      This patch uses __copy_from_user_nocache on transmit to bypass data
      cache for a performance improvement.  skb_add_data_nocache and
      skb_copy_to_page_nocache can be called by sendmsg functions to use
      this feature, initial support is in tcp_sendmsg.  This functionality is
      configurable per device using ethtool.
      
      Presumably, this feature would only be useful when the driver does
      not touch the data.  The feature is turned on by default if a device
      indicates that it does some form of checksum offload; it is off by
      default for devices that do no checksum offload or indicate no checksum
      is necessary.  For the former case copy-checksum is probably done
      anyway, in the latter case the device is likely loopback in which case
      the no cache copy is probably not beneficial.
      
      This patch was tested using 200 instances of netperf TCP_RR with
      1400 byte request and one byte reply.  Platform is 16 core AMD x86.
      
      No-cache copy disabled:
         672703 tps, 97.13% utilization
         50/90/99% latency:244.31 484.205 1028.41
      
      No-cache copy enabled:
         702113 tps, 96.16% utilization,
         50/90/99% latency 238.56 467.56 956.955
      
      Using 14000 byte request and response sizes demonstrate the
      effects more dramatically:
      
      No-cache copy disabled:
         79571 tps, 34.34 %utlization
         50/90/95% latency 1584.46 2319.59 5001.76
      
      No-cache copy enabled:
         83856 tps, 34.81% utilization
         50/90/95% latency 2508.42 2622.62 2735.88
      
      Note especially the effect on latency tail (95th percentile).
      
      This seems to provide a nice performance improvement and is
      consistent in the tests I ran.  Presumably, this would provide
      the greatest benfits in the presence of an application workload
      stressing the cache and a lot of transmit data happening.
      Signed-off-by: NTom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c6e1a0d1
    • J
      Bluetooth: Add mgmt_remote_name event · a88a9652
      Johan Hedberg 提交于
      This patch adds a new remote_name event to the Management interface
      which is sent every time the name of a remote device is resolved (over
      BR/EDR).
      Signed-off-by: NJohan Hedberg <johan.hedberg@nokia.com>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      a88a9652
    • J
      Bluetooth: Add mgmt_device_found event · e17acd40
      Johan Hedberg 提交于
      This patch adds a device_found event to the Management interface. For
      now the event only maps to BR/EDR inquiry result HCI events, but in the
      future the plan is to also use it for the LE device discovery process.
      Signed-off-by: NJohan Hedberg <johan.hedberg@nokia.com>
      Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
      e17acd40
    • J
      mac80211: fix comment regarding aggregation buf_size · 5312c3f6
      Johannes Berg 提交于
      The description for buf_size was misleading and
      just said you couldn't TX larger aggregates, but
      of course you can't TX aggregates in a way that
      would exceed the window either, which is possible
      even if the aggregates are shorter than that.
      
      Expand the description, thanks to Emmanuel for
      explaining this to me.
      
      Cc: Emmanuel Grumbach <egrumbach@gmail.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5312c3f6
  9. 04 4月, 2011 1 次提交
  10. 02 4月, 2011 1 次提交
  11. 01 4月, 2011 10 次提交
  12. 31 3月, 2011 4 次提交
  13. 30 3月, 2011 1 次提交
  14. 29 3月, 2011 1 次提交
  15. 28 3月, 2011 2 次提交
  16. 25 3月, 2011 4 次提交
  17. 24 3月, 2011 1 次提交
    • E
      net_sched: fix THROTTLED/RUNNING race · ef352e7c
      Eric Dumazet 提交于
      commit fd245a4a (net_sched: move TCQ_F_THROTTLED flag)
      added a race.
      
      qdisc_watchdog() is run from softirq, so special care should be taken or
      we can lose one state transition (THROTTLED/RUNNING)
      
      Prior to fd245a4a, we were manipulating q->flags (qdisc->flags &=
      ~TCQ_F_THROTTLED;) and this manipulation could only race with
      qdisc_warn_nonwc().
      
      Since we want to avoid atomic ops in qdisc fast path - it was the
      meaning of commit 37112105 (QDISC_STATE_RUNNING dont need atomic
      bit ops) - fix is to move THROTTLE bit into 'state' field, this one
      being manipulated with SMP and IRQ safe operations.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ef352e7c
  18. 23 3月, 2011 1 次提交