Skip to content
  • Paolo Valente's avatar
    block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler · aee69d78
    Paolo Valente authored
    We tag as v0 the version of BFQ containing only BFQ's engine plus
    hierarchical support. BFQ's engine is introduced by this commit, while
    hierarchical support is added by next commit. We use the v0 tag to
    distinguish this minimal version of BFQ from the versions containing
    also the features and the improvements added by next commits. BFQ-v0
    coincides with the version of BFQ submitted a few years ago [1], apart
    from the introduction of preemption, described below.
    
    BFQ is a proportional-share I/O scheduler, whose general structure,
    plus a lot of code, are borrowed from CFQ.
    
    - Each process doing I/O on a device is associated with a weight and a
      (bfq_)queue.
    
    - BFQ grants exclusive access to the device, for a while, to one queue
      (process) at a time, and implements this service model by
      associating every queue with a budget, measured in number of
      sectors.
    
      - After a queue is granted access to the device, the budget of the
        queue...
    aee69d78