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
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
99e8c68c62
[*] Update a Win8+ sync branch; can back out earlier
2023-07-05 19:32:01 +01:00
894df69fe0
[*] remove redundant branch from sync primitive
...
[*] optimize event
2023-06-28 02:24:53 +01:00
a454a2d71e
[*] Sync primitive improvements
...
[*] Reverted a change for UNIX: always never-spin acquire under observational lock
[*] Decreased common case of syscall operations under Linux and UNIX
[*] Unix signaling: prevent waits while during condvar wake up by unlocking before the signal
[*] NT no wait: semaphores must not spin under lock
2023-06-26 08:59:49 +01:00
fa90463a73
[*] im not sure why this was written like this
2023-06-23 22:36:13 +01:00
0d05fd3d33
[*] Minor mostly unnoticeable primitive improvements
2023-06-23 21:37:04 +01:00
2d6dca4e21
[+] 32bit SOO sizes for sync primitives under x86_32/MSVC
...
[*] Optimize the write-biased reentrant read-write lock down to 88 bytes on MSVC x64
2023-06-17 17:08:58 +01:00
451b9025c0
[*] Fix major recent regressions
...
amend: 48075bfd
amend: 25b933aa
amend: f50067e6 (to be overwritten)
et al
2023-06-17 15:12:16 +01:00
48075bfda7
[*] cleanup: added gUseNativeWaitSemapahore
2023-06-16 00:06:32 +01:00
25b933aafa
[*] Fixed regression in RWLock size without sacrificing on features
...
(TODO: I would like to WoA optimize it for modern oses at some point)
2023-06-16 00:02:42 +01:00
74b813f051
[*] Bloat RWLock by adding a separate yield queue for writers (we were already writer biased)
...
This will help us reduce cpu usage and latency at the cost of 32 bytes.
We are now hopelessly oversized: 136 bytes for a single primitive. 104 was barely passble.
2023-06-15 20:54:19 +01:00
d389f9dda3
[*] Re-optimize the primitives for Windows 8+ on top of a Windows XP+ core
2023-06-15 20:52:28 +01:00
17c50eff64
[*] fix old unix sync regressions
...
do not hold switching lock while spinning as originally written and intended
2023-06-13 12:05:55 +01:00
1a8acbdde5
[+] By-raw pointer WOA lists
...
(also they are now fairer)
[+] Steps towards future proofing NT (not the future proofing itself)
2023-06-12 18:31:44 +01:00
50413f36e5
[*] keyed events should yield indefinitely in their failure path
...
(amended one day later: removed one of the fixes. this is gonna apply to just one place for now)
2023-06-12 15:51:54 +01:00
5b495f7fd9
[*] sched: minor clean up
2023-06-11 17:52:50 +01:00
50f25e147a
[*] improve latency (i think - benchmark pending)
2023-06-07 11:45:14 +01:00
b423ce14b1
[*] change-up cond-vars mutual exclusivity locking
2023-05-31 05:34:36 +01:00
5cb56da924
[*] missed break [regression in 53df1ee8
]
2023-05-31 05:21:05 +01:00
055b149e11
[*] remove verbose "!= 0"
2023-05-31 04:38:05 +01:00
f92a19621a
[*] adjust undershooted ms scale sleeps to smt spin, then yield, in an effort to match nano-scale sleeps within 10s of kns
2023-05-30 13:12:53 +01:00
53df1ee81d
[*] Work on AuConditionVariable.NT some more
...
[*] Fix high cpu regression in 6af9940b
2023-05-30 12:53:26 +01:00
f842573352
[*] copy/pasted function parity
2023-05-08 15:21:15 +01:00
08f790c3af
[*] Update fenceless notes in AuMutex.NT.cpp
2023-05-08 14:46:20 +01:00
36dee459ca
[*] TryLockRead was unware of RWRenterableLocks specifications
...
(not an issue for regular blocking lock paths)
2023-04-24 19:39:36 +01:00
8dcf857da5
[*] updated comments
2023-04-23 19:39:54 +01:00
f74a41e286
[*] Refactor our thread primitives for an SOO change, where the SOO[_t]-suffix is no longer required, resulting a new type conflict issue
2023-04-23 19:25:37 +01:00
2a33d61e63
[*] further deprecate high res clock
...
[*] further posix resolution reporting
2023-04-22 22:58:20 +01:00
92af491fe8
[*] if (count == 1)
*
2023-04-21 18:52:30 +01:00
5d979bff6d
[*] I dont think this path is really hit but still we shouldnt wake up after 4 seconds under here
2023-04-12 12:26:53 +01:00
6c25b5a5e6
[*] atomicity bug fix: hold up this is bad
2023-04-03 10:13:29 +01:00
d755a9d651
[*] Massive perf boost by removing atomic and
...
[*] Refactor ambiguous IWaitable::Lock(timeoutMs) to LockMS to prevent final using collisions
2023-04-03 08:21:44 +01:00
39072499dd
[*] remove dumb cas loops
...
[*] refactor
2023-04-01 09:53:00 +01:00
440b5877b2
[*] link errors
2023-03-22 16:59:21 +00:00
8272959249
[*] Further compress
2023-03-22 13:42:07 +00:00
6974c713f7
[+] Allocationless thread primitives
...
[*] Rename SMPYield to SMTYield
2023-03-21 03:19:22 +00:00
5d8f4e6901
[*] Further optimize
2023-03-17 15:41:05 +00:00
a1f4614316
[*] i see a possible bug
2023-03-16 22:18:52 +00:00
1476307a60
[*] Force this optimization under nonship builds
2023-03-16 19:24:05 +00:00