• Etienne Pierre-Doray's avatar
    [TaskScheduler]: Create no detach below initial capacity feature · 3f40244c
    Etienne Pierre-Doray authored
    Under this experiment, scheduler workers are only detached if the pool is
    above its initial capacity (threads that are created to replace blocked threads).
    
    2 options were considered:
    Option A: Detach only when over initial capacity.
    
    Option B: Detach only when over current capacity (includes currently blocked threads in capacity).
    This might better handle the following case: At any given time, there is at least 1 blocked thread.
    On top of that, some periodic work uses all worker every 30s or so. The current capacity will
    encompass for the blocked thread and avoid detaching it periodically.
    
    Option A was picked because it is more conservative. Initial capacity is smaller or
    equal to current capacity, so detaching is closer to current behavior. We want to avoid having
    too many threads that aren't used.
    
    Bug: 847501
    Change-Id: I0b116db54095767768b158d92f5f146249720b45
    Reviewed-on: https://chromium-review.googlesource.com/c/1348863
    Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
    Reviewed-by: default avatarFrançois Doray <fdoray@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#612698}
    3f40244c
task_features.cc 1.04 KB