lkml.org 
[lkml]   [2009]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 19/19] workqueue: implement concurrency managed workqueue
    Date
    Tejun Heo <tj@kernel.org> wrote:

    > gcwq always keeps at least single idle worker around. When a new
    > worker is necessary and the worker is the last idle one, the worker
    > assumes the role of "manager" and manages the worker pool -
    > ie. creates another worker. Forward-progress is guaranteed by having
    > dedicated rescue workers for workqueues which may be necessary while
    > creating a new worker. When the manager is having problem creating a
    > new worker, mayday timer activates and rescue workers are summoned to
    > the cpu and execute works which may be necessary to create new
    > workers.

    I take it that means that the rescue-workers are donated to the pool to become
    worker threads (perhaps on a temporary basis) in the event that forking fails
    due to ENOMEM, such that resources can be freed up for fork() to use.

    David


    \
     
     \ /
      Last update: 2009-10-01 15:21    [W:2.819 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site