Hi, this series contain some patches to improve in-service queue preemption, protect max_budget updating race between configuration and auto-tuning and so on. More details can be found in respective log message. Thanks! Kemeng Shi (17): block, bfq: properly mark bfqq remained idle block, bfq: try preemption if bfqq has higher weight and the same priority class block, bfq: only preempt plugged in_service_queue if bfq_better_to_idle say no block, bfq: recover the "service hole" if enough budget is left block, bfq: Update bfqd->max_budget with bfqd->lock held block, bfq: correct bfq_max_budget and bfq_min_budget block, bfq: correct interactive weight-raise check in bfq_set_budget_timeout block, bfq: start service_from_wr accumulating of async queues correctly block, bfq: stop to detect queue as waker queue if it already is now block, bfq: fix typo in comment block, bfq: simpfy computation of bfqd->budgets_assigned block, bfq: define and use soft_rt, in_burst and wr_or_deserves_wr only low_latency is enable block, bfq: remove unnecessary "wr" part of wr_or_deserves_wr block, bfq: remove redundant oom_bfqq check for bfqq from bfq_find_close_cooperator block, bfq: some cleanups for function bfq_pos_tree_add_move block, bfq: remove unnecessary goto tag in __bfq_weights_tree_remove block, bfq: remove unnecessary local variable __bfqq in bfq_setup_merge block/bfq-iosched.c | 176 +++++++++++++++++++++++--------------------- block/bfq-wf2q.c | 2 +- 2 files changed, 95 insertions(+), 83 deletions(-) -- 2.30.0