Commit Graph

158 Commits

Author SHA1 Message Date
316fb3f6b2 [*] (Disabled) bad optimization: possibility to disable spinning of the auasync task scheduler. Worsens CPU usage when spinning is desired on the target platform, when paired with the two platforms this optimization would've benefited, Windows 7 and Linux. 2024-05-05 22:01:19 +01:00
a35c1f165a [+] AuAsync::ThreadPool::Wakeup(WorkerId_t) 2024-05-03 11:32:31 +01:00
373ccc3660 [+] C++20 QOL changes to AuFutures including AuFuture<X, Y>::BlockUntilComplete()
[*] Added additional check for failing dependencies of IWorkItems. Not required for fails to cascade, but this is nice to have here.
2024-05-03 09:28:14 +01:00
195af26aa4 [*] C++20 coroutine support: recursive callstack 2024-05-01 20:09:35 +01:00
13ddd42961 [*] Limit kThreadIdAny dequeues until one until we can preempt the work queues of threads within our local group 2024-04-10 07:44:06 +01:00
30fa15b726 [*] Clean up grug and auasync scheduler / improved idle cpu usage 2024-03-26 18:38:52 +00:00
2163a58892 [*] Linux runtime regressions 2024-03-04 11:55:54 +00:00
957338d0e3 [*] bug fixes 2024-02-28 14:47:00 +00:00
097c0c1917 [+] IWorkItem::AddDelayTimeRepeating
[+] IWorkItem::AddDelayTimeNsRepeating
2024-02-27 12:24:17 +00:00
4ef055f81e [+] IWorkItem::SetSchedByLoopSourceRepeating
[+] ETickType::eRerunAndNotifyRepeatingWaiters
[+] ETickType::eScheduleAndNotifyRepeatingWaiters
[*] ETickType::eRerun async work items of ANY io fences
2024-02-27 12:08:22 +00:00
0784d9101c [*] Harden AuAsync shutdown 2024-02-01 21:35:42 +00:00
2b69c07b67 [*] IncrementAbortFenceOnWorker should support kThreadIdAny 2024-01-26 03:04:23 +00:00
cb751d0286 [*] Fix regressions in work groups 2024-01-23 22:59:13 +00:00
662dbac0c1 [+] IO completion groups 2023-12-28 16:49:11 +00:00
be2b781ed6 [*] mitigations and clean up before two major commits 2023-12-26 21:01:29 +00:00
cdc6eeeabd [*] Two trivial bug fixes 2023-12-24 22:03:14 +00:00
8944d8bd16 [+] IAsyncTimer
[+] IAsyncTimerCallback
[+] ETickType.hpp
[+] EWorkPriority.hpp
[+] static IThreadPool::GetSelfIOProcessor()
[+] static IThreadPool::GetSelfIONetInterface()
[+] static IThreadPool::GetSelfIONetWorker()
[-] [Source/Async/]AsyncRunnable.hpp
[*] Begin encapsulating WorkerPId_t
[*] WorkerPId_t no longer take strong pointers to prevent leaks given that these identifiers are copied and kept alive everywhere
2023-12-07 09:20:23 +00:00
e853b44ee6 [*] Fix bugs in the partially rewritten async scheduler 2023-12-06 17:48:20 +00:00
e9651eead3 [*] Linux build regressons 2023-12-04 21:13:25 +00:00
a189151c59 [+] AuAsync::IThreadPool::GetIOProcessor
[+] AuAsync::IThreadPool::GetIONetInterface
[+] AuAsync::IThreadPool::GetIONetWorker
[+] AuAsync::IWorkItem::SetSchedByLoopSource
2023-12-01 09:22:51 +00:00
3225d8cbda [*] Fix shutdown regression (e037fc21, a7dfd899 151bb106, cleanup cont) 2023-11-12 00:21:50 +00:00
151bb106fb [*] Lock access to wpWorkers (e037fc21, a7dfd899 cleanup cont) and remove a redundant write lock to solve a deadlock 2023-11-11 12:48:02 +00:00
a7dfd899f8 [*] e037fc21 cleanup cont 2023-11-11 11:30:38 +00:00
e037fc214a [*] Begin cleaning up AuAsync (2/?)
6af9940b, ???
2023-11-11 10:11:09 +00:00
8624499ab8 [*] async: none of these async io mixing modes ever worked properly. simplify/remove 2023-11-06 04:14:43 +00:00
dcb27645a1 [*] bug: drop limitation in io processor
[*] attempting to mitigate freeze on remote start watch
2023-11-05 21:20:16 +00:00
df784c45b8 [+] IWorkItemHandler::ProcessInfo::reschedSteadyClockAbsNs 2023-10-31 21:07:51 +00:00
deaa18ab07 [*] Bug fixes 2023-10-25 23:49:43 +01:00
ceb67798f1 [+] IThreadPool::IncrementAbortFenceOnPool
[+] IThreadPool::IncrementAbortFenceOnWorker
[+] IThreadPool::QueryAbortFence
[+] IThreadPool::QueryShouldAbort
2023-10-24 15:33:30 +01:00
f62771b6e7 [*] Build regression after ROXTL AuMin/Max update to use the common type as opposed to a stupid reference of a forced common T in the usual case of taking one of two integer values
(thats to say, the edge case of needing copy-less operator-overloaded numeric-like classes aren't used anywhere. The c++ definition of min/max is stupid; we dont ever need a reference to min/max variable)
2023-10-17 04:58:30 +01:00
9686457891 [*] caught async crash on shutdown 2023-10-02 21:33:15 +01:00
a60e740328 [*] caught async deinit deadlock
featues conflicting with idec what. this mess needs rewriting
2023-10-01 17:10:48 +01:00
f6437ef66e [-] Engine 0.0/1.0 async 2023-09-22 06:07:03 +01:00
7010155916 [*] Improved schedular regressed intraprocess command dispatch of main thread cmds 2023-09-16 18:08:27 +01:00
d0fb19f87e [*] Global build regressions caused by addd4080 2023-09-15 18:09:34 +01:00
d49d4ad4fc [*] addd4080 cont 2023-09-15 16:54:21 +01:00
addd4080b2 [*] Adjust PId_t::pool null behaviour 2023-09-15 16:48:55 +01:00
213ed6c49b [*] yes 2023-09-05 22:31:16 +01:00
3adb019cf1 [*] d3587dbf cont 2023-09-05 15:03:59 +01:00
d3587dbf08 [*] 560ca079 cont perf improvement 2023-09-05 14:17:49 +01:00
560ca079a4 [*] AuAsync performance improvement: avoiding the kernel 2023-09-05 02:36:46 +01:00
cc6e0358fa [*] NT: further optimizations to solve CPU usage regressions 2023-09-02 16:11:06 +01:00
46850c9122 [*] Shutup clangbang 2023-08-30 01:28:05 +01:00
55c02d4aa0 [*] Tweak default thread config
[*] Fix regressions
2023-08-28 11:48:13 +01:00
209d1939aa [*] Tweak default thread config 2023-08-27 21:27:49 +01:00
92ebafecab [*] Suppress a number of antisemitic clang warnings 2023-08-18 23:32:46 +01:00
b6ff6b1623 [*] Ensure child thread pools can shutdown their parent 2023-08-17 11:46:25 +01:00
f265ca267a [+] IThreadPool::AddDependency 2023-08-13 09:30:17 +01:00
1f173a8799 [*] Begin resolving 8 months of Linux neglect 2023-08-11 16:51:42 +01:00
0f12603390 [+] AuAsync::NewWorkFunction
[+] AuAsync::IThreadPool::NewWorkFunction
[+] AU_DEBUG_MEMCRUNCH
2023-08-10 03:36:19 +01:00