1. 11 6月, 2013 6 次提交
    • B
      Fix lockup related to stop_machine being stuck in __do_softirq. · 34376a50
      Ben Greear 提交于
      The stop machine logic can lock up if all but one of the migration
      threads make it through the disable-irq step and the one remaining
      thread gets stuck in __do_softirq.  The reason __do_softirq can hang is
      that it has a bail-out based on jiffies timeout, but in the lockup case,
      jiffies itself is not incremented.
      
      To work around this, re-add the max_restart counter in __do_irq and stop
      processing irqs after 10 restarts.
      
      Thanks to Tejun Heo and Rusty Russell and others for helping me track
      this down.
      
      This was introduced in 3.9 by commit c10d7367 ("softirq: reduce
      latencies").
      
      It may be worth looking into ath9k to see if it has issues with its irq
      handler at a later date.
      
      The hang stack traces look something like this:
      
          ------------[ cut here ]------------
          WARNING: at kernel/watchdog.c:245 watchdog_overflow_callback+0x9c/0xa7()
          Watchdog detected hard LOCKUP on cpu 2
          Modules linked in: ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 nfsv4 auth_rpcgss nfs fscache nf_nat_ipv4 nf_nat veth 8021q garp stp mrp llc pktgen lockd sunrpc]
          Pid: 23, comm: migration/2 Tainted: G         C   3.9.4+ #11
          Call Trace:
           <NMI>   warn_slowpath_common+0x85/0x9f
            warn_slowpath_fmt+0x46/0x48
            watchdog_overflow_callback+0x9c/0xa7
            __perf_event_overflow+0x137/0x1cb
            perf_event_overflow+0x14/0x16
            intel_pmu_handle_irq+0x2dc/0x359
            perf_event_nmi_handler+0x19/0x1b
            nmi_handle+0x7f/0xc2
            do_nmi+0xbc/0x304
            end_repeat_nmi+0x1e/0x2e
           <<EOE>>
            cpu_stopper_thread+0xae/0x162
            smpboot_thread_fn+0x258/0x260
            kthread+0xc7/0xcf
            ret_from_fork+0x7c/0xb0
          ---[ end trace 4947dfa9b0a4cec3 ]---
          BUG: soft lockup - CPU#1 stuck for 22s! [migration/1:17]
          Modules linked in: ath9k ath9k_common ath9k_hw ath mac80211 cfg80211 nfsv4 auth_rpcgss nfs fscache nf_nat_ipv4 nf_nat veth 8021q garp stp mrp llc pktgen lockd sunrpc]
          irq event stamp: 835637905
          hardirqs last  enabled at (835637904): __do_softirq+0x9f/0x257
          hardirqs last disabled at (835637905): apic_timer_interrupt+0x6d/0x80
          softirqs last  enabled at (5654720): __do_softirq+0x1ff/0x257
          softirqs last disabled at (5654725): irq_exit+0x5f/0xbb
          CPU 1
          Pid: 17, comm: migration/1 Tainted: G        WC   3.9.4+ #11 To be filled by O.E.M. To be filled by O.E.M./To be filled by O.E.M.
          RIP: tasklet_hi_action+0xf0/0xf0
          Process migration/1
          Call Trace:
           <IRQ>
            __do_softirq+0x117/0x257
            irq_exit+0x5f/0xbb
            smp_apic_timer_interrupt+0x8a/0x98
            apic_timer_interrupt+0x72/0x80
           <EOI>
            printk+0x4d/0x4f
            stop_machine_cpu_stop+0x22c/0x274
            cpu_stopper_thread+0xae/0x162
            smpboot_thread_fn+0x258/0x260
            kthread+0xc7/0xcf
            ret_from_fork+0x7c/0xb0
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Acked-by: NTejun Heo <tj@kernel.org>
      Acked-by: NPekka Riikonen <priikone@iki.fi>
      Cc: Eric Dumazet <eric.dumazet@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      34376a50
    • L
      Merge tag '9p-3.10-bug-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs · 1b79821f
      Linus Torvalds 提交于
      Pull net/9p bug fix from Eric Van Hensbergen:
       "zero copy error fix"
      
      * tag '9p-3.10-bug-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
        net/9p: Handle error in zero copy request correctly for 9p2000.u
      1b79821f
    • L
      Merge tag 'spi-v3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ab029631
      Linus Torvalds 提交于
      Pull spi fixes from Mark Brown:
       "A few nasty issues, particularly a race with the interrupt controller
        in the xilinx driver, together with a couple of more minor fixes and a
        much needed move of the mailing list away from sourceforge."
      
      * tag 'spi-v3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: hspi: fixup long delay time
        spi: spi-xilinx: Remove ISR race condition
        spi: topcliff-pch: fix error return code in pch_spi_probe()
        spi: topcliff-pch: Pass correct pointer to free_irq()
        spi: Move mailing list to vger
      ab029631
    • L
      Merge tag 'stable/for-linus-3.10-rc5-tag' of... · 50e6f851
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.10-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull xen fixes from Konrad Rzeszutek Wilk:
       "Two bug-fixes for regressions:
         - xen/tmem stopped working after a certain combination of
           modprobe/swapon was used
         - cpu online/offlining would trigger WARN_ON."
      
      * tag 'stable/for-linus-3.10-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/tmem: Don't over-write tmem_frontswap_poolid after tmem_frontswap_init set it.
        xen/smp: Fixup NOHZ per cpu data when onlining an offline CPU.
      50e6f851
    • L
      Merge tag 'regmap-v3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 30f5f739
      Linus Torvalds 提交于
      Pull regmap fixes from Mark Brown:
       "The biggest fix here is Lars-Peter's fix for custom locking callbacks
        which is pretty localised but important for those devices that use the
        feature.  Otherwise we've got a couple of fairly small cleanups which
        would have been sent sooner were it not for letting Lars-Peter's patch
        soak for a while"
      
      * tag 'regmap-v3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: rbtree: Fixed node range check on sync
        regmap: regcache: Fixup locking for custom lock callbacks
        regmap: debugfs: Check return value of regmap_write()
      30f5f739
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 822b4b6f
      Linus Torvalds 提交于
      Pull crypto fixes from Herbert Xu:
       "This fixes a build problem in sahara and temporarily disables two new
        optimisations because of performance regressions until a permanent fix
        is ready"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: sahara - fix building as module
        crypto: blowfish - disable AVX2 implementation
        crypto: twofish - disable AVX2 implementation
      822b4b6f
  2. 10 6月, 2013 12 次提交
  3. 09 6月, 2013 13 次提交
  4. 08 6月, 2013 9 次提交
新手
引导
客服 返回
顶部