New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 889029 link

Starred by 6 users

Issue metadata

Status: Started
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

[Feature] Enable dynamic prioritization of tasks in TaskScheduler

Project Member Reported by jessemckenna@google.com, Sep 25

Issue description

Currently, the priority a task is posted with cannot be changed. As a result, tasks that are not needed immediately but may be at some future point are often posted at high priority to ensure that they are not stuck waiting in the queue if they are requested.

If task priorities were updateable after posting, a task that may or may not be immediately needed by the user could be posted with TaskPriority::BEST_EFFORT, then upgraded to TaskPriority::USER_BLOCKING if still in the TaskScheduler queue when needed immediately by the user. This would hasten execution of tasks that are truly user-blocking by de-prioritizing ‘just-in-case’ tasks.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9fae02790c31bfdb4618a1652a1cd29689900108

commit 9fae02790c31bfdb4618a1652a1cd29689900108
Author: Jesse McKenna <jessemckenna@google.com>
Date: Fri Oct 05 21:12:06 2018

TaskScheduler: Move TaskTraits from Task class to Sequence class

Change-Id: I9094d0e239084cd77381949ae12cc7982a96e63c
Bug: 889029
Reviewed-on: https://chromium-review.googlesource.com/c/1250085
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597295}
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/BUILD.gn
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/delayed_task_manager_unittest.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/priority_queue_unittest.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/scheduler_worker_unittest.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/sequence.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/sequence.h
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task.h
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task_tracker.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task_tracker.h
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task_tracker_posix_unittest.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/task_tracker_unittest.cc
[delete] https://crrev.com/ad391c1e711c11626caa3fd56042826b417ce716/base/task/task_scheduler/task_unittest.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/test_utils.cc
[modify] https://crrev.com/9fae02790c31bfdb4618a1652a1cd29689900108/base/task/task_scheduler/test_utils.h

Cc: chrisha@chromium.org
 Issue 839099  has been merged into this issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Oct 22

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bcab5d9da418dc4667e991fb2f7d50375c785a13

commit bcab5d9da418dc4667e991fb2f7d50375c785a13
Author: Jesse McKenna <jessemckenna@google.com>
Date: Mon Oct 22 16:54:21 2018

TaskScheduler: Delegate reinsertion of Sequences in SchedulerWorkerPool priority queue to TaskScheduler

Bug: 889029
Change-Id: I424024245e74c0c08d76a94263c94fad7a3631cc
Reviewed-on: https://chromium-review.googlesource.com/c/1271794
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601615}
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/platform_native_worker_pool_win.cc
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/platform_native_worker_pool_win.h
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/scheduler_worker_pool.h
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/bcab5d9da418dc4667e991fb2f7d50375c785a13/base/task/task_scheduler/task_scheduler_impl.h

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b2e8e793e3cbe71e937435e105766b3d9350c1ed

commit b2e8e793e3cbe71e937435e105766b3d9350c1ed
Author: Jesse McKenna <jessemckenna@google.com>
Date: Fri Oct 26 00:33:49 2018

TaskScheduler: Move IntrusiveHeap from base/task/sequence_manager/ to base/task/common/

I am currently working on a change to TaskScheduler that will use IntrusiveHeap. This change is a no-op that simply moves IntrusiveHeap, previously used only by SequenceManager, into a common directory base/task/common/ for use by both SequenceManager and TaskScheduler.

Bug: 889029
Change-Id: I70cd900931dbabfd8d292228c87206a66c78a8d0
Reviewed-on: https://chromium-review.googlesource.com/c/1298076
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602948}
[modify] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/BUILD.gn
[rename] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/common/intrusive_heap.h
[rename] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/common/intrusive_heap_unittest.cc
[modify] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/sequence_manager/task_queue_impl.h
[modify] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/sequence_manager/time_domain.h
[modify] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/sequence_manager/work_queue.h
[modify] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/sequence_manager/work_queue_sets.cc
[modify] https://crrev.com/b2e8e793e3cbe71e937435e105766b3d9350c1ed/base/task/sequence_manager/work_queue_sets.h

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cf4180663882e7d7951f776462992e0ca172c24a

