|
869512e651
|
[*] Optimization: Remove two stupid branches in RWLock
|
2023-08-21 16:33:32 +01:00 |
|
|
f847ab049a
|
[+] ThreadingConfig::bPreferRWLockReadLockSpin
|
2023-08-21 16:25:51 +01:00 |
|
|
e1f384de2e
|
[*] RWLock: improper upgrade handshake
The switch over to two condvars still doesnt seem right
|
2023-08-21 16:20:52 +01:00 |
|
|
681c4b9158
|
[*] RWLock: revert this branch to checking for 0 and 1 remaining readers
[*] Formatting
|
2023-08-21 16:08:30 +01:00 |
|
|
e2909ebe74
|
[*] RWLock: Upgrade UpgradeReadToWrite sleep path
|
2023-08-21 16:02:55 +01:00 |
|
|
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 |
|
|
a60a1b3088
|
[*] dont assume these condvar paths cant underflow
|
2023-08-21 00:25:29 +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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
04956bedba
|
[*] Shorten the expected overhead of some Linux primitives
|
2023-08-13 20:09:58 +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 |
|
|
9a2e5674e8
|
[*] RWLock improvements
|
2023-07-30 11:23:40 +01:00 |
|
|
c889af13e5
|
[*] bNoThreadNames option wasnt respected
|
2023-07-30 10:00:54 +01:00 |
|
|
ceb5b2961e
|
[+] FALLBACK_WAKEONADDRESS_SUPPORTS_NONEXACT_MATCHING
[+] ThreadingConfig::bPreferEmulatedWakeOnAddress
|
2023-07-30 09:52:41 +01:00 |
|
|
c306c12763
|
[*] Improve WakeOnAddress by hash binning by kDefaultWaitPerProcess instead the previous iteration before BST or HashTree lookup
|
2023-07-30 09:34:39 +01:00 |
|
|
5e94be7487
|
[*] ConditionEx::WaitForSignalRelativeNanoseconds -> WaitForSignalNS
|
2023-07-29 09:52:59 +01:00 |
|
|
b411c710d1
|
[+] IConditionVariable::WaitForSignalNS
|
2023-07-25 15:59:04 +01:00 |
|
|
76262c2e3e
|
[*] Trivial Win8+ condvar broadcast improvement (pragmatism)
|
2023-07-25 15:28:02 +01:00 |
|
|
1a383f8157
|
[*] Two annoying formatting issues in RWLock
|
2023-07-25 12:57:47 +01:00 |
|
|
66cfbb5351
|
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(Threading::IWaitable *pWaitable, AuUInt64 uRelativeNanoseconds)
[+] FlexibleConditionVariable::WaitForSignalRelativeNanoseconds(AuUInt64 uRelativeNanoseconds)
[*] Refactor FlexibleConditionVariable
|
2023-07-25 12:38:49 +01:00 |
|
|
dab6e9caee
|
[*] Refactor: FeaturefulCondition -> FlexibleConditionVariable
[+] SOO for FlexibleConditionVariable
|
2023-07-25 12:27:08 +01:00 |
|
|
daf6108902
|
[*] Removed retarded code inspired by late 90s - 2003 Microsoft Andy-IQ engineering
This was bothering my autism
|
2023-07-25 11:57:22 +01:00 |
|
|
b48966a39e
|
[*] Caught uninitialized member
|
2023-07-25 02:12:19 +01:00 |
|
|
d45dc977d8
|
[*] NT: Further reduce Win32 link-time requirements cont (1948dd0c )
|
2023-07-24 12:48:42 +01:00 |
|
|
788dde684b
|
[*] Windows Vista, UWP, and Windows 11: Move Windows 7 and 8 SetThreadGroupAffinity symbol from the IAT to AuProcAddresses.NT.[c/h]pps object
[*] Update the READMEs support table
|
2023-07-14 16:33:26 +01:00 |
|
|
8a4fc0d9c3
|
[*] Amend runtime config typo: Prefer*
[-] Redundant AuTime header (ExtendedTimer.hpp)
|
2023-07-13 19:50:18 +01:00 |
|
|
8bf351e007
|
[*] NT Win8+ fix: improper condvar wake up
[*] Fix kThreadIdAny regression
|
2023-07-11 00:54:54 +01:00 |
|
|
c90a13ad95
|
[*] Minor NT optimization: move branch
|
2023-07-10 20:06:18 +01:00 |
|
|
a977f0d1b5
|
[*] NT: backport unix optimization - no spin during spurious wake up
|
2023-07-10 13:12:17 +01:00 |
|
|
536522743a
|
[*] Move this branch in NTs condvar
|
2023-07-10 12:31:06 +01:00 |
|
|
8c84ecf892
|
[*] Win8+: Experimental primitive improvements by taking notes from Win7 cycle pinching
[*] +regression in condvar
|
2023-07-10 01:13:55 +01:00 |
|
|
355f7db711
|
[*] Forgot to reintroduce these: 75b71275 (cont)
|
2023-07-09 22:34:31 +01:00 |
|
|
75b71275e7
|
[*] Made past and present NT condvar optional spin steps configurable via the runtime config
|
2023-07-09 20:52:31 +01:00 |
|