cf3d4fc001
[*] Amend 4fcdc798
WoA configuration
2024-01-23 18:21:10 +00:00
4fcdc798cf
[+] AuWoASemaphore.hpp configuration
2024-01-22 08:32:30 +00:00
34e49d2d10
[*] Removed redundant branches from AuThreadPrimitives
2024-01-21 21:15:57 +00:00
0d6d073b85
[*] No way should we be using DWORDs here
2024-01-07 02:26:34 +00:00
49a6173011
[+] Improved SMT yielding
...
[+] Clocks.aarch64.[h/c]pp
2024-01-02 05:54:22 +00:00
6037d14674
[-] hadnt fully removed the aggressive context switch thing from the old rwlock impl
2023-12-30 21:58:52 +00:00
4e0c68d7ad
[*] fix posix cont (crit) 3c19c7a5
2023-12-30 17:59:45 +00:00
3db7f527f4
[*] Extend paranoia
2023-12-30 14:56:17 +00:00
3c19c7a56e
[*] Fix posix WoASemaphoreImpl
2023-12-30 14:31:37 +00:00
ba6162a7ad
[*] An MSVC bug, but not really.
2023-12-30 00:25:53 +00:00
5862dbeacc
[+] New generic primitives
...
[-] AuSemaphore.Unix.hpp
[*] Moved the old pthread based primitives to _removed/*.bak
[+] AuWoASemaphore.Unix.cpp
[+] AuWoASemaphore.Unix.hpp
2023-12-29 16:12:14 +00:00
9c86d1c899
[*] Linux clean up (?) (+typo)
2023-12-23 03:16:43 +00:00
a932aa57d2
[*] Formatting pissing me off
...
[+] using AuWorkerId = AuAsync::WorkerId_t;
[+] using AuWorkerPId = AuAsync::WorkerPId_t;
[+] using AuWorkerID = AuAsync::WorkerPId_t;
2023-12-16 06:42:37 +00:00
0747ff230e
[*] Thread primitives optimization
...
[*] Fix wake on address regression
2023-12-10 21:38:41 +00:00
8005b67d82
[*] :/
2023-12-08 13:03:14 +00:00
367118ab0c
[*] (NT Condvar) Minor performance fix
...
[*] (NT Condvar) Suspected XP-Win7 deadlock
2023-12-06 19:15:06 +00:00
8b4ad9795c
[*] Update the FutexSemaphore to wake no more than the requested wake count
...
[*] Cleanup NTs semaphore
2023-12-06 11:17:50 +00:00
0c1c6d7c24
[*] Formatting regressions (+ 1x double-based RNG regression)
2023-12-01 03:43:06 +00:00
43583a1748
[+] IRWLock::CheckSelfThreadIsWriter
2023-12-01 01:15:35 +00:00
22f2e73954
[+] ConditionEx::WaitForSignalAbsNS
2023-11-29 06:08:09 +00:00
e071b3d509
[+] WaitOnAddress[Steady](..., AuOptional<bool> optAlreadySpun = {}) arguments
...
[+] ...slight UWP optimization?
[*] Lift WoA limitation
2023-10-30 15:29:20 +00:00
718b5a9316
[*] Nt Condvars: I'm paranoid about this potential race condition
2023-10-20 10:04:06 +01:00
23ddcf9ba1
[*] Trivial XP+ semaphore optimization for high wake counts
2023-10-12 17:00:13 +01:00
c3165de4cf
[*] RWLock: Disable dumb scatter switch for now
2023-09-23 02:50:54 +01:00
76bd36939e
[*] Simplify RWLock some more
2023-09-23 02:40:23 +01:00
f59de8b4ae
[*] Two typos and change bPreferEmulatedWakeOnAddress to true under NIX
2023-09-20 18:32:02 +01:00
9e1655d579
[*] Clean up RWLock
2023-09-19 17:36:21 +01:00
7477bfe56f
[*] A Linux and other OS insurance policy: rel/xref 7357764c
2023-09-19 02:05:11 +01:00
5a9292ad1a
[*] ...yes
2023-09-19 01:38:16 +01:00
7357764cfc
[*] Fix abnormal ::UnlockWrite performance under heavyweight native WaitOnAddress platforms (Linux, BSD-like, etc)
2023-09-18 18:21:46 +01:00
a96788623f
[*] Fix linux build warning and not quite complete linux ipc fix a4f6db7ec9
2023-09-17 18:36:20 +01:00
81775a76bf
[*] Linux: build regressions
2023-09-15 00:10:40 +01:00
6ff27c6855
[*] This was bothering me - 4b0a7c65
cont
2023-09-12 21:56:58 +01:00
4b0a7c651a
[*] Guess I should finalize this for linux. The verbosity of writing a cas in the wait loops is stupid if we arent doing anything special with the bits.
2023-09-12 16:12:54 +01:00
403c186f0a
[*] Improve NT semaphore: use a different internal api now. Might help uncontested servers with work queues using semaphores
2023-09-12 13:28:46 +01:00
d727859cc2
[*] Linux/Modern NT regression in new optimized event wait path
2023-09-10 23:06:58 +01:00
22efbff12f
[*] 74dc6772
cont: this structure is going to be padded to 32bits anyway. this makes the atomic operations easier
2023-09-10 18:10:36 +01:00
b539cfb353
[*] 74dc6772
cont: improvements
2023-09-10 15:04:32 +01:00
74dc6772b0
[+] Non-mutually exclusive binary semaphore / event wait path
...
[+] ThreadingConfig::gPreferFutexEvent
2023-09-10 14:50:59 +01:00
48dc2e790b
[+] IEvent::TrySet()
...
[+] New atomic logic for AuEvent. With this change, I can stop slandering it as the "shit primitive."
(it's still not the best it could be, but it's an improvement over what i had before)
2023-09-10 14:04:00 +01:00
1a4a4ad863
[*] Added missing this->
s
2023-09-09 19:46:08 +01:00
dfe44317a0
[*] SMT Yield: minor branch added to SMT Yield
2023-09-09 18:09:22 +01:00
88355932c1
[*] Optimize thread configurations to be unpacked from the bitmap once at startup and during reconfigure as opposed ad-hoc
2023-09-09 17:37:14 +01:00
4ad70cadb4
[*] optimization: cea33621
cont
2023-09-09 14:38:02 +01:00
cea3362186
[*] Finally fixed an old regression: RWLock is back to being write-biased to prevent forever-read conditions
2023-09-09 13:03:02 +01:00
109b0cff3f
[*] ...and same applies to RWLock
...
(instead its pls dont use the public api instead of the internal NT apis)
2023-09-09 12:39:47 +01:00
9601fcfd39
[*] NT AuThreadPrimitives: stop using these AuProcAddresses directly
2023-09-09 12:29:43 +01:00
8e59300395
[*] Another broken Linux path
2023-09-09 12:17:40 +01:00
36a72228db
[*] Cleanup/formatting of SMT yields
2023-09-06 17:01:01 +01:00
f53508baa9
[*] Unify both SMT subloops
2023-09-04 23:03:08 +01:00