6181d97c3c
[*] Improve internal path consistency
...
[*] Removes some unnecessary panics
2023-09-12 20:49:02 +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
f08f4a476a
[*] Ehhh. I never liked how I implemented the fallback for MS absolute waits.
...
We should calculate it via a delta between current NS time to avoid NS/MS clock overflows.
Some platforms and points in time may be more resistant than others. Let's assume monotonic time could be really high, this should help mitigate some bad math and branching caused by timeout overflows caused by stupid MS-precise abs waits (not sure why people would favour these over abs ns)
2023-09-12 17:10:51 +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
00260294b2
[*] Guess this got twisted, or maybe my intention was to zero out if we cant get accurate topology from apic bits; i don't recall
2023-09-12 14:11:09 +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
ffd61d4d54
[*] NT: AuProcess this is better
2023-09-12 02:01:12 +01:00
b46390f83a
[*] Remove explicit Windows version check assuming certain file systems and platforms can be stupid
2023-09-12 01:35:54 +01:00
6062a16d9c
[*] Prevent overflow into UNC root namespace of hostnames and volumes via path or filename overflow
2023-09-12 00:52:16 +01:00
92593be412
[*] FS path mitigation: begin to handle >= MAX_PATHs by enforcing UNC \\?\ prefixes across every single Win32/NT api we hit (if relevant. im sure some long paths may still break things.)
2023-09-10 23:49:47 +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
4915c5e6bf
[*] dont like me stds' - big baz
2023-09-10 17:58:36 +01:00
5107911ba5
[*] Exploit mitigation - file protocols can be valid paths
2023-09-10 16:30:59 +01:00
445085d069
[*] old win32 - fix c6c35a58
: missing ms to ns conversion
2023-09-10 15:51:26 +01:00
b539cfb353
[*] 74dc6772
cont: improvements
2023-09-10 15:04:32 +01:00
c6c35a588c
[*] Switch to astatic Aurora::Utility::RateLimiter limiter` for gRuntimeConfig.threadingConfig.bWinXpThrough7BlazeOptimizerPower
2023-09-10 14:53:54 +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
12a2f30f47
[*] 9ab0c25b
but for UNIX
2023-09-09 23:57:01 +01:00
9ab0c25b05
[*] Win32 opener: ensure file/dir exists (subject to time of check attack, but its fine to prevent stupid 'open' shellexec exploits. wont save you if io write is available)
2023-09-09 23:15:45 +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
e7ec875851
[*] added more win32 steady time clock, frequency-based fast paths
2023-09-09 13:58:14 +01:00
cf7be329d6
[*] Update fallback RNG entropy: reduce expected tick resolution
2023-09-09 13:50:26 +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
51dcd190b3
[*] Missing SysPushErrorXXXs
2023-09-07 23:20:26 +01:00
36a72228db
[*] Cleanup/formatting of SMT yields
2023-09-06 17:01:01 +01:00
3d8dd991e0
[*] Adjust non-AURORA_RUNTIME_FORCE_ADAPTIVE_FUTEX futexes
2023-09-06 16:08:41 +01:00
213ed6c49b
[*] yes
2023-09-05 22:31:16 +01:00
3adb019cf1
[*] d3587dbf
cont
2023-09-05 15:03:59 +01:00
d3587dbf08
[*] 560ca079
cont perf improvement
2023-09-05 14:17:49 +01:00
560ca079a4
[*] AuAsync performance improvement: avoiding the kernel
2023-09-05 02:36:46 +01:00
876f4439b3
[*] NT proceesses: no point in pretending _spawnv is a real thing. this path is just causing defects.
2023-09-04 23:46:48 +01:00
f53508baa9
[*] Unify both SMT subloops
2023-09-04 23:03:08 +01:00
d112179c83
[*] May as well make this in line with the others
2023-09-04 16:45:42 +01:00
bcf3fabd83
[*] FS Resources (GetWritableAppdata): fail over to this path instead of failing
2023-09-04 16:32:28 +01:00
1c80e4910b
[*] RWLock: another optimization for embedded and win7 targets
2023-09-03 13:35:12 +01:00
1479bcaa22
[*] bonk
2023-09-02 21:24:37 +01:00
5b9e780fa0
[*] Fix some obvious recent regressions in NT loop queue
2023-09-02 19:36:12 +01:00
c2a6bd92fa
[*] Minor optimization in a shit primitive
2023-09-02 19:09:04 +01:00
0838373410
[*] NT Optimization: more aggressive semaphores to prevent atomic failures (perhaps this could be made to account for weak exchanges under different archs)
2023-09-02 19:05:07 +01:00