commit cf4180663882e7d7951f776462992e0ca172c24a
Author: Jesse McKenna <jessemckenna@google.com>
Date: Fri Oct 26 18:05:59 2018

TaskScheduler: Delegate insertion of Sequences by Scheduler(Parallel|Sequenced)TaskRunner to TaskScheduler

Bug: 889029
Change-Id: I06e871a56204ae64b14fe75e58e77ba4a757e5ac
Reviewed-on: https://chromium-review.googlesource.com/c/1294471
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603147}
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/BUILD.gn
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/platform_native_worker_pool_win.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/platform_native_worker_pool_win.h
[add] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_parallel_task_runner.cc
[add] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_parallel_task_runner.h
[add] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_sequenced_task_runner.cc
[add] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_sequenced_task_runner.h
[add] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_task_runner_delegate.cc
[add] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_task_runner_delegate.h
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_worker_pool.h
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/task_scheduler_impl.h
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/task_scheduler_impl_unittest.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/test_utils.cc
[modify] https://crrev.com/cf4180663882e7d7951f776462992e0ca172c24a/base/task/task_scheduler/test_utils.h

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9093bf4ae775029108890ab956a526b2eaf4c4dd

commit 9093bf4ae775029108890ab956a526b2eaf4c4dd
Author: Jesse McKenna <jessemckenna@google.com>
Date: Fri Oct 26 23:13:22 2018

TaskScheduler: Change PriorityQueue's internal container from std::priority_queue to IntrusiveHeap

This involves changing SequenceSortKey from high == important to low == important, because IntrusiveHeap is a min-heap (as opposed to std::priority_queue, which is a max-heap).

Bug: 889029
Change-Id: Ieeb2707d0112389b6cb7f4d187ec447bc58bef5a
Reviewed-on: https://chromium-review.googlesource.com/c/1302319
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603243}
[modify] https://crrev.com/9093bf4ae775029108890ab956a526b2eaf4c4dd/base/task/task_scheduler/priority_queue.cc
[modify] https://crrev.com/9093bf4ae775029108890ab956a526b2eaf4c4dd/base/task/task_scheduler/priority_queue.h
[modify] https://crrev.com/9093bf4ae775029108890ab956a526b2eaf4c4dd/base/task/task_scheduler/sequence_sort_key.cc
[modify] https://crrev.com/9093bf4ae775029108890ab956a526b2eaf4c4dd/base/task/task_scheduler/sequence_sort_key.h
[modify] https://crrev.com/9093bf4ae775029108890ab956a526b2eaf4c4dd/base/task/task_scheduler/sequence_sort_key_unittest.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 7

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/963e674aaab4c1036b449af1b9948378e5f761b1

commit 963e674aaab4c1036b449af1b9948378e5f761b1
Author: Jesse McKenna <jessemckenna@google.com>
Date: Wed Nov 07 15:36:20 2018

TaskScheduler: Add UniversalPredecessorSchedulerLock, which allows one subsequent acquisition of any SchedulerLock

