Commit Graph

78 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
c87ec4e4b6 [*] Linux build regressions 2024-03-21 00:32:13 +00:00
2163a58892 [*] Linux runtime regressions 2024-03-04 11:55:54 +00:00
1920f5a8d5 [+] IO Thread Pool
[+] FileSeekingWriter
[+] ISeekingWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingReader
[+] AuIO::Adapters::NewAsyncTransactionFromStreamWriter
[+] AuIO::Adapters::NewAsyncTransactionFromStreamSeekingWriter
[+] AuIO::Async::UseSpecifiedWorkerGroup
[+] AuMemory::NewSharableResizableBuffer
[+] AuMemory::NewSharableBuffer
[*] Update comments
2024-02-26 18:12:04 +00:00
493f449d1d [*] Major Linux build regressions 2024-02-23 12:44:43 +00:00
aa811f93aa [*] Readd the public symbols to create base kernel io primitives for interop 2024-01-03 17:36:45 +00:00
1c0efebd87 [+] AuLoop::DbgLoopSourceToReadFd
[+] AuLoop::DbgLoopSourceToWriteFd
2024-01-03 01:49:15 +00:00
662dbac0c1 [+] IO completion groups 2023-12-28 16:49:11 +00:00
a2c8f036e0 [*] 1576f56d cont (i messed up again) 2023-12-23 16:55:04 +00:00
1576f56d19 [*] Fix busted nt timeouts under loopsource waits 2023-12-23 08:03:59 +00:00
24fec2301c [+] NtWaitForMultipleObjects awareness 2023-12-22 06:00:13 +00:00
2570aea213 [+] Clang/Win32 compilation support 2023-12-19 03:43:11 +00:00
414c736179 [+] ELoopSource expansion 2023-12-18 07:39:53 +00:00
22486b90e6 [*] NT: WaitMultipleLoopSourcesEx wasn't bypassing the wait cap 2023-12-18 07:35:24 +00:00
a3046658fe [*] Minor update to WaitMultipleLoopSourcesEx 2023-12-11 23:34:31 +00:00
5541c25050 [+] AuIO::Loop::WaitMultipleLoopSourcesEx 2023-12-10 22:25:03 +00:00
fe529b31da [*] ITimer comment and win32 patch 2023-12-09 12:25:46 +00:00
783bed0d85 [*] LSLocalEvent: finish optimized impl (?) 2023-12-09 11:10:02 +00:00
8944d8bd16 [+] IAsyncTimer
[+] IAsyncTimerCallback
[+] ETickType.hpp
[+] EWorkPriority.hpp
[+] static IThreadPool::GetSelfIOProcessor()
[+] static IThreadPool::GetSelfIONetInterface()
[+] static IThreadPool::GetSelfIONetWorker()
[-] [Source/Async/]AsyncRunnable.hpp
[*] Begin encapsulating WorkerPId_t
[*] WorkerPId_t no longer take strong pointers to prevent leaks given that these identifiers are copied and kept alive everywhere
2023-12-07 09:20:23 +00:00
e60e308087 [*] Minor WaitMultipleLoopSources optimization 2023-12-03 07:40:20 +00:00
9fea60a9ed [*] 64ce35dd cont 2023-12-02 11:06:49 +00:00
64ce35dd87 [*] Cont work on WaitMultipleLoopSources's yield time 2023-12-02 03:39:41 +00:00
eceb037e70 [*] WaitMultipleLoopSources optimizations cont 2023-12-01 12:31:09 +00:00
3f7f2639c4 [*] AuLoop: Fixed missing logic in a fast path 2023-12-01 12:16:47 +00:00
507f418b81 [*] Attempt to optimize AuLoop::WaitMultipleLoopSources 2023-12-01 11:20:40 +00:00
b0a7417d6f [*] Local loopsources werent calling the parents OnTrigger 2023-12-01 11:02:15 +00:00
f05cafbff7 [*] Win32 loopqueue optimization 2023-12-01 10:36:47 +00:00
dcb27645a1 [*] bug: drop limitation in io processor
[*] attempting to mitigate freeze on remote start watch
2023-11-05 21:20:16 +00:00
17ca7a6bef [*] Added SMT yield down these paths 2023-10-26 17:25:40 +01:00
4ce49941ff [+] SysCheckNotNullMemory
[+] SysCheckNotNull
[+] SysCheckRetExpNotNull
[+] SysCheckRetExpNotNullMemory
2023-10-24 17:43:00 +01:00
72fd8d018e [*] a7af61e9 cont: Potential Win32 loop queue bug fixes/improvements 2023-10-23 10:21:31 +01:00
a7af61e9bf [*] Potential Win32 loop queue bug fixes/improvements 2023-10-22 22:12:55 +01:00
fb1920ccba [*] Ensure the other fast paths work properly 2023-10-22 06:17:32 +01:00
591c0fe48b [+] ILSSemaphore::AddMany 2023-10-22 06:11:39 +01:00
3d01d6cc8f [*] Improve LSLocalSemaphore 2023-10-21 18:57:48 +01:00
a1a2d482d7 [*] everything before semaphore cast 2023-10-21 16:09:45 +01:00
f9916e0f21 [*] More NT Loop Queue fixes 2023-10-21 14:22:12 +01:00
5233dc7ac8 [*] NT fix pre/finish sleep out of balance
[*] Fix some more wait alls
2023-10-21 13:22:11 +01:00
c79993af74 [*] Fixup the WaitMultipleLoopSources Any path 2023-10-21 09:33:04 +01:00
f185f13dc7 [+] LSLocalEvent 2023-10-21 09:04:48 +01:00
d910c71ad8 [*] This snucked in and i forgot to enable an nt specific fast path 2023-10-21 06:57:07 +01:00
18c023acae [*] Suppress spurious IO wakeups in WaitSingleBase 2023-10-21 06:19:51 +01:00
60bb1020ce [+] bool WaitMultipleLoopSources(const AuList<AuSPtr<Loop::ILoopSource>> &lsList,
AuList<AuSPtr<Loop::ILoopSource>> &signaled,
                                 bool bAny = true,
                                 AuOptionalEx<AuUInt32> uTimeoutMS = 0);
2023-10-21 06:10:33 +01:00
e366d058f6 [*] Fix busted timeout calc in the previous two commits 2023-10-21 05:41:29 +01:00
186444853d [+] LSLocalSemaphore (faster io semaphore) 2023-10-21 04:59:05 +01:00
1589079ead [+] LSLocalMutex (faster io mutex) 2023-10-21 04:51:51 +01:00
44afa1e3de [*] Disable this perf hack for now 2023-10-13 17:00:51 +01:00
7db0e2e688 [*] Drop all static references to User32.dll 2023-10-13 00:10:44 +01:00
605862094e [*] Fix some old known Win32 loop queue issues under bullshit real world conditions
(recursion, any retries, etc)
2023-10-03 22:02:48 +01:00
0de153dfe3 [*] Aggressively harden win32 loops against out of memory events 2023-09-17 04:08:01 +01:00