1. 10 6月, 2011 2 次提交
  2. 09 6月, 2011 6 次提交
  3. 08 6月, 2011 6 次提交
  4. 07 6月, 2011 12 次提交
    • H
      net: cpu offline cause napi stall · 264524d5
      Heiko Carstens 提交于
      Frank Blaschka reported :
      <quote>
        During heavy network load we turn off/on cpus.
        Sometimes this causes a stall on the network device.
        Digging into the dump I found out following:
      
        napi is scheduled but does not run. From the I/O buffers
        and the napi state I see napi/rx_softirq processing has stopped
        because the budget was reached. napi stays in the
        softnet_data poll_list and the rx_softirq was raised again.
      
        I assume at this time the cpu offline comes in,
        the rx softirq is raised/moved to another cpu but napi stays in the
        poll_list of the softnet_data of the now offline cpu.
      
        Reviewing dev_cpu_callback (net/core/dev.c) I did not find the
        poll_list is transfered to the new cpu.
      </quote>
      
      This patch is a straightforward implementation of Frank suggestion :
      
      Transfert poll_list and trigger NET_RX_SOFTIRQ on new cpu.
      Reported-by: NFrank Blaschka <blaschka@linux.vnet.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Tested-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      264524d5
    • A
      bridge: provide a cow_metrics method for fake_ops · 6407d74c
      Alexander Holler 提交于
      Like in commit 0972ddb2 (provide cow_metrics() methods to blackhole
      dst_ops), we must provide a cow_metrics for bridges fake_dst_ops as
      well.
      
      This fixes a regression coming from commits 62fa8a84 (net: Implement
      read-only protection and COW'ing of metrics.) and 33eb9873 (bridge:
      initialize fake_rtable metrics)
      
      ip link set mybridge mtu 1234
      -->
      [  136.546243] Pid: 8415, comm: ip Tainted: P 
      2.6.39.1-00006-g40545b7 #103 ASUSTeK Computer Inc.         V1Sn 
              /V1Sn
      [  136.546256] EIP: 0060:[<00000000>] EFLAGS: 00010202 CPU: 0
      [  136.546268] EIP is at 0x0
      [  136.546273] EAX: f14a389c EBX: 000005d4 ECX: f80d32c0 EDX: f80d1da1
      [  136.546279] ESI: f14a3000 EDI: f255bf10 EBP: f15c3b54 ESP: f15c3b48
      [  136.546285]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      [  136.546293] Process ip (pid: 8415, ti=f15c2000 task=f4741f80 
      task.ti=f15c2000)
      [  136.546297] Stack:
      [  136.546301]  f80c658f f14a3000 ffffffed f15c3b64 c12cb9c8 f80d1b80 
      ffffffa1 f15c3bbc
      [  136.546315]  c12da347 c12d9c7d 00000000 f7670b00 00000000 f80d1b80 
      ffffffa6 f15c3be4
      [  136.546329]  00000004 f14a3000 f255bf20 00000008 f15c3bbc c11d6cae 
      00000000 00000000
      [  136.546343] Call Trace:
      [  136.546359]  [<f80c658f>] ? br_change_mtu+0x5f/0x80 [bridge]
      [  136.546372]  [<c12cb9c8>] dev_set_mtu+0x38/0x80
      [  136.546381]  [<c12da347>] do_setlink+0x1a7/0x860
      [  136.546390]  [<c12d9c7d>] ? rtnl_fill_ifinfo+0x9bd/0xc70
      [  136.546400]  [<c11d6cae>] ? nla_parse+0x6e/0xb0
      [  136.546409]  [<c12db931>] rtnl_newlink+0x361/0x510
      [  136.546420]  [<c1023240>] ? vmalloc_sync_all+0x100/0x100
      [  136.546429]  [<c1362762>] ? error_code+0x5a/0x60
      [  136.546438]  [<c12db5d0>] ? rtnl_configure_link+0x80/0x80
      [  136.546446]  [<c12db27a>] rtnetlink_rcv_msg+0xfa/0x210
      [  136.546454]  [<c12db180>] ? __rtnl_unlock+0x20/0x20
      [  136.546463]  [<c12ee0fe>] netlink_rcv_skb+0x8e/0xb0
      [  136.546471]  [<c12daf1c>] rtnetlink_rcv+0x1c/0x30
      [  136.546479]  [<c12edafa>] netlink_unicast+0x23a/0x280
      [  136.546487]  [<c12ede6b>] netlink_sendmsg+0x26b/0x2f0
      [  136.546497]  [<c12bb828>] sock_sendmsg+0xc8/0x100
      [  136.546508]  [<c10adf61>] ? __alloc_pages_nodemask+0xe1/0x750
      [  136.546517]  [<c11d0602>] ? _copy_from_user+0x42/0x60
      [  136.546525]  [<c12c5e4c>] ? verify_iovec+0x4c/0xc0
      [  136.546534]  [<c12bd805>] sys_sendmsg+0x1c5/0x200
      [  136.546542]  [<c10c2150>] ? __do_fault+0x310/0x410
      [  136.546549]  [<c10c2c46>] ? do_wp_page+0x1d6/0x6b0
      [  136.546557]  [<c10c47d1>] ? handle_pte_fault+0xe1/0x720
      [  136.546565]  [<c12bd1af>] ? sys_getsockname+0x7f/0x90
      [  136.546574]  [<c10c4ec1>] ? handle_mm_fault+0xb1/0x180
      [  136.546582]  [<c1023240>] ? vmalloc_sync_all+0x100/0x100
      [  136.546589]  [<c10233b3>] ? do_page_fault+0x173/0x3d0
      [  136.546596]  [<c12bd87b>] ? sys_recvmsg+0x3b/0x60
      [  136.546605]  [<c12bdd83>] sys_socketcall+0x293/0x2d0
      [  136.546614]  [<c13629d0>] sysenter_do_call+0x12/0x26
      [  136.546619] Code:  Bad EIP value.
      [  136.546627] EIP: [<00000000>] 0x0 SS:ESP 0068:f15c3b48
      [  136.546645] CR2: 0000000000000000
      [  136.546652] ---[ end trace 6909b560e78934fa ]---
      Signed-off-by: NAlexander Holler <holler@ahsoftware.de>
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6407d74c
    • E
      af_packet: prevent information leak · 13fcb7bd
      Eric Dumazet 提交于
      In 2.6.27, commit 393e52e3 (packet: deliver VLAN TCI to userspace)
      added a small information leak.
      
      Add padding field and make sure its zeroed before copy to user.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      CC: Patrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      13fcb7bd
    • D
      irda: iriap: Use seperate lockdep class for irias_objects->hb_spinlock · 79b38915
      David S. Miller 提交于
      The SEQ output functions grab the obj->attrib->hb_spinlock lock of
      sub-objects found in the hash traversal.  These locks are in a different
      realm than the one used for the irias_objects hash table itself.
      
      So put the latter into it's own lockdep class.
      Reported-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      79b38915
    • D
      net: Rework netdev_drivername() to avoid warning. · 3019de12
      David S. Miller 提交于
      This interface uses a temporary buffer, but for no real reason.
      And now can generate warnings like:
      
      net/sched/sch_generic.c: In function dev_watchdog
      net/sched/sch_generic.c:254:10: warning: unused variable drivername
      
      Just return driver->name directly or "".
      Reported-by: NConnor Hansen <cmdkhh@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3019de12
    • M
      net/ipv6: check for mistakenly passed in non-AF_INET6 sockaddrs · 5a079c30
      Marcus Meissner 提交于
      Same check as for IPv4, also do for IPv6.
      
      (If you passed in a IPv4 sockaddr_in here, the sizeof check
       in the line before would have triggered already though.)
      Signed-off-by: NMarcus Meissner <meissner@suse.de>
      Cc: Reinhard Max <max@suse.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5a079c30
    • D
    • S
      iwl4965: set tx power after rxon_assoc · 51892dbb
      Stanislaw Gruszka 提交于
      Setting tx power can be deferred during scan or changing channel.
      If after that correct tx power settings will not be sent to device,
      we can observe transmission problems and timeouts. Force to send
      tx power settings also after partial rxon change, to assure device
      always be configured with up-to-date settings.
      
      Resolves:
      https://bugzilla.kernel.org/show_bug.cgi?id=36492
      
      Cc: stable@kernel.org # 2.6.39+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      51892dbb
    • S
      rt2x00: fix rmmod crash · 3bb42a64
      Stanislaw Gruszka 提交于
      Avoid queue and run autowakeup_work when device is not present anymore.
      That prevent rmmod and device remove crash introduced by:
      
      commit 1c0bcf89
      Author: Ivo van Doorn <ivdoorn@gmail.com>
      Date:   Sat Apr 30 17:18:18 2011 +0200
      
          rt2x00: Add autowake support for USB hardware
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3bb42a64
    • S
      iwlagn: use cts-to-self protection on 5000 adapters series · 42b70a5f
      Stanislaw Gruszka 提交于
      This patch fixes 802.11n stability and performance regression we have
      since 2.6.35. It boost performance on my 5GHz N-only network from about
      5MB/s to 8MB/s. Similar percentage boost can be observed on 2.4 GHz.
      
      These are test results of 5x downloading of approximately 700MB iso
      image:
      
      vanilla: 5.27 5.22 4.94 4.47 5.31 ; avr 5.0420 std 0.35110
      patched: 8.07 7.95 8.06 7.99 7.96 ; avr 8.0060 std 0.055946
      
      This was achieved with NetworkManager configured to do not perform
      periodical scans, by configuring constant BSSID. With periodical scans,
      after some time, performance downgrade to unpatched driver level, like
      in example below:
      
      patched: 7.40 7.61 4.28 4.37 4.80 avr 5.6920 std 1.6683
      
      However patch still make better here, since similar test on unpatched
      driver make link disconnects with below messages after some time:
      
      wlan1: authenticate with 00:23:69:35:d1:3f (try 1)
      wlan1: authenticate with 00:23:69:35:d1:3f (try 2)
      wlan1: authenticate with 00:23:69:35:d1:3f (try 3)
      wlan1: authentication with 00:23:69:35:d1:3f timed out
      
      On 2.6.35 kernel patch helps against connection hangs with messages:
      
      iwlagn 0000:20:00.0: queue 10 stuck 3 time. Fw reload.
      iwlagn 0000:20:00.0: On demand firmware reload
      iwlagn 0000:20:00.0: Stopping AGG while state not ON or starting
      
      Cc: stable@kernel.org # 2.6.35+
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Acked-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      42b70a5f
    • J
      Revert "mac80211: Skip tailroom reservation for full HW-crypto devices" · ab6a44ce
      John W. Linville 提交于
      This reverts commit aac6af55.
      
      Conflicts:
      
      	net/mac80211/key.c
      
      That commit has a race that causes a warning, as documented in the thread
      here:
      
      	http://marc.info/?l=linux-wireless&m=130717684914101&w=2Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ab6a44ce
    • J
      Merge branch 'master' of... · c1111471
      John W. Linville 提交于
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem
      c1111471
  5. 06 6月, 2011 14 次提交