Bug: 889029
Change-Id: I704dfd3d463c045d919d9d57cd486ad0a8b7cf83
Reviewed-on: https://chromium-review.googlesource.com/c/1320650
Reviewed-by: François Doray <fdoray@chromium.org>
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Cr-Commit-Position: refs/heads/master@{#606051}
[modify] https://crrev.com/963e674aaab4c1036b449af1b9948378e5f761b1/base/task/task_scheduler/scheduler_lock.h
[modify] https://crrev.com/963e674aaab4c1036b449af1b9948378e5f761b1/base/task/task_scheduler/scheduler_lock_impl.cc
[modify] https://crrev.com/963e674aaab4c1036b449af1b9948378e5f761b1/base/task/task_scheduler/scheduler_lock_impl.h
[modify] https://crrev.com/963e674aaab4c1036b449af1b9948378e5f761b1/base/task/task_scheduler/scheduler_lock_unittest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0b6d16ef93942f2e7b3885c7190f04339ff867f7

commit 0b6d16ef93942f2e7b3885c7190f04339ff867f7
Author: Jesse McKenna <jessemckenna@google.com>
Date: Fri Nov 09 00:58:24 2018

Replace Sequence lock with Sequence::Transaction class

Bug: 889029
Change-Id: Ia8ab74329953568bda37a324cc3a9b477acf732e
Reviewed-on: https://chromium-review.googlesource.com/c/1327548
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606684}
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/platform_native_worker_pool_win.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/priority_queue_unittest.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/scheduler_worker_unittest.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/sequence.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/sequence.h
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/task_tracker.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/task_tracker_unittest.cc
[modify] https://crrev.com/0b6d16ef93942f2e7b3885c7190f04339ff867f7/base/task/task_scheduler/test_utils.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 12

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c9bc1de1b008365846f8c117860db0f77ebd9148

commit c9bc1de1b008365846f8c117860db0f77ebd9148
Author: Jesse McKenna <jessemckenna@google.com>
Date: Fri Nov 16 21:11:16 2018

TaskScheduler: Make method ordering consistent between SchedulerWorkerPoolImpl:: and SchedulerSingleThreadTaskRunnerManager::JoinForTesting

This is a follow-up to https://chromium-review.googlesource.com/c/chromium/src/+/1338140

Bug: 889029
Change-Id: I1c179f6617bac417fb54c55e9328e2391d2d7b5b
Reviewed-on: https://chromium-review.googlesource.com/c/1340360
Commit-Queue: François Doray <fdoray@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608942}
[modify] https://crrev.com/c9bc1de1b008365846f8c117860db0f77ebd9148/base/task/task_scheduler/scheduler_worker_pool_impl.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 17

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f45c2c54f4240cad6ffe1c544e602287596fb2f3

commit f45c2c54f4240cad6ffe1c544e602287596fb2f3
Author: Jesse McKenna <jessemckenna@google.com>
Date: Sat Nov 17 00:18:20 2018

TaskScheduler: Lock Sequence via Sequence::Transaction where needed for priority update

Bug: 889029
Change-Id: I6e3fa2029dc9875fd742d84fea65ceb8c071c61f
Reviewed-on: https://chromium-review.googlesource.com/c/1333991
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609041}
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/platform_native_worker_pool_win.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/platform_native_worker_pool_win.h
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_pool.h
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/scheduler_worker_unittest.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/sequence.h
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/task_scheduler_impl.h
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/task_tracker.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/task_tracker.h
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/task_tracker_posix_unittest.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/task_tracker_unittest.cc
[modify] https://crrev.com/f45c2c54f4240cad6ffe1c544e602287596fb2f3/base/task/task_scheduler/test_utils.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3

commit c331b12a7d0a5a8c6d074d36501c32991fe6ecb3
Author: Jesse McKenna <jessemckenna@google.com>
Date: Wed Nov 21 22:39:03 2018

TaskScheduler: Move Sequence::traits() behind lock and add non-lock-protected shutdown_behavior() accessor

Bug: 889029
Change-Id: I045aea22fb8d5a32fee3e3bd64c0b091c9336dd3
Reviewed-on: https://chromium-review.googlesource.com/c/1343178
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610241}
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/scheduler_worker_unittest.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/sequence.h
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/task_tracker.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/task_tracker.h
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/task_tracker_posix.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/task_tracker_posix.h
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/task_tracker_unittest.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_scheduler/test_utils.cc
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/task/task_traits.h
[modify] https://crrev.com/c331b12a7d0a5a8c6d074d36501c32991fe6ecb3/base/test/scoped_task_environment.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Nov 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4

commit cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4
Author: Jesse McKenna <jessemckenna@google.com>
Date: Wed Nov 21 22:45:08 2018

