diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/base/task/thread_pool | |
parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
download | qtwebengine-chromium-85-based.tar.gz |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/base/task/thread_pool')
10 files changed, 24 insertions, 20 deletions
diff --git a/chromium/base/task/thread_pool/job_task_source.cc b/chromium/base/task/thread_pool/job_task_source.cc index c86e3e0f118..5ff698c7b78 100644 --- a/chromium/base/task/thread_pool/job_task_source.cc +++ b/chromium/base/task/thread_pool/job_task_source.cc @@ -117,9 +117,7 @@ JobTaskSource::JoinFlag::JoinFlag() = default; JobTaskSource::JoinFlag::~JoinFlag() = default; void JobTaskSource::JoinFlag::SetWaiting() { - const auto previous_value = - value_.exchange(kWaitingForWorkerToYield, std::memory_order_relaxed); - DCHECK(previous_value == kNotWaiting); + value_.store(kWaitingForWorkerToYield, std::memory_order_relaxed); } bool JobTaskSource::JoinFlag::ShouldWorkerYield() { @@ -215,6 +213,7 @@ void JobTaskSource::Cancel(TaskSource::Transaction* transaction) { bool JobTaskSource::WaitForParticipationOpportunity() { CheckedAutoLock auto_lock(lock_); + DCHECK(!join_flag_.IsWaiting()); // std::memory_order_relaxed is sufficient because no other state is // synchronized with |state_| outside of |lock_|. diff --git a/chromium/base/task/thread_pool/job_task_source.h b/chromium/base/task/thread_pool/job_task_source.h index e7e578db590..b043f3269a1 100644 --- a/chromium/base/task/thread_pool/job_task_source.h +++ b/chromium/base/task/thread_pool/job_task_source.h @@ -150,6 +150,12 @@ class BASE_EXPORT JobTaskSource : public TaskSource { JoinFlag(); ~JoinFlag(); + // Returns true if the status is not kNotWaiting, using + // std::memory_order_relaxed. + bool IsWaiting() { + return value_.load(std::memory_order_relaxed) != kNotWaiting; + } + // Sets the status as kWaitingForWorkerToYield using // std::memory_order_relaxed. void SetWaiting(); diff --git a/chromium/base/task/thread_pool/service_thread_unittest.cc b/chromium/base/task/thread_pool/service_thread_unittest.cc index 7b3d3c21031..d5b536a684f 100644 --- a/chromium/base/task/thread_pool/service_thread_unittest.cc +++ b/chromium/base/task/thread_pool/service_thread_unittest.cc @@ -8,6 +8,7 @@ #include "base/bind.h" #include "base/debug/stack_trace.h" +#include "base/logging.h" #include "base/task/thread_pool/thread_pool_impl.h" #include "base/task/thread_pool/thread_pool_instance.h" #include "base/test/metrics/histogram_tester.h" diff --git a/chromium/base/task/thread_pool/task_tracker.cc b/chromium/base/task/thread_pool/task_tracker.cc index 1b02bf0f75a..06311fc3c96 100644 --- a/chromium/base/task/thread_pool/task_tracker.cc +++ b/chromium/base/task/thread_pool/task_tracker.cc @@ -13,10 +13,12 @@ #include "base/command_line.h" #include "base/compiler_specific.h" #include "base/json/json_writer.h" +#include "base/logging.h" #include "base/memory/ptr_util.h" #include "base/metrics/histogram_macros.h" #include "base/optional.h" #include "base/sequence_token.h" +#include "base/strings/string_util.h" #include "base/synchronization/condition_variable.h" #include "base/task/scoped_set_task_priority_for_current_thread.h" #include "base/task/task_executor.h" @@ -25,7 +27,7 @@ #include "base/threading/thread_restrictions.h" #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" -#include "base/trace_event/trace_event.h" +#include "base/trace_event/base_tracing.h" #include "base/values.h" #include "build/build_config.h" diff --git a/chromium/base/task/thread_pool/task_tracker.h b/chromium/base/task/thread_pool/task_tracker.h index ab19ad3bb03..eebd7adde42 100644 --- a/chromium/base/task/thread_pool/task_tracker.h +++ b/chromium/base/task/thread_pool/task_tracker.h @@ -14,7 +14,6 @@ #include "base/atomicops.h" #include "base/base_export.h" #include "base/callback_forward.h" -#include "base/logging.h" #include "base/macros.h" #include "base/metrics/histogram_base.h" #include "base/sequence_checker.h" diff --git a/chromium/base/task/thread_pool/task_tracker_posix.h b/chromium/base/task/thread_pool/task_tracker_posix.h index 8f59d5368f3..c507004932b 100644 --- a/chromium/base/task/thread_pool/task_tracker_posix.h +++ b/chromium/base/task/thread_pool/task_tracker_posix.h @@ -8,7 +8,6 @@ #include <memory> #include "base/base_export.h" -#include "base/logging.h" #include "base/macros.h" #include "base/message_loop/message_pump_type.h" #include "base/task/thread_pool/task_tracker.h" diff --git a/chromium/base/task/thread_pool/thread_group_impl.h b/chromium/base/task/thread_pool/thread_group_impl.h index 26f7da99dc3..3431be2f298 100644 --- a/chromium/base/task/thread_pool/thread_group_impl.h +++ b/chromium/base/task/thread_pool/thread_group_impl.h @@ -12,10 +12,10 @@ #include <vector> #include "base/base_export.h" +#include "base/check_op.h" #include "base/compiler_specific.h" #include "base/containers/stack.h" #include "base/gtest_prod_util.h" -#include "base/logging.h" #include "base/macros.h" #include "base/memory/ref_counted.h" #include "base/optional.h" diff --git a/chromium/base/task/thread_pool/thread_pool_impl.h b/chromium/base/task/thread_pool/thread_pool_impl.h index 57a23fd0e0e..b7b4ac73f67 100644 --- a/chromium/base/task/thread_pool/thread_pool_impl.h +++ b/chromium/base/task/thread_pool/thread_pool_impl.h @@ -10,7 +10,7 @@ #include "base/base_export.h" #include "base/callback.h" -#include "base/logging.h" +#include "base/check_op.h" #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/memory/ref_counted.h" diff --git a/chromium/base/task/thread_pool/tracked_ref.h b/chromium/base/task/thread_pool/tracked_ref.h index 3b398f1a63e..b36e8e71430 100644 --- a/chromium/base/task/thread_pool/tracked_ref.h +++ b/chromium/base/task/thread_pool/tracked_ref.h @@ -8,8 +8,8 @@ #include <memory> #include "base/atomic_ref_count.h" +#include "base/check.h" #include "base/gtest_prod_util.h" -#include "base/logging.h" #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/synchronization/waitable_event.h" diff --git a/chromium/base/task/thread_pool/worker_thread.cc b/chromium/base/task/thread_pool/worker_thread.cc index 79e5105b933..429838cf7df 100644 --- a/chromium/base/task/thread_pool/worker_thread.cc +++ b/chromium/base/task/thread_pool/worker_thread.cc @@ -16,7 +16,7 @@ #include "base/task/thread_pool/worker_thread_observer.h" #include "base/threading/hang_watcher.h" #include "base/time/time_override.h" -#include "base/trace_event/trace_event.h" +#include "base/trace_event/base_tracing.h" #if defined(OS_MACOSX) #include "base/mac/scoped_nsautorelease_pool.h" @@ -293,9 +293,8 @@ NOINLINE void WorkerThread::RunBackgroundDedicatedCOMWorker() { void WorkerThread::RunWorker() { DCHECK_EQ(self_, this); - TRACE_EVENT_INSTANT0("thread_pool", "WorkerThreadThread born", - TRACE_EVENT_SCOPE_THREAD); - TRACE_EVENT_BEGIN0("thread_pool", "WorkerThreadThread active"); + TRACE_EVENT_INSTANT0("base", "WorkerThread born", TRACE_EVENT_SCOPE_THREAD); + TRACE_EVENT_BEGIN0("base", "WorkerThread active"); if (worker_thread_observer_) worker_thread_observer_->OnWorkerThreadMainEntry(); @@ -317,9 +316,9 @@ void WorkerThread::RunWorker() { // A WorkerThread starts out waiting for work. { - TRACE_EVENT_END0("thread_pool", "WorkerThreadThread active"); + TRACE_EVENT_END0("base", "WorkerThread active"); delegate_->WaitForWork(&wake_up_event_); - TRACE_EVENT_BEGIN0("thread_pool", "WorkerThreadThread active"); + TRACE_EVENT_BEGIN0("base", "WorkerThread active"); } while (!ShouldExit()) { @@ -339,10 +338,10 @@ void WorkerThread::RunWorker() { if (ShouldExit()) break; - TRACE_EVENT_END0("thread_pool", "WorkerThreadThread active"); + TRACE_EVENT_END0("base", "WorkerThread active"); hang_watch_scope.reset(); delegate_->WaitForWork(&wake_up_event_); - TRACE_EVENT_BEGIN0("thread_pool", "WorkerThreadThread active"); + TRACE_EVENT_BEGIN0("base", "WorkerThread active"); continue; } @@ -370,9 +369,8 @@ void WorkerThread::RunWorker() { // and as such no more member accesses should be made after this point. self_ = nullptr; - TRACE_EVENT_END0("thread_pool", "WorkerThreadThread active"); - TRACE_EVENT_INSTANT0("thread_pool", "WorkerThreadThread dead", - TRACE_EVENT_SCOPE_THREAD); + TRACE_EVENT_END0("base", "WorkerThread active"); + TRACE_EVENT_INSTANT0("base", "WorkerThread dead", TRACE_EVENT_SCOPE_THREAD); } } // namespace internal |