Right. In Linux, there is no boundary between device drivers and the kernel itself; no stable API or ABI.
If you are interested in this stuff, you might find the Linux Device Drivers, Third...
Type: Posts; User: Nominal Animal
Right. In Linux, there is no boundary between device drivers and the kernel itself; no stable API or ABI.
If you are interested in this stuff, you might find the Linux Device Drivers, Third...
Absolutely; I think I phrased it wrong. (Shouldn't type this late at night.) I did mean sector granular, i.e. one or more complete consecutive sectors in each operation, if there is no hardware...
(Background: Mass storage devices use fixed-size chunks. For SATA drives, currently either 512 (traditional) or 2048 (for 1GB+ drives) bytes per chunk AKA "sector". Without scatter/gather hardware,...
POSIX.1-2001 provides readv() and writev(). The kernel scatters/gathers the data to/from various pointers in user space. This saves one memory copy and a temporary userspace buffer -- the application...
I agree.
Multithreading is useful if you split the input into chunks, and sort each chunk separately in the threads. On NUMA architectures (where memory is faster from some cores) and when you...