AuroraRuntime/Source
J Reece Wilson 98e5f4e6b5 [*] Fix: axboe is a piss baby retard who cant even write a thread safe ring buffer
This is the dude tasked with managing Linshits IO stack, including the fundamentally flawed muh zero-syscall pissring (#a), the fucked io_submit apis that never worked properly (incl io_cancel that spuriously returns EINVAL despite all magics matching); the retard who stuck to Linus's idea that MUH O_DIRECT IS LE EVIL YOU MUST USE MY CACHES REEE REEE (#b); and the retard who got indirectly called out by Linus as being apart of the database maintainers who Linus didn't/doesnt like and who wanted these APIs in the first place (#c).

 #a
 This dumb cunt can't even write a ring buffer. He thinks the solution to everything is spawn a thread, like the glibc and libuc retards.
 He seems to think a ring buffer also magically hooks into a thread scheduler, and something something, orange lingo, muh zero syscall overhead as if the kernel should be/is constantly checking every thread for an arbitrary amount of IO ring buffers.

 #b
"The whole notion of "direct IO" is totally braindamaged. Just say no.

	This is your brain: O
	This is your brain on O_DIRECT: .

	Any questions?

I should have fought back harder. There really is no valid reason for EVER
using O_DIRECT. You need a buffer whatever IO you do, and it might as well
be the page cache. There are better ways to control the page cache than
play games and think that a page cache isn't necessary.

So don't use O_DIRECT."
 - Commit Torbals, maintainer of toy academic kernels

 #c
"AIO is a horrible ad-hoc design, with the main excuse being "other, less gifted people, made that design, and we are implementing it for compatibility because database people - who seldom have any shred of taste - actually use it". But AIO was always really really ugly."
 - Commie Torbals, maintainer of toy academic kernels

"Jens works for Oracle"
 - https://web.archive.org/web/20130402030321/https://events.linuxfoundation.org/jls06b
2024-08-05 05:29:02 +01:00
..
Async [*] Change how the default work completion group for an AuAsync threads is created and kept alive 2024-07-12 20:40:05 +01:00
CmdLine [*] Linux alternative dynamic loader: AuProcess main process path has to be pulled from the procmap instead of arg[0] 2024-06-29 16:06:42 +01:00
Compression [*] Unify/make consistent one compression out of memory space to write into error as code 0x69, string="OOM" 2024-05-30 01:15:37 +01:00
Console [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
Crypto [*] Fix bcrypt compilation regression 2024-08-01 11:40:10 +01:00
Debug [*] Harden Stack.Win32.cpp 2024-05-26 17:15:39 +01:00
Exit [+] Linux Exception Handlers and AuExit::ETriggerLevel::eSigQuitNow 2024-03-05 13:55:21 +00:00
Extensions [*] Updated LibTomCrypt 2024-02-19 09:16:40 +00:00
Grug [+] IOHandle::IsWriteEoSOnClose 2024-03-27 03:15:01 +00:00
Hashing [+] AuHashing::Whirlpool 2024-02-18 17:53:37 +00:00
HWInfo [*] Minor UWP progress 2024-04-21 11:52:24 +01:00
IO [*] Linux: fix spinning in an io_submit=EAGAIN loop 2024-08-05 04:32:52 +01:00
Locale [*] Prevent SysPanic/SysAsserts under Windows Vista and beta builds of Windows 7 during locale lookup. This shouldn't impact Windows XP. Perhaps Winserver 2003, beta 7, and other releases of older Windows could crash on start up. 2024-05-13 21:57:00 +01:00
Logging [*] Security: use AuCodepointsReplaceAll instead of AuReplaceAll under the loggers mitigations 2024-05-21 04:59:05 +01:00
Memory [+] AuMemory::Heap adapters for third party heap allocators 2024-07-19 09:06:56 +01:00
Parse [*] Fix: AuParse parse ints should fail on an empty/null/0-length range instead of parsing nothing and returning true 2024-08-01 11:41:07 +01:00
Process [*] AuProcess on linux: use AuParse instead of strtoll 2024-08-01 11:41:44 +01:00
Processes [*] AuSPtr<AuMemoryViewXXXX> is now an anti-pattern. After 3 fucking years, memory views of shared control blocks and atomic in use counters are properly utilized everywhere. We do not need generic superclasses to be safe anymore 2024-07-12 20:22:48 +01:00
Registry [*] Build regression 2024-07-16 00:54:07 +01:00
RNG [+] AuRNG::IRandomDevice::...InView 2024-07-21 06:15:02 +01:00
SWInfo [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
Telemetry [*] Linux has a pulse... 2022-04-06 02:24:38 +01:00
Threading [*] Amend [*] Linux: Update antidbus message for clarity 2024-07-15 00:12:53 +01:00
Time [*] Minor tweaks + more not-so-lazy loads in case of uwp 2024-04-10 00:09:21 +01:00
Alloc.cpp Readded C++17 allocators 2021-06-28 00:12:17 +01:00
AuCrypto.cpp [*] Updated registered LTC digest indices 2024-03-03 03:26:01 +00:00
AuCrypto.hpp [*] Updated registered LTC digest indices 2024-03-03 03:26:01 +00:00
AuProcAddresses.cpp [*] Fix major heap regression [rebase] 2024-03-20 12:01:18 +00:00
AuProcAddresses.hpp [*] Rejuvenate AuMemory::SwapLock 2024-04-09 22:29:11 +01:00
AuProcAddresses.Linux.cpp [*] Fix: axboe is a piss baby retard who cant even write a thread safe ring buffer 2024-08-05 05:29:02 +01:00
AuProcAddresses.Linux.hpp [+] Added basic posix name resolution for when glibc isnt present or when being built on non-glibc toolchains 2024-07-01 12:37:38 +01:00
AuProcAddresses.NT.cpp [*] Minor UWP progress 2024-04-21 11:52:24 +01:00
AuProcAddresses.NT.hpp [*] Minor UWP progress 2024-04-21 11:52:24 +01:00
AuProcAddresses.UNIX.cpp [+] PosixFDYeetus() 2024-04-14 19:48:40 +01:00
AuProcAddresses.UNIX.hpp [+] PosixFDYeetus() 2024-04-14 19:48:40 +01:00
AuRTEntrypoint.cpp [*] Linux alternative dynamic loader: AuProcess main process path has to be pulled from the procmap instead of arg[0] 2024-06-29 16:06:42 +01:00
RuntimeInternal.hpp [+] Secret visible symbol: Aurora::Win32Open/AuWin32Open 2023-09-13 15:35:09 +01:00