lkml.org 
[lkml]   [2013]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: workqueue code needing preemption disabled
    Hello, Steven.

    On Mon, Mar 18, 2013 at 12:30:43PM -0400, Steven Rostedt wrote:
    > If you happen to know the critical areas that require preemption to be
    > disabled for real, we can encapsulate them with:
    >
    > preempt_disable_rt();
    >
    > preempt_enable_rt();
    >
    > These are currently only in the -rt patch, but it annotates locations
    > that require preemption to be disabled even when -rt converts spin_locks
    > into mutexes. These obviously can not contain spin_locks() as
    > spin_locks() can block and schedule out.

    Making gcwq locks disable preemption would be much safer / easier, but
    if that's not desirable, anything touching gcwq->idle_list would be a
    good place to start - worker_enter_idle() and worker_leave_idle().
    Hmmm... ignoring CPU hotplug, I think those two might just do it.
    Give it a try? How reproducible is the problem?

    Thanks.

    --
    tejun


    \
     
     \ /
      Last update: 2013-03-18 21:44    [W:4.523 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site