• Vivek Goyal's avatar
    blkio: Implement group_isolation tunable · ae30c286
    Vivek Goyal authored
    o If a group is running only a random reader, then it will not have enough
      traffic to keep disk busy and we will reduce overall throughput. This
      should result in better latencies for random reader though. If we don't
      idle on random reader service tree, then this random reader will experience
      large latencies if there are other groups present in system with sequential
      readers running in these.
    
    o One solution suggested by corrado is that by default keep the random readers
      or sync-noidle workload in root group so that during one dispatch round
      we idle only once on sync-noidle tree. This means that all the sync-idle
      workload queues will be in their respective group and we will see service
      differentiation in those but not on sync-noidle workload.
    
    o Provide a tunable group_isolation. If set, this will make sure that even
      sync-noidle queues go in their respective group and we wait on these. This
      provides stronger isolation between groups but at the expense of throughput
      if group does not have enough traffic to keep the disk busy.
    
    o By default group_isolation = 0
    Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    ae30c286
cfq-iosched.c 96.5 KB