Commit Graph

92 Commits

Author SHA1 Message Date
800acdd46d [*] looniebin build regression - am stupid 2025-01-02 00:56:17 +00:00
f2c4f69941 [*] CoreLoadSamplerExImpl improvements 2024-12-30 12:11:13 +00:00
c10c498a2a [+] ICoreLoadSamplerEx::SetSubSampleDivisions
[+] ICoreLoadSamplerEx::GetSubSampleDivisions
2024-12-29 16:25:17 +00:00
359e8d8803 [*] Ratelimit ICoreLoadSamplerEx::DoTick to 4 subsamples 2024-12-29 15:56:01 +00:00
90fa9c3d64 [+] AuHWInfo::ICoreLoadSamplerEx (extended variant for atomic sampling of multiple counter types)
[+] AuHWInfo::ECoreLoadSampleType
2024-12-29 15:05:32 +00:00
4babcb6dac [*] ICoreLoadSampler should not allocate 2024-12-29 13:40:41 +00:00
0692042fd7 [*] NT: uInterruptTime was in uInterruptTime and uKernelTime 2024-12-29 13:30:45 +00:00
c0a7133554 [*] Further reduction of static iat imports with an emphasis on NT5[.1] symbols for NT4,5,Win98 compat 2024-12-26 16:39:20 +00:00
70b5b3e367 [+] ICoreLoadSampler::SetNoAggressiveFiltering
[+] ICoreLoadSampler::GetNoAggressiveFiltering
[+] IProcessLoadSampler::SetNoAggressiveFiltering
[+] IProcessLoadSampler::GetNoAggressiveFiltering
[*] load samplers: surly these even filters / averaging of decreasing low condition were written incorrectly

i dont like this logic so much, but from what i recall, it was required to get sane values out of real world use cases.
mathematically accurate? no.
produced some clean output close enough to resource monitors? yes

will need to retest later
2024-12-24 18:58:01 +00:00
8e648a4737 [*] Modified documentation for CpuCoreTime
[*] Linux CpuTimes bug fixes
[*] NT now tracks interrupt time
2024-12-24 14:37:26 +00:00
3c18dfb4ef [*] move kGetByPartID / kSetByImpl for different arm oses
[+] some more arm vendors
2024-12-19 01:49:34 +00:00
e7871473e7 [+] arm vendor and processor strings 2024-12-18 07:35:51 +00:00
de6d512bf4 [*] Win32 build regression 2024-12-18 07:14:48 +00:00
0b5cec3b92 [*] Continued work on pulling aarch[32/64] cpuid bits from Linux 2024-12-17 06:41:06 +00:00
63e44ab462 [+] AuHWInfo::GetPerCoreCPUTimeEx(const AuMemoryViewWrite &arrayOfCpuCoreTimeTimes)
[*] Linux: dont use hard-coded macro for kernel frequency when evaluating uptime
2024-12-15 21:33:25 +00:00
694cf0c2e0 [+] Initial not-so-serious and probably broken attempt at pulling aarch64 cpuid 2024-12-14 03:53:09 +00:00
5a0bd702c5 [*] Refactor CpuLoadSampler -> ProcessLoadSampler to disambiguate the object from CoreLoadSamplerImpl
[*] Update readme and comments
2024-11-16 15:23:41 +00:00
c26eaf86a7 [*] Minor UWP progress 2024-04-21 11:52:24 +01:00
e7d9df3cab [*] Improve alt-AuString allocator awareness 2024-04-20 02:29:49 +01:00
83f34b0c47 [*] I was right. String views are [mostly] pointless (*)
03:28:55:638  17>2 of 53388 functions (<0.1%) were compiled, the rest were copied from previous compilation.
03:28:55:638  17>  0 functions were new in current compilation
03:28:55:638  17>  65 functions had inline decision re-evaluated but remain unchanged
03:28:56:749  17>Finished generating code

the header of const AuString & is the same as std::string_view therefore nothing changes. in fact, we still need to alloc strings a bunch of times for a zero terminated string. worse, <c++20 always allocs each time we want to access a hashmap with o(1) lookup, making small hashmaps kinda pointless when we always have to alloc+copy (thx std)

