Commit Graph

27 Commits

Author SHA1 Message Date
134816e128 [*] Optimize primitives SMTYield for Alderlake+ user-space, BIOS-ring mwait, and AARCH 2024-05-03 12:22:38 +01:00
62b6fa20f8 [*] Update the copyright header of most of the primitives
[*] Fix generic mutex abs yield always returning true
2024-01-29 14:48:04 +00:00
34e49d2d10 [*] Removed redundant branches from AuThreadPrimitives 2024-01-21 21:15:57 +00:00
9c86d1c899 [*] Linux clean up (?) (+typo) 2023-12-23 03:16:43 +00:00
81775a76bf [*] Linux: build regressions 2023-09-15 00:10:40 +01:00
6ff27c6855 [*] This was bothering me - 4b0a7c65 cont 2023-09-12 21:56:58 +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
1a4a4ad863 [*] Added missing this->s 2023-09-09 19:46:08 +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
5cf7533eab [*] Linux and UNIX QOL 2023-08-27 12:42:10 +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
31319981ba [*] Two trivial Linux tweaks 2023-08-23 23:45:26 +01:00
a4d317a48d [*] Reoptimize semaphore wait paths 2023-08-22 15:28:09 +01:00
fa170c413d [*] More compact Linux primitives 2023-08-21 19:17:05 +01:00
ab4971ef9c [+] Linux threading options 2023-08-19 18:33:54 +01:00
7dd6145dc1 [*] Always use unsigned integers under the semaphore classes 2023-08-18 15:26:31 +01:00
2a1556d80c [*] Optimize Linux semaphore 2023-08-17 23:06:02 +01:00
737d3bb4d6 [+] AuProcAddresses.Linux.* 2023-08-12 10:16:20 +01:00
1f173a8799 [*] Begin resolving 8 months of Linux neglect 2023-08-11 16:51:42 +01:00
a454a2d71e [*] Sync primitive improvements
[*] Reverted a change for UNIX: always never-spin acquire under observational lock
[*] Decreased common case of syscall operations under Linux and UNIX
[*] Unix signaling: prevent waits while during condvar wake up by unlocking before the signal
[*] NT no wait: semaphores must not spin under lock
2023-06-26 08:59:49 +01:00
17c50eff64 [*] fix old unix sync regressions
do not hold switching lock while spinning as originally written and intended
2023-06-13 12:05:55 +01:00
f74a41e286 [*] Refactor our thread primitives for an SOO change, where the SOO[_t]-suffix is no longer required, resulting a new type conflict issue 2023-04-23 19:25:37 +01:00
d755a9d651 [*] Massive perf boost by removing atomic and
[*] Refactor ambiguous IWaitable::Lock(timeoutMs) to LockMS to prevent final using collisions
2023-04-03 08:21:44 +01:00
6974c713f7 [+] Allocationless thread primitives
[*] Rename SMPYield to SMTYield
2023-03-21 03:19:22 +00:00
1ba0519d8d [*] Amended UNIX yield paths 2023-03-12 20:59:03 +00:00
e82ec4a343 [+] IWaitable::LockNS(...)
[+] AuThreading.WakeAllOnAddress
[+] AuThreading.WakeOnAddress
[+] AuThreading.WakeNOnAddress
[+] AuThreading.TryWaitOnAddress
[+] AuThreading.WaitOnAddress
[*] Further optimize synch primitives
[+] AuThreadPrimitives::RWRenterableLock
2023-03-12 15:27:28 +00:00
2209aeb7a8 [+] Linux: semaphores and mutexes directly over futexes. Move UNIX pthread condvar mutex into the condvar mutex class.
[*] BSD: Rewrote fundamentally flawed pthread_mutex class code to use MONOTONIC clock time
[+] Linus SwInfo: Added enterprise check for RedHat
2022-12-28 23:44:45 +00:00