You can take a look at this kernel commit. It is the fix for kernel 3.14
stable tree and has the info about the fix applied to Linux master
branch too:

commit 4c03d4699182312ed42257834b915492af16022a
Author: Peter Zijlstra <[email protected]>
Date:   Wed Apr 9 16:24:47 2014 +0200

    x86,preempt: Fix preemption for i386
    
    Many people reported preemption/reschedule problems with i386 kernels
    for .13 and .14. After Michele bisected this to a combination of
    
      3e8e42c69bb ("sched: Revert need_resched() to look at TIF_NEED_RESCHED")
      ded79754754 ("irq: Force hardirq exit's softirq processing on its own 
stack")
    
    it finally dawned on me that i386's current_thread_info() was to
    blame.
    
    When we are on interrupt/exception stacks, we fail to observe the
    right TIF_NEED_RESCHED bit and therefore the PREEMPT_NEED_RESCHED
    folding malfunctions.
    
    Current upstream fixes this by making i386 behave the same as x86_64
    already did:
    
      2432e1364bbe ("x86: Nuke the supervisor_stack field in i386 thread_info")
      b807902a88c4 ("x86: Nuke GET_THREAD_INFO_WITH_ESP() macro for i386")
      0788aa6a23cb ("x86: Prepare removal of previous_esp from i386 thread_info 
structure")
      198d208df437 ("x86: Keep thread_info on thread stack in x86_32")
    
    However, that is far too much to stuff into -stable. Therefore I
    propose we merge the below patch which uses task_thread_info(current)
    for tif_need_resched() instead of the ESP based current_thread_info().
    
    This makes sure we always observe the one true TIF_NEED_RESCHED bit
    and things will work as expected again.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1269404

Title:
  BUG: soft lockup - CPU#2 stuck for 22s! [systemd-udevd:546]

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1269404/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to