diff mbox series

elevator= kernel argument for recent kernels

Message ID 20191106105340.GE16085@quack2.suse.cz (mailing list archive)
State New, archived
Headers show
Series elevator= kernel argument for recent kernels | expand

Commit Message

Jan Kara Nov. 6, 2019, 10:53 a.m. UTC
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

Comments

Jeff Moyer Nov. 6, 2019, 12:55 p.m. UTC | #1
Jan Kara <jack@suse.cz> writes:

> 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?

That's fine with me.

Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Jens Axboe Nov. 6, 2019, 2:15 p.m. UTC | #2
On 11/6/19 3:53 AM, Jan Kara wrote:
> 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?

I'm fine with that, my objects have always been centered around trying
to make the parameter work. A warning makes sense to point people in
the right direction. I'll add this for 5.5.
Jan Kara Nov. 6, 2019, 3:01 p.m. UTC | #3
On Wed 06-11-19 07:15:35, Jens Axboe wrote:
> On 11/6/19 3:53 AM, Jan Kara wrote:
> > 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?
> 
> I'm fine with that, my objects have always been centered around trying
> to make the parameter work. A warning makes sense to point people in
> the right direction. I'll add this for 5.5.

Thanks!

								Honza
diff mbox series

Patch

From a012b59ada6ecbc34fe8e690abb74a2fa8a1d8e6 Mon Sep 17 00:00:00 2001
From: Jan Kara <jack@suse.cz>
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@suse.cz>
---
 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