mbox series

[v2,0/4] Restore I/O priority support in the mq-deadline scheduler

Message ID 20210927220328.1410161-1-bvanassche@acm.org (mailing list archive)
Headers show
Series Restore I/O priority support in the mq-deadline scheduler | expand

Message

Bart Van Assche Sept. 27, 2021, 10:03 p.m. UTC
Hi Jens,

This patch series includes the following changes compared to the v5.14-r7
implementation:
- Fix request accounting by counting requeued requests once.
- Test correctness of the request accounting code by triggering a kernel
  warning from inside dd_exit_sched() if an inconsistency has been detected.
- Switch from per-CPU counters to individual counters.
- Restore I/O priority support in the mq-deadline scheduler. The performance
  measurements in the description of patch 4/4 show that the peformance
  regressions in the previous version of this patch have been fixed. This has
  been achieved by using 'jiffies' instead of ktime_get() and also by skipping
  the aging mechanism if all queued requests have the same I/O priority.

Please consider this patch series for kernel v5.16.

Thanks,

Bart.

Changes compared to v1:
- Renamed 'aging_expire' into 'prio_aging_expire'.
- Renamed dd_dispatch_aged_requests() into dd_dispatch_prio_aged_requests().
- Adjusted a source code comment.

Bart Van Assche (4):
  block/mq-deadline: Improve request accounting further
  block/mq-deadline: Add an invariant check
  block/mq-deadline: Stop using per-CPU counters
  block/mq-deadline: Prioritize high-priority requests

 block/mq-deadline.c | 220 ++++++++++++++++++++++++++++----------------
 1 file changed, 143 insertions(+), 77 deletions(-)

Comments

Jens Axboe Sept. 27, 2021, 11:14 p.m. UTC | #1
On 9/27/21 4:03 PM, Bart Van Assche wrote:
> Hi Jens,
> 
> This patch series includes the following changes compared to the v5.14-r7
> implementation:
> - Fix request accounting by counting requeued requests once.
> - Test correctness of the request accounting code by triggering a kernel
>   warning from inside dd_exit_sched() if an inconsistency has been detected.
> - Switch from per-CPU counters to individual counters.
> - Restore I/O priority support in the mq-deadline scheduler. The performance
>   measurements in the description of patch 4/4 show that the peformance
>   regressions in the previous version of this patch have been fixed. This has
>   been achieved by using 'jiffies' instead of ktime_get() and also by skipping
>   the aging mechanism if all queued requests have the same I/O priority.
> 
> Please consider this patch series for kernel v5.16.

Applied, thanks.