3 years, 11 months ago
(2017-01-23 15:22:50 UTC)
#2
alex clarke (OOO till 29th)
Description was changed from ========== Move has_incoming_immediate_work to the TaskQueueManager Reduces the number of locks ...
3 years, 11 months ago
(2017-01-23 15:25:41 UTC)
#3
Description was changed from
==========
Move has_incoming_immediate_work to the TaskQueueManager
Reduces the number of locks per DoWork by moving the
has_incoming_immediate_work set to the TaskQueueManager.
Origionally part of https://codereview.chromium.org/2546423002/
BUG=578176
==========
to
==========
Move has_incoming_immediate_work to the TaskQueueManager
Reduces the number of locks per DoWork by moving the
has_incoming_immediate_work set to the TaskQueueManager.
Previously TimeDomain::UpdateWorkQueues was called for every
time domain (at least 2 time domains, maybe more in some circumstances)
which would take a lock. Now we only need the one lock.
Origionally part of https://codereview.chromium.org/2546423002/
BUG=578176
==========
alex clarke (OOO till 29th)
Description was changed from ========== Move has_incoming_immediate_work to the TaskQueueManager Reduces the number of locks ...
3 years, 11 months ago
(2017-01-23 15:25:51 UTC)
#4
Description was changed from
==========
Move has_incoming_immediate_work to the TaskQueueManager
Reduces the number of locks per DoWork by moving the
has_incoming_immediate_work set to the TaskQueueManager.
Previously TimeDomain::UpdateWorkQueues was called for every
time domain (at least 2 time domains, maybe more in some circumstances)
which would take a lock. Now we only need the one lock.
Origionally part of https://codereview.chromium.org/2546423002/
BUG=578176
==========
to
==========
Move has_incoming_immediate_work to the TaskQueueManager
Reduces the number of locks per DoWork by moving the
has_incoming_immediate_work set to the TaskQueueManager.
Previously TimeDomain::UpdateWorkQueues was called for every
time domain (at least 2 time domains, maybe more in some circumstances)
which would take a lock. Now we only need the one lock.
Originally part of https://codereview.chromium.org/2546423002/
BUG=578176
==========
3 years, 11 months ago
(2017-01-24 11:12:26 UTC)
#12
Dry run: This issue passed the CQ dry run.
Sami
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc File third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc#newcode335 third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc:335: bool ensure_do_work_posted = To separate the concerns a bit, ...
3 years, 11 months ago
(2017-01-24 14:52:41 UTC)
#13
PTAL https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc File third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc (right): https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc#newcode335 third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc:335: bool ensure_do_work_posted = On 2017/01/24 14:52:40, Sami wrote: ...
3 years, 11 months ago
(2017-01-24 15:28:14 UTC)
#14
PTAL
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
File third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc
(right):
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/platform/scheduler/base/task_queue_impl.cc:335: bool
ensure_do_work_posted =
On 2017/01/24 14:52:40, Sami wrote:
> To separate the concerns a bit, how about calling this something like
> |can_run_immediately|? (Alternatively the inverse of that since that's really
> the only thing we can guarantee here, but I can't think of a good name for
it.)
I suppose task_currently_blocked?
>
> Should we also DCHECK() that ImmediateTaskCouldRun is consistent with what we
> compute here?
Well ImmediateTaskCouldRun has gone away so a DCHECK doesn't make sense.
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
File third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc
(right):
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:161: //
case). Secondly
On 2017/01/24 14:52:40, Sami wrote:
> Secondly...? :)
Done.
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:289:
std::set<internal::TaskQueueImpl*> queues_to_reload;
On 2017/01/24 14:52:40, Sami wrote:
> Probably doesn't make a huge difference, but unordered_set?
I guess.
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:357:
base::AutoLock lock(any_thread_lock_);
On 2017/01/24 14:52:40, Sami wrote:
> Any lock inversion issues here? Basically I think we need to make sure
> any_thread_lock_ and the per-queue-locks aren't held at the same time if
> possible.
Yeah actually that could be one. Can probably get the majority of the benefit
of this by asserting it doesn't have a fence and it's not disabled. Neither of
which need a lock.
alex clarke (OOO till 29th)
The CQ bit was checked by alexclarke@chromium.org to run a CQ dry run
3 years, 11 months ago
(2017-01-24 15:28:23 UTC)
#15
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc File third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc (right): https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc#newcode357 third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:357: base::AutoLock lock(any_thread_lock_); On 2017/01/24 15:28:14, alex clarke wrote: > ...
3 years, 11 months ago
(2017-01-24 15:29:11 UTC)
#17
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
File third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc
(right):
https://codereview.chromium.org/2653643002/diff/60001/third_party/WebKit/Sour...
third_party/WebKit/Source/platform/scheduler/base/task_queue_manager.cc:357:
base::AutoLock lock(any_thread_lock_);
On 2017/01/24 15:28:14, alex clarke wrote:
> On 2017/01/24 14:52:40, Sami wrote:
> > Any lock inversion issues here? Basically I think we need to make sure
> > any_thread_lock_ and the per-queue-locks aren't held at the same time if
> > possible.
>
> Yeah actually that could be one. Can probably get the majority of the benefit
> of this by asserting it doesn't have a fence and it's not disabled. Neither of
> which need a lock.
Actually on second thoughts I think I'm trying to be too clever here. I'll call
ReloadEmptyWorkQueues.
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
3 years, 11 months ago
(2017-01-24 15:32:16 UTC)
#18
Dry run: Try jobs failed on following builders: cast_shell_android on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_android/builds/198851) cast_shell_linux on ...
3 years, 11 months ago
(2017-01-24 15:32:17 UTC)
#19
CQ is committing da patch. Bot data: {"patchset_id": 80001, "attempt_start_ts": 1485284681226530, "parent_rev": "1fc58f0e3b68581b5832176bfd922bc28ecb7b54", "commit_rev": "cdf5b1fbdbfed58d0a0450597d3666c5a2159c30"}
3 years, 11 months ago
(2017-01-24 19:11:12 UTC)
#27
CQ is committing da patch.
Bot data: {"patchset_id": 80001, "attempt_start_ts": 1485284681226530,
"parent_rev": "1fc58f0e3b68581b5832176bfd922bc28ecb7b54", "commit_rev":
"cdf5b1fbdbfed58d0a0450597d3666c5a2159c30"}
commit-bot: I haz the power
Description was changed from ========== Move has_incoming_immediate_work to the TaskQueueManager Reduces the number of locks ...
3 years, 11 months ago
(2017-01-24 19:11:43 UTC)
#28
Message was sent while issue was closed.
Description was changed from
==========
Move has_incoming_immediate_work to the TaskQueueManager
Reduces the number of locks per DoWork by moving the
has_incoming_immediate_work set to the TaskQueueManager.
Previously TimeDomain::UpdateWorkQueues was called for every
time domain (at least 2 time domains, maybe more in some circumstances)
which would take a lock. Now we only need the one lock.
Originally part of https://codereview.chromium.org/2546423002/
BUG=578176
==========
to
==========
Move has_incoming_immediate_work to the TaskQueueManager
Reduces the number of locks per DoWork by moving the
has_incoming_immediate_work set to the TaskQueueManager.
Previously TimeDomain::UpdateWorkQueues was called for every
time domain (at least 2 time domains, maybe more in some circumstances)
which would take a lock. Now we only need the one lock.
Originally part of https://codereview.chromium.org/2546423002/
BUG=578176
Review-Url: https://codereview.chromium.org/2653643002
Cr-Commit-Position: refs/heads/master@{#445772}
Committed:
https://chromium.googlesource.com/chromium/src/+/cdf5b1fbdbfed58d0a0450597d36...
==========
commit-bot: I haz the power
Committed patchset #5 (id:80001) as https://chromium.googlesource.com/chromium/src/+/cdf5b1fbdbfed58d0a0450597d3666c5a2159c30
3 years, 11 months ago
(2017-01-24 19:11:44 UTC)
#29
Issue 2653643002: Move has_incoming_immediate_work to the TaskQueueManager
(Closed)
Created 3 years, 11 months ago by alex clarke (OOO till 29th)
Modified 3 years, 11 months ago
Reviewers: altimin, Sami
Base URL:
Comments: 9