News for hackers. Stuff that matters.
Re:I/O Access Methods for Linux by rdtsc on Friday October 06, 2017 @06:44PM (#15420996)
Ooh, very nice work. Was reading your README and the binding.cc file, learned a lot of stuff like calling fsync on direct i/o file descriptor might not flush anything to disk since the dirty page write mechanism is bypassed.

In the benchmark what was the physical block size, 16KB? it seems with O_DIRECT after 16KB the speed tapers off and stays at about 130MB/s. And there is a significant jump from 4K (60Mb/s) and 8K (90Mb/s).

Re:I/O Access Methods for Linux by jorangreef on Tuesday October 17, 2017 @11:24AM (#15491694)
Sorry for the late reply, just spotted your comment.

Thanks for the input, glad you found it useful!

Regarding the benchmark, the physical block size of the drive itself was 512 bytes. The memory page size on the Ubuntu system was 4K. It would be good to update the benchmark script to include these kinds of numbers.

I'm not sure why O_DIRECT speed increased with block size=4K (60MB/s) to 8K (90MB/s) and tapered off at 16KB (130MB/s). Perhaps system call overhead is more noticeable at 4K and 8K and less so at 16KB? Any other ideas?

130MB/s is the raw drive write speed and matches what I got from dd for the same flags for the same drive.