perhaps this will help some language binders
2024-04-19 05:58:08 +01:00
bd1283e146 [*] Polish AuMemory 2024-03-19 16:10:32 +00:00
ccc4116394 [*] PosixShutup for AuProcesses::OpenXXXX and two minor bug fixes 2024-03-15 06:19:30 +00:00
8b29e73f96 [*] Switch over to mapped cpuset ids as opposed to the ((groupIndex + 1ull) * 0x100ull) + logicalProcessorIndex approximation 2024-03-04 13:07:49 +00:00
49a6173011 [+] Improved SMT yielding
[+] Clocks.aarch64.[h/c]pp
2024-01-02 05:54:22 +00:00
c64cb0c0e2 [+] AuHWInfo::ICoreLoadSampler
[+] AuHWInfo::CpuCoreTime
[+] AuHWInfo::GetPerCoreCPUTime
2023-12-31 23:14:27 +00:00
8005b67d82 [*] :/ 2023-12-08 13:03:14 +00:00
ed823a9819 [+] AuHwInfo::GetThreadCPUUtilization(AuOptional<bool> optIncludeKernel) 2023-11-29 04:14:14 +00:00
77253a7654 [*] Ignore kernel CPU usage by default
[*] Normalize cpu load over queries
2023-10-29 21:02:09 +00: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
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
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
fae93a71b0 [*] Attempt to guess UNIX (Linux) CPU topology when missing file systems 2023-08-23 23:32:30 +01:00
fa34f7dcef [*] Regression in 262d76dd 2023-08-19 19:04:30 +01:00
262d76ddee [*] Windows 7 and predecessors: AuHwInfo memory usage queries seem... off 2023-08-03 23:29:46 +01:00
d45dc977d8 [*] NT: Further reduce Win32 link-time requirements cont (1948dd0c) 2023-07-24 12:48:42 +01:00
1948dd0c1a [*] Further reduce Win32 link-time requirements 2023-07-24 07:17:08 +01:00
f919452bc4 [*] (654cc8fe cont) Win XP -> 8: CpuInfo::maskAllCores fix 2023-07-14 18:30:21 +01:00
654cc8fe04 [*] Win XP -> 8: CpuInfo::pCoreTopology fix 2023-07-13 23:23:28 +01:00
c0388144d0 [*] Amend win 10+ ecore awareness (d192e2529f) 2023-07-11 01:48:51 +01:00
d192e2529f [*] Move GetSystemCpuSetInformation to AuProcAddresses.NT.cpp
[*] Fixed e-core awareness under modern nt targets
2023-07-09 10:02:21 +01:00
c42ebc9853 [*] Improved cache reporting under NT under various conditions
new hw: return upper bound of range at level index.
old sw: missing impl.
2022-12-14 05:25:05 +00:00
cbad382b6a [+] Windows 7 support 2022-12-14 01:35:18 +00:00
898c0ced37 [*] Refactoring in progress... 2022-11-17 08:03:20 +00:00
1341f805b0 [*] Lite clean up/Refactor 2022-08-20 07:53:48 +01:00
fd0c5b51b2 Further Linux support
[+] Begin work on IO futexes for io release on process/thread exit
[+] Linux ::readdir iteration
[+] AuConsole buffering API
[*] Fix sleep as to not get interrupted by signals
[*] Switch the type of FS lock used under Linux
[*] Linux: Use new IPCHandle encoding scheme
[*] Fix undefined behaviour: unintialized timeout values (AuLoop/Linux)
[*] Fix undefined behaviour: ConsoleTTY clear line was called of a color of a random value on stack
[-] Remainings of std dir iterator
[*] Fix pthread_kill (aka send signal to pthread handle) always kills process. This is what you expect bc signal handler inheritance.
[*] Reformat the build Aurora.json file
[+] Added clang warning ignores to the build file
[*] Fix: UNIX need to use STDOUT_FILENO. Was using CRT handle in place of fd by mistake.
[+] Linux implementation for IO yield (AuIO::IOYield() - UNIX::LinuxOverlappedYield())
[*] Fix: Linux async end of stream processing. res 0 = zero bytes consumed. <= was detecting this as an error of code 0. Should succeed with zero bytes.
[+] Linux LoopQueue missing epilogue hook for the IO processor
[*] Various refactors and minor bug fixes
[*] Linux fix: Handle pipe EOS as zero
[*] Linux fix: thread termination via a user signal of 77. Need a force terminate.
[*] IPC handle: fix improper int to bool cast in the header setup within ToString
[*] Linux fix: HWInfo CPU topology regression
[-] Linux fix: remove SIGABRT handler
[*] Missing override in compression, exit, and consoletty headers.
[+] Unix Syslog logger backend
2022-08-02 05:52:57 +01:00
17b1a738ca [*] Solve a few compiler warnings. Mostly unrealistic u32 <-> u64 casts in element iteration and string operations we can reasonably ignore 2022-06-14 17:12:21 +01:00
44108a322e 2/3 of the IO update (very early implementation)
[+] TTYConsole::GetPaddingTopOfLog,GetPaddingHeadOfLog,GetPaddingTopOfLog [+ set variants]
[+] IO::IOYield()
[+] IO::IAsyncTransaction::Failed,GetOSErrorCode()
[+] IByteBufferStreamPair
[+] IIOBufferedInterceptor
[+] IIOBufferedProcessor
[+] IIOEventListener
[+] IIOPipeEventListener
[+] IIOProcessorEventListener
[+] IIOProcessorManualInvoker
[+] IIOWaitableIOLoopSource
[+] IIOWaitableIOTimer
[+] IIOWaitableItem
[+] IIOWaitableTickLimiter
[+] IOAdapterAsyncStream
[+] IOAdapterByteBuffer
[+] IOAdapterCompression
[+] IOAdapterSeeking
[*] Cleanup CpuInfo.Linux.cpp
[*] Fixup async threadpool some more
[*] LSTimer.NT.cpp updates timer object on tick state update, akin to Linux
2022-06-12 00:01:27 +01:00