Skip to content
  • Linus Torvalds's avatar
    Merge branch 'for-3.11/core' of git://git.kernel.dk/linux-block · 36805aae
    Linus Torvalds authored
    Pull core block IO updates from Jens Axboe:
     "Here are the core IO block bits for 3.11. It contains:
    
       - A tweak to the reserved tag logic from Jan, for weirdo devices with
         just 3 free tags.  But for those it improves things substantially
         for random writes.
    
       - Periodic writeback fix from Jan.  Marked for stable as well.
    
       - Fix for a race condition in IO scheduler switching from Jianpeng.
    
       - The hierarchical blk-cgroup support from Tejun.  This is the grunt
         of the series.
    
       - blk-throttle fix from Vivek.
    
      Just a note that I'm in the middle of a relocation, whole family is
      flying out tomorrow.  Hence I will be awal the remainder of this week,
      but back at work again on Monday the 15th.  CC'ing Tejun, since any
      potential "surprises" will most likely be from the blk-cgroup work.
      But it's been brewing for a while and sitting in my tree and
      linux-next for a long time, so should be solid."
    
    * 'for-3.11/core' of git://git.kernel.dk/linux-block: (36 commits)
      elevator: Fix a race in elevator switching
      block: Reserve only one queue tag for sync IO if only 3 tags are available
      writeback: Fix periodic writeback after fs mount
      blk-throttle: implement proper hierarchy support
      blk-throttle: implement throtl_grp->has_rules[]
      blk-throttle: Account for child group's start time in parent while bio climbs up
      blk-throttle: add throtl_qnode for dispatch fairness
      blk-throttle: make throtl_pending_timer_fn() ready for hierarchy
      blk-throttle: make tg_dispatch_one_bio() ready for hierarchy
      blk-throttle: make blk_throtl_bio() ready for hierarchy
      blk-throttle: make blk_throtl_drain() ready for hierarchy
      blk-throttle: dispatch from throtl_pending_timer_fn()
      blk-throttle: implement dispatch looping
      blk-throttle: separate out throtl_service_queue->pending_timer from throtl_data->dispatch_work
      blk-throttle: set REQ_THROTTLED from throtl_charge_bio() and gate stats update with it
      blk-throttle: implement sq_to_tg(), sq_to_td() and throtl_log()
      blk-throttle: add throtl_service_queue->parent_sq
      blk-throttle: generalize update_disptime optimization in blk_throtl_bio()
      blk-throttle: dispatch to throtl_data->service_queue.bio_lists[]
      blk-throttle: move bio_lists[] and friends to throtl_service_queue
      ...
    36805aae