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
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
73a52552f7
[*] [to revert?] Attempt to mitigate message spam wakeups on older systems
...
Also forces higher latency on Windows 7
2023-09-02 17:56:15 +01:00
cc6e0358fa
[*] NT: further optimizations to solve CPU usage regressions
2023-09-02 16:11:06 +01:00
9fbdafea74
[*] x86_64 Use RDSC for more deterministic back-off durations
...
Well, sort of. It's more likely to be referenced against the exact frequency stated in the hard-coded CPUID vendor string.
2023-09-02 14:37:07 +01:00
85102ec7ce
[*] Minor NT LoopQueue fixes/improvements
2023-09-02 04:56:41 +01:00
de25694416
[*] bonk (use AuAXXX atomics)
2023-09-02 04:55:43 +01:00