--- /dev/null
+0[$] Measuring (and fixing) I/O-controller throughput loss null/LWN/0000763603 70\r
+i [Kernel] Aug 29, 2018 21:20 UTC (Wed) (corbet)\r
+i\r
+i Many services, from web hosting and video streaming to cloud\r
+i storage, need to move data to and from storage. They also\r
+i often require that each per-client I/O flow be guaranteed a\r
+i non-zero amount of bandwidth and a bounded latency. An\r
+i expensive way to provide these guarantees is to over-provision\r
+i storage resources, keeping each resource underutilized, and\r
+i thus have plenty of bandwidth available for the few I/O flows\r
+i dispatched to each medium. Alternatively one can use an I/O\r
+i controller. Linux provides two mechanisms designed to throttle\r
+i some I/O streams to allow others to meet their bandwidth and\r
+i latency requirements. These mechanisms work, but they come at\r
+i a cost: a loss of as much as 80% of total available I/O\r
+i bandwidth. I have run some tests to demonstrate this problem;\r
+i some upcoming improvements to the bfq I/O scheduler promise to\r
+i improve the situation considerably.\r
+i\r