Commit Graph

1345 Commits

Author SHA1 Message Date
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
a189151c59 [+] AuAsync::IThreadPool::GetIOProcessor
[+] AuAsync::IThreadPool::GetIONetInterface
[+] AuAsync::IThreadPool::GetIONetWorker
[+] AuAsync::IWorkItem::SetSchedByLoopSource
2023-12-01 09:22:51 +00:00
cde646ae86 [*] More formatting regressions 2023-12-01 08:03:31 +00:00
049de14090 [*] Ooops: acd8f6cf 2023-12-01 07:04:04 +00:00
c32022a8e4 [*] eb1ec8b7 (W32oW64 awareness) cont: WinXP regression 2023-12-01 06:20:39 +00:00
acd8f6cf0b [*] Win32: fast move directory 2023-12-01 06:14:03 +00:00
9ba049d485 [*] Refactor "Jiffies" to "Frequency" 2023-12-01 04:49:18 +00:00
0c1c6d7c24 [*] Formatting regressions (+ 1x double-based RNG regression) 2023-12-01 03:43:06 +00:00
cab8627ffd [*] (AuRandom) Resolve bad floating point distribution 2023-12-01 03:12:04 +00:00
eb1ec8b763 [*] W32oW64 awareness 2023-12-01 02:21:58 +00:00
274a0e1783 [*] Remove deprecated #if 0s from AuWakeOnAdress.cpp 2023-12-01 01:45:02 +00:00
0283186046 [*] Expand WakeOnAddress array and minor lookup optimization 2023-12-01 01:35:10 +00:00
43583a1748 [+] IRWLock::CheckSelfThreadIsWriter 2023-12-01 01:15:35 +00:00
5ec28735ed [*] Improved AuProtocolStack API 2023-11-30 09:40:02 +00:00
5c40821d6f [*] Link error: missing RS4 symbol 2023-11-30 09:35:44 +00:00
52b49986f3 [+] ISocketServer::GetSessionCount 2023-11-30 02:40:30 +00:00
74b1e560bb [*] I needed 'eeep (amend previous two commits) 2023-11-29 23:38:03 +00:00
42beaeabf5 [*] AuFS::MoveDirectory -> Try remove dirs afterwards (should only succeed if empty. failure is ignored and reported to CopyDirResult) 2023-11-29 14:04:57 +00:00
dcf94a8b23 [+] (dummy!) ISocketServerLimits.hpp
[+] (dummy!) ISocketChannelLimits.hpp
[+] ISocketChannel::GetChannelLimits
[+] ISocketBase::GetLockedWorkerThread
[+] ISocket::GetSocketServer
2023-11-29 13:55:01 +00:00
216aa01717 [-] Yeetus 2023-11-29 08:50:14 +00:00
b4410fde52 [+] bool IsWindows10MilestoneTH1OrGreater()
[+] bool IsWindows10MilestoneTH1()
[+] bool IsWindows10MilestoneTH2OrGreater()
[+] bool IsWindows10MilestoneTH2()
[+] bool IsWindows10MilestoneRS1OrGreater()
[+] bool IsWindows10MilestoneRS1()
[+] bool IsWindows10MilestoneRS2OrGreater()
[+] bool IsWindows10MilestoneRS2()
[+] bool IsWindows10MilestoneRS3OrGreater()
[+] bool IsWindows10MilestoneRS3()
[+] bool IsWindows10MilestoneRS4OrGreater()
[+] bool IsWindows10MilestoneRS4()
[+] bool IsWindows10MilestoneRS5OrGreater()
[+] bool IsWindows10MilestoneRS5()
[+] bool IsWindows10Milestone19H1OrGreater()
[+] bool IsWindows10Milestone19H1()
[+] bool IsWindows10Milestone19H2OrGreater()
[+] bool IsWindows10Milestone19H2()
[+] bool IsWindows10Milestone20H1OrGreater()
[+] bool IsWindows10Milestone20H1()
[+] bool IsWindows10Milestone20H2OrGreater()
[+] bool IsWindows10Milestone20H2()
[+] bool IsWindows10Milestone21H1OrGreater()
[+] bool IsWindows10Milestone21H1()
[+] bool IsWindows10Milestone21H2OrGreater()
[+] bool IsWindows10Milestone21H2()
[+] bool IsWindows10Milestone22H2OrGreater()
[+] bool IsWindows10Milestone22H2()
2023-11-29 08:22:22 +00:00
de6b9d0bcb [*] (todo port) Dont forget these should be upcasted to doubles 2023-11-29 07:12:25 +00:00
22f2e73954 [+] ConditionEx::WaitForSignalAbsNS 2023-11-29 06:08:09 +00:00
f06248f687 [*] Minor WakeOnAddress optimization 2023-11-29 05:37:51 +00:00
ed823a9819 [+] AuHwInfo::GetThreadCPUUtilization(AuOptional<bool> optIncludeKernel) 2023-11-29 04:14:14 +00:00
2d58f8fdef [-] Remove #if 0s from AuRandomDevice (finished working on the rng upgrades) 2023-11-18 11:19:57 +00:00
37adbad397 [*] IM NOT MAD. YOURE MAD (b88c61c1 cont) 2023-11-18 01:45:12 +00:00
63b72a9fb5 [*] Resolve WakeOnAddress emu-mode bug and a potential dead-lock 2023-11-17 23:11:58 +00:00
b88c61c16d [*] Amend 999f3e69 2023-11-17 12:41:08 +00:00
999f3e69ca [*] RNG (PLAYBACK ABI-BREAK!!!): preemptively silence the turbo autists that are going to complain about modulo bias
(...well, mostly. this will be good enough.)
[*] Improve fast RNG device perf
2023-11-15 17:53:37 +00:00
62e8625a11 [+] Aurora::Threading::TryWaitOnAddressEx
[*] Spin on top of Linuxs kernel spin, if in non-emu mode
2023-11-14 14:49:40 +00:00
3225d8cbda [*] Fix shutdown regression (e037fc21, a7dfd899 151bb106, cleanup cont) 2023-11-12 00:21:50 +00:00
9b74a623af [*] UNIX: Use O_EXCL if available
[*] UNIX: Try to open readable dirs
2023-11-11 13:32:31 +00:00
151bb106fb [*] Lock access to wpWorkers (e037fc21, a7dfd899 cleanup cont) and remove a redundant write lock to solve a deadlock 2023-11-11 12:48:02 +00:00
a7dfd899f8 [*] e037fc21 cleanup cont 2023-11-11 11:30:38 +00:00
e037fc214a [*] Begin cleaning up AuAsync (2/?)
6af9940b, ???
2023-11-11 10:11:09 +00:00
5e15cadce4 [+] ICompressionStream::ToSeekingStreamReader 2023-11-09 19:54:35 +00:00
8624499ab8 [*] async: none of these async io mixing modes ever worked properly. simplify/remove 2023-11-06 04:14:43 +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
0331c7cf87 [+] DispatchTimeFromAuSteadyAbsNS 2023-11-04 04:43:55 +00:00
5041b2f241 [+] Mach steady time 2023-11-02 17:45:03 +00:00
df784c45b8 [+] IWorkItemHandler::ProcessInfo::reschedSteadyClockAbsNs 2023-10-31 21:07:51 +00:00
01824d6589 [*] Caught Windows XP network iface regression 2023-10-30 15:42:15 +00:00
e071b3d509 [+] WaitOnAddress[Steady](..., AuOptional<bool> optAlreadySpun = {}) arguments
[+] ...slight UWP optimization?
[*] Lift WoA limitation
2023-10-30 15:29:20 +00:00
77253a7654 [*] Ignore kernel CPU usage by default
[*] Normalize cpu load over queries
2023-10-29 21:02:09 +00:00
087bac4085 [+] AuByteBuffer::flagNoRealloc
[*] Fix IO regression / Critical Bug / Leak and stupid double free
2023-10-29 20:36:11 +00:00
59b30e47c0 [*] yea 2023-10-29 11:24:00 +00:00
54e8cf01c5 [*] clean up: I forgot these were a thing 2023-10-29 11:20:32 +00:00
4f275184d3 [+] Win32Config::bProcessCheckWinLdrForModNameFirst 2023-10-28 21:16:14 +01:00
004eba6e09 [*] Unlimited input fps 2023-10-28 20:12:28 +01:00
1dd9d552bd [*] Amended CpuLoadSampler 2023-10-28 19:14:30 +01:00
178d2d79a7 [+] AuHwInfo::GetProcessCPUUtilization 2023-10-28 16:10:25 +01:00
bdf5b44cd3 [+] CpuLoadSampler 2023-10-28 16:07:44 +01:00
8408358c9d [*] manually call mi_thread_done to avoid fls 2023-10-28 15:30:28 +01:00
17ca7a6bef [*] Added SMT yield down these paths 2023-10-26 17:25:40 +01:00
bf49eb5fdd [+] AuMemory::ReserveHeapMemory 2023-10-26 17:05:44 +01:00
deaa18ab07 [*] Bug fixes 2023-10-25 23:49:43 +01:00
ec8f3b3f23 [+] INetAdapter::ToMacAddress
[+] INetAdapter::HasDHCP
[+] INetAdapter::GetMTU
2023-10-24 19:12:47 +01:00
9092f9268c [+] void IBasicSinkRB::PreviewRingBuffer 2023-10-24 18:37:34 +01:00
1735fa9c6c [*] deinit check 2023-10-24 18:33:25 +01:00
ca3bded0d4 [+] AuMemory::SetMemoryLowNotification 2023-10-24 18:01:05 +01:00
4ce49941ff [+] SysCheckNotNullMemory
[+] SysCheckNotNull
[+] SysCheckRetExpNotNull
[+] SysCheckRetExpNotNullMemory
2023-10-24 17:43:00 +01:00
69188d8c1e [+] ICompressionStream::ToStreamReader 2023-10-24 17:14:54 +01:00
ceb67798f1 [+] IThreadPool::IncrementAbortFenceOnPool
[+] IThreadPool::IncrementAbortFenceOnWorker
[+] IThreadPool::QueryAbortFence
[+] IThreadPool::QueryShouldAbort
2023-10-24 15:33:30 +01:00
cca3ff73cb [+] Protocol stack: IOConfig::uProtocolStackDefaultBufferSize 2023-10-24 12:02:05 +01:00
efd4da861a [*] Protocol stack: harden these/check for out of memory 2023-10-24 11:59:55 +01:00
4b38f205d1 [*] oops i didnt just break the build 2023-10-23 12:38:29 +01:00
dfe6b468ec [*] protocol stack: hardening of buffer flags 2023-10-23 11:30:25 +01:00
08c37454fe [+] ENetworkError::eBrokenByteBuffer 2023-10-23 11:21:10 +01:00
72fd8d018e [*] a7af61e9 cont: Potential Win32 loop queue bug fixes/improvements 2023-10-23 10:21:31 +01:00
1f685b635b [+] ISocketStats::GetUptimeNS
[*] Some socket stat cleanup+fixes
2023-10-23 09:17:46 +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
4d454287b8 [+] IPCPipeWriter
[+] IPCPipeReader
2023-10-21 10:43:28 +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
73f6f6ea1e [*] Reintroduce this function pointer test branch 2023-10-21 07:23:56 +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
bd69ad6739 [+] IPCPipe::ToFileStream
[+] IPCPipe::ToStreamReader
[+] IPCPipe::ToStreamWriter
2023-10-20 16:33:18 +01:00
88094c48ae [*] Harden pipe reads under FS streams 2023-10-20 11:37:52 +01:00
871479172b [+] AuIPC::NewPipeEx(AuUInt32 uPipeLength) 2023-10-20 10:48:10 +01:00
718b5a9316 [*] Nt Condvars: I'm paranoid about this potential race condition 2023-10-20 10:04:06 +01:00
09401cecd6 [*] Added call to Win32DropSchedulerResolution under sleep 2023-10-19 02:48:56 +01:00
7324a59e5b [+] (NT preload symbols) Missing obvious fast path under Aurora::IsBlocked 2023-10-18 05:06:04 +01:00
513a7aec7e [+] AuProcesses::StartupParameters::ntLikeHookCreateProcessW 2023-10-18 04:55:56 +01:00
8fd4ef0a71 [*] Allocless RNG devices 2023-10-17 10:03:15 +01:00
95643d6e19 [+] ICompressionStream::GetLastErrorString
[+] ICompressionStream::GetLastError
2023-10-17 09:28:58 +01:00
fe36ee5fb2 [+] AuMemory::SetLeakFinder 2023-10-17 08:46:08 +01:00
97decebfe9 [*] Expand NT AuProcAddresses' blacklist to include symbols 2023-10-17 08:14:20 +01:00
13e8ff460b [+] AURORA_STEADY_TIME_SHID_CPU_XP_MODE 2023-10-17 07:55:44 +01:00
27fd8ff292 [+] AURORA_DLL_BLACKLIST 2023-10-17 05:38:08 +01:00
f62771b6e7 [*] Build regression after ROXTL AuMin/Max update to use the common type as opposed to a stupid reference of a forced common T in the usual case of taking one of two integer values
(thats to say, the edge case of needing copy-less operator-overloaded numeric-like classes aren't used anywhere. The c++ definition of min/max is stupid; we dont ever need a reference to min/max variable)
2023-10-17 04:58:30 +01:00
c8f3305669 [*] Address a number of NT/x86_32 build regressions 2023-10-17 03:08:29 +01:00
6bb5dd39f2 [*] 358964ef cont: realloc event callbacks not fired 2023-10-16 04:03:19 +01:00
f53ea2a0a7 [*] 240685f7 cont: datagram channel missing [G/S]etNextFrameTargetLength 2023-10-16 03:20:28 +01:00
4742d2b9e7 [*] Missing iStartTickMS_ assignment 2023-10-16 02:18:12 +01:00
358964efb0 [+] IIOPipeEventListener::OnPipeFailureEvent 2023-10-16 01:56:28 +01:00
240685f7a6 [+] ISocketChannel::GetNextFrameTargetLength
[+] ISocketChannel::SetNextFrameTargetLength
2023-10-16 01:48:09 +01:00
cb60e77c63 [+] IIOPipeWork::SetNextFrameTargetLength
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::GetNextFrameTargetLength
[+] IIOPipeWork::ReallocateLater
[+] IIOPipeWork::GetSuccessfulReallocations
[+] IIOPipeWork::GetFailedReallocations
[+] IIOPipeWork::DidLastReallocFail
(will save net and engine from doing its their current hacks)
2023-10-16 01:47:22 +01:00
6a3ff1c62f [+] bool Aurora::AddBlockedDLL(...) 2023-10-14 20:21:39 +01:00
74b8910bf9 [*] 529eba18 cont. added support for process time 2023-10-13 21:57:38 +01:00
529eba18c7 [+] IAuroraThread::GetThreadCreationTime 2023-10-13 21:43:59 +01:00
be60d2c80d [+} NewMemoryViewReadAdapter
[+] NewMemoryViewLinearSeekableAdapter
[+] NewMemoryViewWriteAdapter
2023-10-13 21:08:57 +01:00
19849ac0f2 [*] ensure these paths are always consistent 2023-10-13 20:27:21 +01:00
4a0eeefe1b [+] AuFS::MoveDirectory 2023-10-13 18:11:49 +01:00
c52c1c89f1 [+] AuFS::CopyDirectory 2023-10-13 18:04:47 +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
f5f79bb184 [*] this is going to be a problem 2023-10-12 19:03:58 +01:00
23ddcf9ba1 [*] Trivial XP+ semaphore optimization for high wake counts 2023-10-12 17:00:13 +01:00
e3ba8cf1c5 [*] I'm just not going to bother for.now 2023-10-12 16:36:15 +01:00
ff77873ad6 [*] Further reduce win32 link time requirements (advanced api) 2023-10-11 02:13:49 +01:00
33f77cf011 [+] Aurora::Process::GetBinaryClassPath
[+] Aurora::Process::SetBinaryClassPath
[+] Aurora::Process::AddBinaryClassPath
[+] Aurora::Process::LoadModuleEx
[+] Aurora::Process::GetProcHandle
[+] Aurora::Process::GetProcAddressEx
[+] Aurora::ProcessConfig
[*] Cleanup a bit
2023-10-11 01:11:57 +01:00
bee9b8b07b [*] Another AuProcess DLL loader fixerino 2023-10-10 21:24:41 +01:00
709a95cee1 [*] fix busted init once 2023-10-10 19:16:04 +01:00
f798c59cb8 [*] Fixed missed and double mimalloc init, via allocation under SwInfo, being probed by alternative nt clock query logic, under the fallback rng algorithm, possibly under another tls thread_only race condition 2023-10-08 15:00:52 +01:00
48c2175be9 [+] IProtocolStack::AppendInterceptorDynamicBuffer
[+] IProtocolStack::PrependInterceptorDynamicBuffer
[+] IProtocolStack::PrependSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::AppendSingleFrameProcessorDynamicBuffer
[+] IProtocolStack::IsValid
[+] IProtocolPiece::ExchangeMaximumBufferLength
2023-10-07 20:25:43 +01:00
5c29787f9c [*] Bug fixes 2023-10-07 20:04:47 +01:00
f585d41ba3 [*] 478cb2b1 ? 2023-10-07 17:12:54 +01:00
795fb3d2d1 [+] NT 3.5 through Windows 7 specific clock backends 2023-10-07 16:57:20 +01:00
a7a45aaf4b [*] Using bcrypt continues to be a dumpsterfire mistake 2023-10-07 16:56:33 +01:00
478cb2b185 [*] Improve RNG fallback performance (early process init canaries) by properly accounting for < 10 Mhz clocks 2023-10-07 14:50:32 +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
9686457891 [*] caught async crash on shutdown 2023-10-02 21:33:15 +01:00
a60e740328 [*] caught async deinit deadlock
featues conflicting with idec what. this mess needs rewriting
2023-10-01 17:10:48 +01:00
cdad552ed0 [*] Fix OSThread regression / main thread was stalling for a few seconds on exit because the schedulers end of thread clean up was bailing out under the "pls no dtor race before the os spawn kicks in" lock path
TODO: destink OSThread
2023-10-01 14:12:22 +01:00
654bf8eff0 [*] annoying console tty insertion quirk/bug 2023-09-28 20:38:36 +01:00
636a7ef625 [*] Fix project build regressions caused by refactoring in 522def0a 2023-09-28 20:08:59 +01:00
522def0a85 [*] I'm going to be autistic and say "everybody" is (read: industry midwits are) wrong about dates
(amend comments)
2023-09-28 18:29:28 +01:00
ea241d86f3 [*] Resolve ambiguous namespace regression (new conflict between Aurora::IO::Utility and Aurora::Utility) 2023-09-28 15:42:09 +01:00
635f9e39e9 [*] Modernize IOBufferedProcessor (and moved to the io utility namespace)
[+] AuIO::Utility::NewBufferedProcessorEx
[+] AuByteBuffer::calcDifferenceBetweenHeadsUnsigned
[+] AuByteBuffer::calcDifferenceBetweenHeadsSigned
2023-09-28 12:38:01 +01:00
c5ab03cbfc [-] OS specific types derived from AFileHandle 2023-09-28 11:53:42 +01:00
5555e99488 [*] Move NewByteBufferPair, NewByteBufferPairEx, and NewRingByteBuffer to AuIO::Utility 2023-09-28 11:51:46 +01:00
374df4a92b [*] 3c8442d8 regressed DNS based connect
[*] improved an error message
2023-09-23 20:36:28 +01:00
53215e57b1 [*] Harden thread entrypoints and post-call deinit 2023-09-23 20:32:01 +01:00
3c8442d8ce [+] Added NetSocketConnectBase
[*] ded60591 cont
2023-09-23 19:33:08 +01:00
ded605910f [*] Refactor AuNet::NetSocketConnect 2023-09-23 17:10:00 +01:00
7e9bfd8215 [*] Move/refactor AuIO adapters to Aurora::IO::Adapters 2023-09-23 16:40:13 +01:00