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
a20e9b4954
[*] Win10/Linux regression in RWLock (again)
2023-08-31 18:41:18 +01:00
dd655ad3e0
[*] Linux unaligned signal fix
2023-08-31 18:41:10 +01:00
affe4cc496
[*] RWLock: simplify writersPending_ guard
...
[*] Fix RWLock: I may have messed up the new fast path timeouts in RWLock
[*] RWLock: refactoring/improvements
2023-08-30 16:11:54 +01:00
cf118d0b4b
[*] Minor RW lock tweaks
2023-08-30 14:57:13 +01:00
af8737e9d2
[*] 32bit builds can run on 64bit systems
2023-08-30 12:36:59 +01:00
627cdd069f
[+] AuOptional<AuUInt> Aurora::HWInfo::GetSwapSize()
...
[+] AuOptional<AuUInt> Aurora::HWInfo::GetPhysicalSize()
utils
2023-08-30 01:37:49 +01:00
46850c9122
[*] Shutup clangbang
2023-08-30 01:28:05 +01:00
47cec914cb
[*] Refactor FIOConfig::ddefaultBrand -> (AuOptional) FIOConfig::optDefaultBrand
...
[+] FIOConfig::bIsIntranetTrusted
2023-08-29 21:10:53 +01:00
b5a452a43d
[+] AuFS::IsFileBlocked
...
[+] AuFS::IsFileTrusted
2023-08-29 20:30:09 +01:00
0fcd63d3a8
[+] Missing Win8 check. Literally who?
2023-08-29 16:51:55 +01:00
9fcc62fb92
[*] Always check adapter info length
2023-08-29 16:31:39 +01:00
47cccd0490
[+] Absolute Win32 version checks
...
[+] bool AuSwInfo::IsWindowsXP()
[+] bool AuSwInfo::IsWindowsXPSP1()
[+] bool AuSwInfo::IsWindowsXPSP2()
[+] bool AuSwInfo::IsWindowsXPSP3()
[+] bool AuSwInfo::IsWindowsXPAny()
[+] bool AuSwInfo::IsWindowsVista()
[+] bool AuSwInfo::IsWindowsVistaSP1()
[+] bool AuSwInfo::IsWindowsVistaSP2()
[+] bool AuSwInfo::IsWindowsVistaAny()
[+] bool AuSwInfo::IsWindows7()
[+] bool AuSwInfo::IsWindows7SP1()
[+] bool AuSwInfo::IsWindows7Any()
[+] bool AuSwInfo::IsWindows8()
[+] bool AuSwInfo::IsWindows8Point1()
[+] bool AuSwInfo::IsWindows8Any()
[+] bool AuSwInfo::IsWindows10()
[+] bool AuSwInfo::IsWindows11()
2023-08-29 16:12:13 +01:00
3503d0ec68
[+] Added Linux signal configuration and separate LinuxConfig type (LinuxConfig)
...
[*] Fix Linux regressions in previous NT commit
2023-08-29 03:11:28 +01:00
ac0981ac1b
[+] bool IsHandleFile(AuUInt uHandle)
...
[+] bool IsHandleTTY(AuUInt uHandle)
[+] bool IsHandlePipe(AuUInt uHandle)
...as opposed to forced IOHandle usage
[+] AuIOHandle
[+] AuSharedIOHandle
2023-08-29 01:37:25 +01:00
be32e2777f
[*] 3; chosen by dice roll. mimalloc heap seed regression: 115ee1a9ec
2023-08-29 01:07:59 +01:00
fef6eac859
[*] More Linux tweaks
2023-08-28 19:13:18 +01:00
0d759f85f8
[*] Linux/Clang fixerinos/improvements
2023-08-28 16:35:32 +01:00
55c02d4aa0
[*] Tweak default thread config
...
[*] Fix regressions
2023-08-28 11:48:13 +01:00
b2e1df8f72
[*] Annoying Linux checks
2023-08-27 21:35:40 +01:00
209d1939aa
[*] Tweak default thread config
2023-08-27 21:27:49 +01:00
97296d1fe9
[*] ThreadingConfig::bPreferEnableAdaptiveSpin
2023-08-27 20:26:36 +01:00
8fe2619673
[*] Rework SMT yielding
2023-08-27 19:56:22 +01:00
6a3b278ea0
[*] Amend 4674f45d
2023-08-27 19:42:21 +01:00
b8458990c9
[*] Amend a41a2719
2023-08-27 18:25:04 +01:00
4674f45dd3
[*] Support for further Win32 API degradation / historical OSes / emulators
2023-08-27 17:43:29 +01:00
5cf7533eab
[*] Linux and UNIX QOL
2023-08-27 12:42:10 +01:00
9bd05a0752
[+] HashStream SOO
...
[+] HashSteam extension padding for future use
2023-08-26 21:32:49 +01:00
a41a27198e
[*] zoom
2023-08-26 21:11:27 +01:00
3e5aa1aff0
[*] Simplified lines of code: shared pointer init
2023-08-26 19:02:14 +01:00
7680a86d5a
[*] ...same applies to these
2023-08-26 18:46:00 +01:00
610f2c73a0
[*] Optimize >4 thread wakeups on <= Win7, under Semaphore
2023-08-26 18:08:33 +01:00
4b1e3fd1e5
[*] 346a9f3bde
still isnt good enough. why the fuck must all (not projecting), all, linux code even from the kernel maintainers have fucked syscall checks?
2023-08-26 16:50:20 +01:00
346a9f3bde
[*] More aggressively wake up reorder prone (unlikely) condvars under broadcast (unlikely)
2023-08-26 15:56:59 +01:00
3ca8de022e
[*] Fix issues related to inconstent retardation in the asinine freetard world
...
GNU and its consequences have been a disaster for the human race
2023-08-26 15:04:48 +01:00
4a73f7250f
[*] Another uniproc test
2023-08-25 12:42:31 +01:00
337df8040c
[*] Move uniprocessor check
2023-08-24 15:12:49 +01:00
100964ac87
[*] NT Semaphore optimization
2023-08-24 13:55:31 +01:00
935d1b6ab2
[*] RWLock: added another SignalManyWriter condition to ensure upgrades never get missed
2023-08-24 11:45:15 +01:00
1ecd46ddbf
[*] Ad-hoc system thread signals
2023-08-24 10:43:33 +01:00
937f123dad
[*] RWLock: Futex waiter path: force read semantics
2023-08-24 10:20:43 +01:00
49ced3fcc6
[*] Always attach to the main thread context on init
2023-08-24 10:17:53 +01:00
31319981ba
[*] Two trivial Linux tweaks
2023-08-23 23:45:26 +01:00
fae93a71b0
[*] Attempt to guess UNIX (Linux) CPU topology when missing file systems
2023-08-23 23:32:30 +01:00
3898a41198
[*] Adopt new ROXTL atomics
...
...AuAtomicLoad + AuAtomicClearU8Lock
2023-08-23 22:03:00 +01:00
293a8ddd66
[*] Simplify when to call _beginthreadex (we probably shouldn't)
2023-08-23 19:11:21 +01:00
61eaa701b7
[*] MSVC compilation regression
...
(theres no way in fuck vista or xp will run with >= 32 threads. hell, you can barely expect the acpi and boot video drivers to work.)
2023-08-23 19:05:32 +01:00
10e95fb5ae
[*] Begin reworking Linux/POSIX PRIOs
2023-08-23 18:17:15 +01:00
9c04b31da3
[*] Don't warn on XP/Vista
2023-08-23 17:09:19 +01:00
921fee1b8d
[+] IAuroraThread::SetNoUnwindTerminateExitWatchDogTimeoutInMS
2023-08-23 17:01:56 +01:00
412630077d
[+] ThreadingConfig::bPreferWaitOnAddressAlwaysSpin
2023-08-23 16:45:08 +01:00
524365b5da
[*] Handhold non-MSVC compilers
2023-08-23 16:38:22 +01:00
0c5d140bd4
[*] Autoset bPlatformIsSMPProcessorOptimized to false on singlethreaded systems
2023-08-23 16:03:22 +01:00
d79cb4f3ca
[*] RWLock: WakeOnAddress optimization on wait to prevent mutex congestion on modern OSes
2023-08-23 15:37:55 +01:00
30fc75cbab
[*] Clang 15 build regression: AuList<T> before T definition
2023-08-22 20:17:57 +01:00
a4d317a48d
[*] Reoptimize semaphore wait paths
2023-08-22 15:28:09 +01:00
7ad725ca04
[+] Global adaptive spin
2023-08-22 13:01:06 +01:00
ccfd0fafab
[*] Why must all languages be garbage at expressing life-span of constness?
...
This is const-correct, as in, we don't expect to modify the pointer; you dont need to be a writer
This was const-correct, as in, this field better be a volatile block of memory you expect to update - plz dont to any retarded assumptions based on it being "const," compiler.
2023-08-22 11:08:56 +01:00
3747fb7c6f
[+] ThreadingConfig::uUWPNanosecondEmulationMaxYields
...
[+] ThreadingConfig::bUWPNanosecondEmulationCheckFirst
2023-08-22 09:56:32 +01:00
cf363b9f5b
[*] Ensure this never throws
2023-08-22 09:45:32 +01:00
76ac770674
[*] Update a handful of condvar cas's and account for laziness along the way
2023-08-22 09:44:54 +01:00
cd362db7af
[*] Deaf, dumb, and blind
2023-08-21 19:20:52 +01:00
fa170c413d
[*] More compact Linux primitives
2023-08-21 19:17:05 +01:00
e8f445c463
[*] Linux build regression / AuProcesses API change
2023-08-21 17:48:48 +01:00
5cc811be19
[*] More compact Win32 primitives!
2023-08-21 17:34:24 +01:00
869512e651
[*] Optimization: Remove two stupid branches in RWLock
2023-08-21 16:33:32 +01:00
f847ab049a
[+] ThreadingConfig::bPreferRWLockReadLockSpin
2023-08-21 16:25:51 +01:00
e1f384de2e
[*] RWLock: improper upgrade handshake
...
The switch over to two condvars still doesnt seem right
2023-08-21 16:20:52 +01:00
681c4b9158
[*] RWLock: revert this branch to checking for 0 and 1 remaining readers
...
[*] Formatting
2023-08-21 16:08:30 +01:00
e2909ebe74
[*] RWLock: Upgrade UpgradeReadToWrite sleep path
2023-08-21 16:02:55 +01:00
68b4fe5f8b
[*] RWLock: not implementing LockAbsMS and LockAbsNS can hurt the hotpath
2023-08-21 15:50:45 +01:00
d1b1bfb221
[*] Caught an issue with RWLock: cant reenter unlocked reentrance mutex.
2023-08-21 15:39:56 +01:00
631ffab1a2
[*] stupid formatting crash
2023-08-21 15:32:22 +01:00
a60a1b3088
[*] dont assume these condvar paths cant underflow
2023-08-21 00:25:29 +01:00
3fe2d15a2f
[+] AuProcesses::StartupParameters::environmentVariables
...
[+] AuProcesses::StartupParameters::bInheritEnvironmentVariables
[+] AuProcesses::StartupParameters::handleOutStream
[+] AuProcesses::StartupParameters::handleErrorStream
[+] AuProcesses::StartupParameters::handleInputStream
[+] AuProcesses::StartupParameters::optAffinity
2023-08-20 23:58:32 +01:00
b8d4e02ab5
[+] Aurora::Threading::GetThreadingConfig
...
[+] Aurora::Threading::SetThreadingConfig
[*] Save a few bytes in Aurora::ThreadingConfig
2023-08-20 16:23:03 +01:00
08f30017b8
[*] regression: b236469d06
cont
2023-08-20 13:41:53 +01:00
71617ca66e
[*] Format SMT spin
2023-08-20 09:50:41 +01:00
f1a08d25e7
[+] AuUInt32 GetTotalSpinCountTimeout()
...
[*] Fixup FutexWaitable
2023-08-20 09:47:31 +01:00
b236469d06
[*] Made WakeOnAddress trigger pointers always const
2023-08-19 20:37:24 +01:00
2fae266876
[*] Fix WakeOnAddress constness of the comparison argument
2023-08-19 19:48:24 +01:00
fa34f7dcef
[*] Regression in 262d76dd
2023-08-19 19:04:30 +01:00
8874fd9810
[*] Cache Win8+ check
2023-08-19 18:49:16 +01:00
19224d2eed
[*] Default back to zero. Do not throw off other threads if only used once
2023-08-19 18:39:13 +01:00
ab4971ef9c
[+] Linux threading options
2023-08-19 18:33:54 +01:00