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
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