• Etienne Pierre-doray's avatar
    Reland "[ThreadPool]: Implement Job Delegate's ShouldYield and concurrency increase." · 792309b6
    Etienne Pierre-doray authored
    This is a reland of 63fbbb92
    
    Reason for reland:
     - Fixed with ScopedAllowBaseSyncPrimitivesOutsideBlockingScope.
    
    Original change's description:
    > [ThreadPool]: Implement Job Delegate's ShouldYield and concurrency increase.
    >
    > This CL partially implement job's delegate, as well as concurrency
    > usage assertion:
    > - ShouldYield must be called in worker task.
    > - max concurrency is expected to decrease unless
    >   NotifyConcurrencyIncrease() is called.
    >
    > To implement ShouldYield, PooledTaskRunnerDelegate is used
    > to communicate with ThreadPool and a racy priority is added to
    > task source.
    >
    > Bug: 839091
    > Change-Id: I3504f00ec48ab600f79b64e44151bc9dded408a8
    > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1713146
    > Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
    > Reviewed-by: François Doray <fdoray@chromium.org>
    > Reviewed-by: Gabriel Charette <gab@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#690127}
    
    Bug: 839091
    Change-Id: I6f36f27426351e4efbcbaf7e9356840c004e6630
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1769502
    Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
    Reviewed-by: default avatarFrançois Doray <fdoray@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#690437}
    792309b6
thread_pool_impl_unittest.cc 52.6 KB