Commit Graph

907 Commits

Author SHA1 Message Date
68b4fe5f8b [*] RWLock: not implementing LockAbsMS and LockAbsNS can hurt the hotpath 2023-08-21 15:50:45 +01:00
d1b1bfb221 [*] Caught an issue with RWLock: cant reenter unlocked reentrance mutex. 2023-08-21 15:39:56 +01:00
631ffab1a2 [*] stupid formatting crash 2023-08-21 15:32:22 +01:00
a60a1b3088 [*] dont assume these condvar paths cant underflow 2023-08-21 00:25:29 +01:00
3fe2d15a2f [+] AuProcesses::StartupParameters::environmentVariables
[+] AuProcesses::StartupParameters::bInheritEnvironmentVariables
[+] AuProcesses::StartupParameters::handleOutStream
[+] AuProcesses::StartupParameters::handleErrorStream
[+] AuProcesses::StartupParameters::handleInputStream
[+] AuProcesses::StartupParameters::optAffinity
2023-08-20 23:58:32 +01:00
b8d4e02ab5 [+] Aurora::Threading::GetThreadingConfig
[+] Aurora::Threading::SetThreadingConfig
[*] Save a few bytes in Aurora::ThreadingConfig
2023-08-20 16:23:03 +01:00
08f30017b8 [*] regression: b236469d06 cont 2023-08-20 13:41:53 +01:00
71617ca66e [*] Format SMT spin 2023-08-20 09:50:41 +01:00
f1a08d25e7 [+] AuUInt32 GetTotalSpinCountTimeout()
[*] Fixup FutexWaitable
2023-08-20 09:47:31 +01:00
b236469d06 [*] Made WakeOnAddress trigger pointers always const 2023-08-19 20:37:24 +01:00
2fae266876 [*] Fix WakeOnAddress constness of the comparison argument 2023-08-19 19:48:24 +01:00
fa34f7dcef [*] Regression in 262d76dd 2023-08-19 19:04:30 +01:00
8874fd9810 [*] Cache Win8+ check 2023-08-19 18:49:16 +01:00
19224d2eed [*] Default back to zero. Do not throw off other threads if only used once 2023-08-19 18:39:13 +01:00
ab4971ef9c [+] Linux threading options 2023-08-19 18:33:54 +01:00
8bf6bdd963 [+] More threading options
[+] AuThreading::SetSpinCountTimeout
[+] AuThreading::SetThreadLocalAdditionalSpinCountTimeout
2023-08-19 18:16:48 +01:00
e6bf022bef [*] Atomic SOCK_CLOEXEC-awareness on some UNIX systems 2023-08-19 15:06:59 +01:00
ef4dc9bc18 [*] Alternative panic path for older Win32 targets 2023-08-19 13:30:44 +01:00
7fb8b89def [*] Some unwanted indirect branching is still bleeding in; mark more primitive classes as final 2023-08-19 11:41:37 +01:00
92ebafecab [*] Suppress a number of antisemitic clang warnings 2023-08-18 23:32:46 +01:00
ad5bbee6b2 [*] Linux: optimize futex wrappers 2023-08-18 22:51:47 +01:00
836edbabdd [+] Linux and BSD specific RNG
[*] Improved UNIX rng read check
2023-08-18 22:38:17 +01:00
ebce7e0048 [*] Alternative solution for FOLDERID_UserProgramFiles when targeting <= Windows Vista 2023-08-18 18:38:11 +01:00
61df62213f [*] Found some missing close handles in some error paths 2023-08-18 16:23:28 +01:00
4240966512 [*] Two trivial changes (not fixing or improving anything) 2023-08-18 15:53:38 +01:00
7dd6145dc1 [*] Always use unsigned integers under the semaphore classes 2023-08-18 15:26:31 +01:00
2a1556d80c [*] Optimize Linux semaphore 2023-08-17 23:06:02 +01:00
b6ff6b1623 [*] Ensure child thread pools can shutdown their parent 2023-08-17 11:46:25 +01:00
9502930c1b [*] Linux lower latency fix 2023-08-15 20:28:13 +01:00
e825531558 [+] Unix: IOHandle::IsFile(), IOHandle::IsTTY(), IOHandle::IsPipe() 2023-08-15 15:04:13 +01:00
78634d11db [*] NT File Stream: unlikely race condition 2023-08-15 14:48:54 +01:00
3df8621944 [+] NT: IOHandle::IsFile(), IOHandle::IsTTY(), IOHandle::IsPipe()
[*] Revert to supporting write-only handles
2023-08-15 14:46:21 +01:00
9cea2fe82a [*] This was bothering me 2023-08-15 14:19:23 +01:00
79371fc82f [*] Linux stat regression? 2023-08-15 09:03:22 +01:00
4db0d3c6af [*] Regressed written length check in: 7100c807 2023-08-15 08:45:44 +01:00
04956bedba [*] Shorten the expected overhead of some Linux primitives 2023-08-13 20:09:58 +01:00
3828712273 [*] Supporting Linus-OS is causing me more HEADACHES
(fix nt regression in linux catch-up commit)
2023-08-13 16:02:20 +01:00
f265ca267a [+] IThreadPool::AddDependency 2023-08-13 09:30:17 +01:00
6ec2fcc4b6 [*] Added timeout awareness in ConditionEx; returns false on timeout
[*] Updated Linux SOO sizes
2023-08-12 11:18:19 +01:00
7962772c62 [+] Added Linux-specific condvars and condmutex 2023-08-12 11:11:12 +01:00
737d3bb4d6 [+] AuProcAddresses.Linux.* 2023-08-12 10:16:20 +01:00
1f173a8799 [*] Begin resolving 8 months of Linux neglect 2023-08-11 16:51:42 +01:00
7100c807c8 [*] Unify FS write utilities 2023-08-11 06:21:42 +01:00
0f12603390 [+] AuAsync::NewWorkFunction
[+] AuAsync::IThreadPool::NewWorkFunction
[+] AU_DEBUG_MEMCRUNCH
2023-08-10 03:36:19 +01:00
a0c82788d9 [*] AuAsync optimization: remove some rwlock guards 2023-08-10 01:31:10 +01:00
7dda7ae358 [*] AuAsync shutdown is still a mess 2023-08-10 01:20:34 +01:00
7865749348 [*] dd130980 cont: improved AuAsync scheduling 2023-08-10 01:13:44 +01:00
e68dc02e7e [+] Secret AuAsync::KeepThreadPoolAlive api (for now) 2023-08-09 10:30:24 +01:00
dd13098022 [*] Transition to dynamic tick-based scheduling
[*] Re-do AuAsync reference counting
[+] IWorkItem::SetSchedSteadyTimeNsAbs
[*] Irrelevant IIOProcessor sources are now discarded in evaluating whether or not a thread-pool in special running mode should shutdown
[*] Transition WorkItems to only use steady time
[*] Refactor AsyncConfig
[*] Drop default SMT spin time from hundreds of cycles to ~32 so that we can sit nicely at the bottom of task manager unless the application calls for extra responsivity
2023-08-09 03:21:14 +01:00
424cccd00a [+] IAsyncTransaction::HasCompleted 2023-08-09 00:14:36 +01:00