The creation of the io.latency block I/O controller
lwn.net
lwn.net
I wonder how (1) the software has evolved to face this new reality, (2) how much of the old code is still being used and (3) what are the performance penalties we pay for using disk performance characteristic assumptions in code that actually runs on solid state drives?
Though, I get your point: for instance, the TCP keep-alive defaults aren't suitable for all kinds of workloads: https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-...
I guess, that's why performance tuning is an art form as it is workload dependant: https://youtu.be/89fYOo1V2pA
(please correct me if I got something wrong)
Mmmmhh, it this is true then it would affect the order of how the "writeback buffers" are written to disk? If yes then I guess that this can potentially be dangerous (no assumption anymore of "1st come 1st served?")?
There are some gotchas though, for instance, priority inversion occurs where 'fast' needs more memory but 'slow' needs to be paged-out first, resulting in 'fast' being peanlized indirectly for the write-throttling on 'slow'.
The approach here is reminiscent of HFSC qdisc for TCP/IP (which only a handful of people understand?): https://www.cs.cmu.edu/~hzhang/HFSC/main.html