Hello, with transition to blk-mq, the elevator= kernel argument was removed. I understand the reasons for its removal but still I think this may come as a surprise to some users since that argument has been there for ages and although distributions generally transition to setting appropriate elevator by udev rules, there are still people that use that argument with older kernels and there are quite a few advices on the Internet to use it. So shouldn't we at least warn loudly if someone uses elevator= argument on kernels that don't support it and redirect people to sysfs? Something like the attached patch? What do people think? Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR
>From a012b59ada6ecbc34fe8e690abb74a2fa8a1d8e6 Mon Sep 17 00:00:00 2001 From: Jan Kara <jack@xxxxxxx> Date: Wed, 6 Nov 2019 11:48:57 +0100 Subject: [PATCH] block: Warn if elevator= parameter is used With transition to blk-mq, the elevator= kernel argument was removed as it makes less and less sense with the current variety of devices. Since this may surprise some users and there are advices on the Internet that still suggest to use it, let's at least warn if the parameter is used. Signed-off-by: Jan Kara <jack@xxxxxxx> --- block/elevator.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/block/elevator.c b/block/elevator.c index 5437059c9261..0b1db9afb586 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -831,3 +831,12 @@ struct request *elv_rb_latter_request(struct request_queue *q, return NULL; } EXPORT_SYMBOL(elv_rb_latter_request); + +static int __init elevator_setup(char *str) +{ + pr_warn("Kernel parameter elevator= does not have any effect anymore.\n" + "Please use sysfs to set IO scheduler for individual devices.\n"); + return 1; +} + +__setup("elevator=", elevator_setup); -- 2.16.4