Commit Graph

326 Commits

Author SHA1 Message Date
3f43c320c5 [*] WoA fixes 2023-12-10 19:11:10 +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
f79be42357 [*] Clean up dead-code in AuWakeOnAddress.cpp 2023-12-05 07:56:57 +00:00
91cff7ae26 [*] Another WakeOnAddress optimization 2023-12-05 07:15:54 +00:00
b9e8b138f7 [*] Further optimize AuWakeOnAddress (signaling) 2023-12-02 03:35:24 +00:00
0c1c6d7c24 [*] Formatting regressions (+ 1x double-based RNG regression) 2023-12-01 03:43:06 +00:00
274a0e1783 [*] Remove deprecated #if 0s from AuWakeOnAdress.cpp 2023-12-01 01:45:02 +00:00
0283186046 [*] Expand WakeOnAddress array and minor lookup optimization 2023-12-01 01:35:10 +00:00
43583a1748 [+] IRWLock::CheckSelfThreadIsWriter 2023-12-01 01:15:35 +00:00
216aa01717 [-] Yeetus 2023-11-29 08:50:14 +00:00
22f2e73954 [+] ConditionEx::WaitForSignalAbsNS 2023-11-29 06:08:09 +00:00
f06248f687 [*] Minor WakeOnAddress optimization 2023-11-29 05:37:51 +00:00
63b72a9fb5 [*] Resolve WakeOnAddress emu-mode bug and a potential dead-lock 2023-11-17 23:11:58 +00:00
62e8625a11 [+] Aurora::Threading::TryWaitOnAddressEx
[*] Spin on top of Linuxs kernel spin, if in non-emu mode
2023-11-14 14:49:40 +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
09401cecd6 [*] Added call to Win32DropSchedulerResolution under sleep 2023-10-19 02:48:56 +01:00
74b8910bf9 [*] 529eba18 cont. added support for process time 2023-10-13 21:57:38 +01:00
529eba18c7 [+] IAuroraThread::GetThreadCreationTime 2023-10-13 21:43:59 +01:00
23ddcf9ba1 [*] Trivial XP+ semaphore optimization for high wake counts 2023-10-12 17:00:13 +01:00
5c29787f9c [*] Bug fixes 2023-10-07 20:04:47 +01:00
cdad552ed0 [*] Fix OSThread regression / main thread was stalling for a few seconds on exit because the schedulers end of thread clean up was bailing out under the "pls no dtor race before the os spawn kicks in" lock path
TODO: destink OSThread
2023-10-01 14:12:22 +01:00
53215e57b1 [*] Harden thread entrypoints and post-call deinit 2023-09-23 20:32:01 +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
729c9f8508 [*] Ensure WaitFor always respects 0 timeouts, no matter the flags 2023-09-12 22:06:55 +01:00
6ff27c6855 [*] This was bothering me - 4b0a7c65 cont 2023-09-12 21:56:58 +01:00
bf03124f92 [+] AuThreading::TryWait 2023-09-12 18:47:25 +01:00
8e54071d60 [-] Remove 2 year old 0.0 WaitFor back-off implementation 2023-09-12 18:30:45 +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
ca2f8fea71 [*] Mitigate Kernel32 and Rtl mixing 2023-09-09 15:29:48 +01:00
1fa063e19f [*] Why am i calling libm/crt from here? how stupid am i 2023-09-09 15:16:06 +01:00