TaskScheduler: Improve efficiency of Sequence::Transaction class

Replace Sequence reference held by Sequence::Transaction from a scoped_refptr to a raw pointer, and replace the call to WrapUnique() in Sequence::BeginTransaction() to a move-constructor invocation.

This change addresses a speed regression caused by https://chromium-review.googlesource.com/c/chromium/src/+/1327548.

Bug: 889029
Change-Id: I7037f5863d4a9189a78434781e8593c10ac42713
Reviewed-on: https://chromium-review.googlesource.com/c/1340584
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610243}
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/platform_native_worker_pool_win.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/platform_native_worker_pool_win.h
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/priority_queue.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/priority_queue_unittest.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_single_thread_task_runner_manager.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_pool.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_pool.h
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/scheduler_worker_unittest.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/sequence.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/sequence.h
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/sequence_unittest.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/task_scheduler_impl.h
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/task_tracker.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/task_tracker.h
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/task_tracker_unittest.cc
[modify] https://crrev.com/cb42e2ae66c3ae86b230a88c41b9b4ffe5d312f4/base/task/task_scheduler/test_utils.cc

😿 Pinpoint job stopped with an error.
https://pinpoint-dot-chromeperf.appspot.com/job/12bc8a84140000

All of the runs failed. The most common error (1/20 runs) was:
IOError: [Errno 2] No such file or directory: 'c:\\b\\s\\w\\itfd0r8v\\tmplsxq4etelemetry\\histograms.json'
Project Member

Comment 19 by bugdroid1@chromium.org, Nov 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9988f5d9b01796acb390cdcf6cdcd438509308a1

commit 9988f5d9b01796acb390cdcf6cdcd438509308a1
Author: Jesse McKenna <jessemckenna@google.com>
Date: Mon Nov 26 22:35:58 2018

TaskScheduler: Add UpdatePriority() method to SchedulerSequencedTaskRunner

Bug: 889029
Change-Id: Ib83dc1fee266cbeef52a16ba19a77d259bfbcd9b
Reviewed-on: https://chromium-review.googlesource.com/c/1334005
Commit-Queue: Jesse McKenna <jessemckenna@google.com>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610965}
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/platform_native_worker_pool_win.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/platform_native_worker_pool_win.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/priority_queue.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/priority_queue.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/priority_queue_unittest.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_sequenced_task_runner.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_sequenced_task_runner.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_task_runner_delegate.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_worker_pool.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_worker_pool_impl.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_worker_pool_impl.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_worker_pool_impl_unittest.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/scheduler_worker_pool_unittest.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/sequence.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/sequence.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/task_scheduler_impl.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/task_scheduler_impl.h
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/test_utils.cc
[modify] https://crrev.com/9988f5d9b01796acb390cdcf6cdcd438509308a1/base/task/task_scheduler/test_utils.h

Project Member

Comment 20 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b85e25b5f02c4a5e2ebde79caa96ee1ef82ed4be

commit b85e25b5f02c4a5e2ebde79caa96ee1ef82ed4be
Author: Jesse McKenna <jessemckenna@google.com>
Date: Tue Nov 27 21:37:02 2018

TaskScheduler: Create UpdateableSequencedTaskRunner class to control access to UpdatePriority()

Bug: 889029
Change-Id: Ib8e3967d73a0844ba0d0a9ddb318168e0de1594d
Reviewed-on: https://chromium-review.googlesource.com/c/1349459
Commit-Queue: François Doray <fdoray@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611339}
[modify] https://crrev.com/b85e25b5f02c4a5e2ebde79caa96ee1ef82ed4be/base/BUILD.gn
[modify] https://crrev.com/b85e25b5f02c4a5e2ebde79caa96ee1ef82ed4be/base/task/task_scheduler/scheduler_sequenced_task_runner.h
[add] https://crrev.com/b85e25b5f02c4a5e2ebde79caa96ee1ef82ed4be/base/updateable_sequenced_task_runner.h

Sign in to add a comment