gecko-dev/xpcom/threads
Olli Pettay aaa37485cc Bug 1778575, add support for low priority tasks and use such to trigger pending RefreshDriverTimer, r=bas
This improves the setup so that whenever there are only idle/deferred tasks, we can run low priority tasks immediately.
Manual testing shows that this way we get couple of more ticks every now and then.

Without this patch we'd rely on normal priority tasks, but since there might be multiple of those pending, ShouldGiveNonVsyncTasksMoreTime() would
return true.

So, low priority tasks are effectively "run when the queue is otherwise empty (but idle-type of tasks are still special)".

Differential Revision: https://phabricator.services.mozilla.com/D159583
2022-10-18 17:29:44 +00:00
..
AbstractThread.cpp Bug 1738106 - Part 4: Support ThreadSafeWeakPtr in TaskQueue, r=xpcom-reviewers,mccr8 2022-05-02 20:37:35 +00:00
AbstractThread.h Bug 1738106 - Part 4: Support ThreadSafeWeakPtr in TaskQueue, r=xpcom-reviewers,mccr8 2022-05-02 20:37:35 +00:00
BlockingResourceBase.cpp Bug 1761536 - Part 2: Replace nsTArray::elem_type with value_type, r=mccr8 2022-04-01 17:00:25 +00:00
BlockingResourceBase.h Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw 2022-03-16 18:47:08 +00:00
CPUUsageWatcher.cpp
CPUUsageWatcher.h
CondVar.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
DataMutex.h Bug 1783299 - Add support for threadsafe mirrored StaticPref strings. r=KrisWright 2022-08-16 01:00:21 +00:00
DeadlockDetector.h
DelayedRunnable.cpp Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
DelayedRunnable.h Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
EventQueue.cpp
EventQueue.h Bug 1778575, add support for low priority tasks and use such to trigger pending RefreshDriverTimer, r=bas 2022-10-18 17:29:44 +00:00
EventTargetCapability.h Bug 1794012 - Add a static main thread capability for the thread safety analysis, r=xpcom-reviewers,kmag 2022-10-11 23:06:08 +00:00
IdlePeriodState.cpp
IdlePeriodState.h
IdleTaskRunner.cpp Bug 1774864 - Cleanup xpcom/ includes r=sylvestre 2022-06-24 07:13:59 +00:00
IdleTaskRunner.h Bug 1774864 - Cleanup xpcom/ includes r=sylvestre 2022-06-24 07:13:59 +00:00
InputTaskManager.cpp Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng 2022-10-17 17:02:24 +00:00
InputTaskManager.h Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng 2022-10-17 17:02:24 +00:00
LazyIdleThread.cpp Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
LazyIdleThread.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
LeakRefPtr.h
MainThreadIdlePeriod.cpp Bug 1771718, let idle period be shorter when frame rate is very high, r=farre 2022-06-02 10:40:54 +00:00
MainThreadIdlePeriod.h
MainThreadUtils.h Bug 1794012 - Add a static main thread capability for the thread safety analysis, r=xpcom-reviewers,kmag 2022-10-11 23:06:08 +00:00
Monitor.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
MozPromise.h Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw 2022-03-16 18:47:08 +00:00
MozPromiseInlines.h
Mutex.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
PerformanceCounter.cpp
PerformanceCounter.h
Queue.h
RWLock.cpp Bug 1757100 - Move minimal platform-dependent part of RWLock to mozglue/misc/PlatformRWLock.h&cpp - r=glandium,xpcom-reviewers 2022-02-27 23:32:55 +00:00
RWLock.h Bug 1794644 - Part 2: Mark `StaticRWLock` as `MOZ_ONLY_USED_TO_AVOID_STATIC_CONSTRUCTORS`, r=xpcom-reviewers,kmag 2022-10-14 14:20:35 +00:00
RecursiveMutex.cpp
RecursiveMutex.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
ReentrantMonitor.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
SchedulerGroup.cpp Bug 1751041 - Compute the process startup timestamp early during startup r=glandium 2022-01-26 19:57:41 +00:00
SchedulerGroup.h
SharedThreadPool.cpp Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
SharedThreadPool.h Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
SpinEventLoopUntil.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
StateMirroring.h
StateWatching.h
SyncRunnable.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
SynchronizedEventQueue.cpp
SynchronizedEventQueue.h Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
TaskCategory.h
TaskController.cpp Bug 1770087 - Show the task priority in task controller Runnable markers, r=bas,gerald. 2022-06-15 15:00:40 +00:00
TaskController.h Bug 1762090, don't block refreshdrivers for too long time on linux, r=mstange 2022-04-06 00:40:25 +00:00
TaskDispatcher.h Bug 1746361 - Gecko Profiler: Track wrapped runnables throughout the tree. r=gerald 2022-01-05 15:26:24 +00:00
TaskQueue.cpp Bug 1738106 - Part 5: Track TaskQueue lifetimes to avoid leaking TaskQueues, r=xpcom-reviewers,mccr8 2022-05-02 20:37:35 +00:00
TaskQueue.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
ThreadBound.h
ThreadDelay.cpp
ThreadDelay.h
ThreadEventQueue.cpp Bug 1778575, add support for low priority tasks and use such to trigger pending RefreshDriverTimer, r=bas 2022-10-18 17:29:44 +00:00
ThreadEventQueue.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
ThreadEventTarget.cpp Bug 1764119 - Part 2: Don't check gXPCOMThreadsShutdown in ThreadEventTarget::Dispatch, r=xpcom-reviewers,kmag,jstutte 2022-05-02 20:38:43 +00:00
ThreadEventTarget.h Bug 1764119 - Part 2: Don't check gXPCOMThreadsShutdown in ThreadEventTarget::Dispatch, r=xpcom-reviewers,kmag,jstutte 2022-05-02 20:38:43 +00:00
ThreadLocalVariables.cpp
ThrottledEventQueue.cpp Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
ThrottledEventQueue.h
TimerThread.cpp Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
TimerThread.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
VsyncTaskManager.cpp Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng 2022-10-17 17:02:24 +00:00
VsyncTaskManager.h
components.conf Bug 1731890 - Adding Utility process with basic sandbox r=agi,nika,bobowen 2022-01-12 20:52:58 +00:00
moz.build Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng 2022-10-17 17:02:24 +00:00
nsEnvironment.cpp Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nsEnvironment.h Bug 1514936, part 2 - Drop the outer arguments from static components. r=xpcom-reviewers,nika 2022-05-17 20:24:19 +00:00
nsICancelableRunnable.h
nsIDirectTaskDispatcher.idl Bug 1792357, part 2 - Non-scriptable classes don't need to be marked [builtinclass]. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-27 18:31:50 +00:00
nsIDiscardableRunnable.h
nsIEnvironment.idl
nsIEventTarget.idl Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
nsIIdlePeriod.idl Bug 1792357, part 2 - Non-scriptable classes don't need to be marked [builtinclass]. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-27 18:31:50 +00:00
nsIIdleRunnable.h
nsINamed.idl
nsIProcess.idl
nsIRunnable.idl Bug 1778575, add support for low priority tasks and use such to trigger pending RefreshDriverTimer, r=bas 2022-10-18 17:29:44 +00:00
nsISerialEventTarget.idl
nsISupportsPriority.idl
nsITargetShutdownTask.h Bug 1738103 - Part 4: Add XPCOM support for shutdown tasks, r=necko-reviewers,KrisWright 2022-03-23 22:22:04 +00:00
nsIThread.idl Bug 1747526 - Return a handle from asyncShutdown to observe and cancel thread shutdown progress, r=xpcom-reviewers,KrisWright 2022-02-08 23:58:03 +00:00
nsIThreadInternal.idl
nsIThreadManager.idl Bug 1761590 - Enter microtask when evaluating console/debugger input. r=nchevobbe,smaug 2022-04-14 01:42:59 +00:00
nsIThreadPool.idl
nsIThreadShutdown.idl Bug 1747526 - Return a handle from asyncShutdown to observe and cancel thread shutdown progress, r=xpcom-reviewers,KrisWright 2022-02-08 23:58:03 +00:00
nsITimer.idl Bug 1778211 - Reject xpidl CDATA containing 'virtual', r=xpcom-reviewers,necko-reviewers,mccr8,dragana 2022-07-06 14:53:06 +00:00
nsMemoryPressure.cpp
nsMemoryPressure.h
nsProcess.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nsProcessCommon.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
nsProxyRelease.cpp
nsProxyRelease.h
nsThread.cpp Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng 2022-10-17 17:02:24 +00:00
nsThread.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nsThreadManager.cpp Bug 1795624 - remove dom.input_events.strict_input_vsync_alignment, r=sefeng 2022-10-17 17:02:24 +00:00
nsThreadManager.h Bug 1764119 - Part 1: Do final KillClearOnShutdown after XPCOM threads shutdown, r=xpcom-reviewers,kmag,jstutte 2022-05-02 20:38:43 +00:00
nsThreadPool.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
nsThreadPool.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nsThreadSyncDispatch.h
nsThreadUtils.cpp Bug 1738103 - Part 1: Remove the unused TailDispatchingTarget type, r=xpcom-reviewers,KrisWright 2022-03-23 22:22:02 +00:00
nsThreadUtils.h Bug 1738103 - Part 1: Remove the unused TailDispatchingTarget type, r=xpcom-reviewers,KrisWright 2022-03-23 22:22:02 +00:00
nsTimerImpl.cpp Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nsTimerImpl.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00