2019-08-28 01:19:58

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [RESEND PATCH 0/4] Remove elevator kernel parameter

This is just a resend, now with reviews by Hannes and Bob in place. These
patches were based in linux-block/for-next branch.

Original cover letter:
After the first patch sent[1], together with some background from Jens[2], this
patchset aims to remove completely elevator kernel parameter, since it is not
being used since blk-mq was set by default.

Along with elevator code, some documentation was also updated to remove elevator
references.

[1]: https://lkml.org/lkml/2019/7/12/1008
[2]: https://lkml.org/lkml/2019/7/13/232

Marcos Paulo de Souza (4):
block: elevator.c: Remove now unused elevator= argument
kernel-parameters.txt: Remove elevator argument
Documenation: switching-sched: Remove notes about elevator argument
Documentation:kernel-per-CPU-kthreads.txt: Remove reference to
elevator=

Documentation/admin-guide/kernel-parameters.txt | 6 ------
Documentation/block/switching-sched.txt | 4 ----
Documentation/kernel-per-CPU-kthreads.txt | 8 +++-----
block/elevator.c | 14 --------------
4 files changed, 3 insertions(+), 29 deletions(-)

--
2.22.0


2019-08-28 01:20:03

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [RESEND PATCH 1/4] block: elevator.c: Remove now unused elevator= argument

Since the inclusion of blk-mq, elevator argument was not being
considered anymore, and it's utility died long with the legacy IO path,
now removed too.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Reviewed-by: Bob Liu <[email protected]>
---
block/elevator.c | 14 --------------
1 file changed, 14 deletions(-)

diff --git a/block/elevator.c b/block/elevator.c
index 2f17d66d0e61..f56d9c7d5cbc 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -135,20 +135,6 @@ static struct elevator_type *elevator_get(struct request_queue *q,
return e;
}

-static char chosen_elevator[ELV_NAME_MAX];
-
-static int __init elevator_setup(char *str)
-{
- /*
- * Be backwards-compatible with previous kernels, so users
- * won't get the wrong elevator.
- */
- strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
- return 1;
-}
-
-__setup("elevator=", elevator_setup);
-
static struct kobj_type elv_ktype;

struct elevator_queue *elevator_alloc(struct request_queue *q,
--
2.22.0

2019-08-28 01:20:06

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [RESEND PATCH 2/4] kernel-parameters.txt: Remove elevator argument

This argument was not being used since the legacy IO path was removed,
when blk-mq was enabled by default. So removed it from the kernel
parameters documentation.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
Documentation/admin-guide/kernel-parameters.txt | 6 ------
1 file changed, 6 deletions(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index f1c433daef6b..7d2738c7d49b 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1199,12 +1199,6 @@
See comment before function elanfreq_setup() in
arch/x86/kernel/cpu/cpufreq/elanfreq.c.

- elevator= [IOSCHED]
- Format: { "mq-deadline" | "kyber" | "bfq" }
- See Documentation/block/deadline-iosched.txt,
- Documentation/block/kyber-iosched.txt and
- Documentation/block/bfq-iosched.txt for details.
-
elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
Specifies physical address of start of kernel core
image elf header and optionally the size. Generally
--
2.22.0

2019-08-28 01:20:30

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [RESEND PATCH 3/4] Documenation: switching-sched: Remove notes about elevator argument

This argument was ignored since blk-mq was set as default, so remove it
from documentation.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
Documentation/block/switching-sched.txt | 4 ----
1 file changed, 4 deletions(-)

diff --git a/Documentation/block/switching-sched.txt b/Documentation/block/switching-sched.txt
index 7977f6fb8b20..431d56471227 100644
--- a/Documentation/block/switching-sched.txt
+++ b/Documentation/block/switching-sched.txt
@@ -1,7 +1,3 @@
-To choose IO schedulers at boot time, use the argument 'elevator=deadline'.
-'noop' and 'cfq' (the default) are also available. IO schedulers are assigned
-globally at boot time only presently.
-
Each io queue has a set of io scheduler tunables associated with it. These
tunables control how the io scheduler works. You can find these entries
in:
--
2.22.0

2019-08-28 01:20:50

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [RESEND PATCH 4/4] Documentation:kernel-per-CPU-kthreads.txt: Remove reference to elevator=

This argument was not being considered since blk-mq was set by default,
so removed this documentation to avoid confusion.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
Documentation/kernel-per-CPU-kthreads.txt | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/Documentation/kernel-per-CPU-kthreads.txt b/Documentation/kernel-per-CPU-kthreads.txt
index 5623b9916411..c68c6c8c26a4 100644
--- a/Documentation/kernel-per-CPU-kthreads.txt
+++ b/Documentation/kernel-per-CPU-kthreads.txt
@@ -274,9 +274,7 @@ To reduce its OS jitter, do any of the following:
(based on an earlier one from Gilad Ben-Yossef) that
reduces or even eliminates vmstat overhead for some
workloads at https://lkml.org/lkml/2013/9/4/379.
- e. Boot with "elevator=noop" to avoid workqueue use by
- the block layer.
- f. If running on high-end powerpc servers, build with
+ e. If running on high-end powerpc servers, build with
CONFIG_PPC_RTAS_DAEMON=n. This prevents the RTAS
daemon from running on each CPU every second or so.
(This will require editing Kconfig files and will defeat
@@ -284,12 +282,12 @@ To reduce its OS jitter, do any of the following:
due to the rtas_event_scan() function.
WARNING: Please check your CPU specifications to
make sure that this is safe on your particular system.
- g. If running on Cell Processor, build your kernel with
+ f. If running on Cell Processor, build your kernel with
CBE_CPUFREQ_SPU_GOVERNOR=n to avoid OS jitter from
spu_gov_work().
WARNING: Please check your CPU specifications to
make sure that this is safe on your particular system.
- h. If running on PowerMAC, build your kernel with
+ g. If running on PowerMAC, build your kernel with
CONFIG_PMAC_RACKMETER=n to disable the CPU-meter,
avoiding OS jitter from rackmeter_do_timer().

--
2.22.0

2019-09-01 23:29:01

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [PATCH v2 0/4] Remove elevator kernel parameter

Since the last RESEND[1], I found that I used an old block/for-next to base my
changes. This version is just a rebase over
8ba64588ef2136ff7561fb2047d53debed8a7b56 ("Merge branch 'for-5.4/libata' into
for-next"), solving minor conflicts.

Original cover letter:
After the first patch sent[2], together with some background from Jens[3], this
patchset aims to remove completely elevator kernel parameter, since it is not
being used since blk-mq was set by default.

Along with elevator code, some documentation was also updated to remove elevator
references.

[1]: https://lkml.org/lkml/2019/8/27/1648
[2]: https://lkml.org/lkml/2019/7/12/1008
[3]: https://lkml.org/lkml/2019/7/13/232

Marcos Paulo de Souza (4):
block: elevator.c: Remove now unused elevator= argument
kernel-parameters.txt: Remove elevator argument
Documenation: switching-sched: Remove notes about elevator argument
Documentation:kernel-per-CPU-kthreads.txt: Remove reference to
elevator=

Documentation/admin-guide/kernel-parameters.txt | 6 ------
.../admin-guide/kernel-per-CPU-kthreads.rst | 8 +++-----
Documentation/block/switching-sched.rst | 4 ----
block/elevator.c | 14 --------------
4 files changed, 3 insertions(+), 29 deletions(-)

--
2.22.0

2019-09-01 23:29:19

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [PATCH v2 2/4] kernel-parameters.txt: Remove elevator argument

This argument was not being used since the legacy IO path was removed,
when blk-mq was enabled by default. So removed it from the kernel
parameters documentation.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
Documentation/admin-guide/kernel-parameters.txt | 6 ------
1 file changed, 6 deletions(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 4c1971960afa..6f2bc0e02421 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1197,12 +1197,6 @@
See comment before function elanfreq_setup() in
arch/x86/kernel/cpu/cpufreq/elanfreq.c.

- elevator= [IOSCHED]
- Format: { "mq-deadline" | "kyber" | "bfq" }
- See Documentation/block/deadline-iosched.rst,
- Documentation/block/kyber-iosched.rst and
- Documentation/block/bfq-iosched.rst for details.
-
elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
Specifies physical address of start of kernel core
image elf header and optionally the size. Generally
--
2.22.0

2019-09-01 23:29:55

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [PATCH v2 3/4] Documenation: switching-sched: Remove notes about elevator argument

This argument was ignored since blk-mq was set as default, so remove it
from documentation.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
Documentation/block/switching-sched.rst | 4 ----
1 file changed, 4 deletions(-)

diff --git a/Documentation/block/switching-sched.rst b/Documentation/block/switching-sched.rst
index 42042417380e..520f6b857544 100644
--- a/Documentation/block/switching-sched.rst
+++ b/Documentation/block/switching-sched.rst
@@ -2,10 +2,6 @@
Switching Scheduler
===================

-To choose IO schedulers at boot time, use the argument 'elevator=deadline'.
-'noop' and 'cfq' (the default) are also available. IO schedulers are assigned
-globally at boot time only presently.
-
Each io queue has a set of io scheduler tunables associated with it. These
tunables control how the io scheduler works. You can find these entries
in::
--
2.22.0

2019-09-01 23:30:20

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [PATCH v2 1/4] block: elevator.c: Remove now unused elevator= argument

Since the inclusion of blk-mq, elevator argument was not being
considered anymore, and it's utility died long with the legacy IO path,
now removed too.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Reviewed-by: Bob Liu <[email protected]>
---
block/elevator.c | 14 --------------
1 file changed, 14 deletions(-)

diff --git a/block/elevator.c b/block/elevator.c
index 4781c4205a5d..86100de88883 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -135,20 +135,6 @@ static struct elevator_type *elevator_get(struct request_queue *q,
return e;
}

-static char chosen_elevator[ELV_NAME_MAX];
-
-static int __init elevator_setup(char *str)
-{
- /*
- * Be backwards-compatible with previous kernels, so users
- * won't get the wrong elevator.
- */
- strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
- return 1;
-}
-
-__setup("elevator=", elevator_setup);
-
static struct kobj_type elv_ktype;

struct elevator_queue *elevator_alloc(struct request_queue *q,
--
2.22.0

2019-09-01 23:31:27

by Marcos Paulo de Souza

[permalink] [raw]
Subject: [PATCH v2 4/4] Documentation:kernel-per-CPU-kthreads.txt: Remove reference to elevator=

This argument was not being considered since blk-mq was set by default,
so removed this documentation to avoid confusion.

Signed-off-by: Marcos Paulo de Souza <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
---
Documentation/admin-guide/kernel-per-CPU-kthreads.rst | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/Documentation/admin-guide/kernel-per-CPU-kthreads.rst b/Documentation/admin-guide/kernel-per-CPU-kthreads.rst
index 4f18456dd3b1..baeeba8762ae 100644
--- a/Documentation/admin-guide/kernel-per-CPU-kthreads.rst
+++ b/Documentation/admin-guide/kernel-per-CPU-kthreads.rst
@@ -274,9 +274,7 @@ To reduce its OS jitter, do any of the following:
(based on an earlier one from Gilad Ben-Yossef) that
reduces or even eliminates vmstat overhead for some
workloads at https://lkml.org/lkml/2013/9/4/379.
- e. Boot with "elevator=noop" to avoid workqueue use by
- the block layer.
- f. If running on high-end powerpc servers, build with
+ e. If running on high-end powerpc servers, build with
CONFIG_PPC_RTAS_DAEMON=n. This prevents the RTAS
daemon from running on each CPU every second or so.
(This will require editing Kconfig files and will defeat
@@ -284,12 +282,12 @@ To reduce its OS jitter, do any of the following:
due to the rtas_event_scan() function.
WARNING: Please check your CPU specifications to
make sure that this is safe on your particular system.
- g. If running on Cell Processor, build your kernel with
+ f. If running on Cell Processor, build your kernel with
CBE_CPUFREQ_SPU_GOVERNOR=n to avoid OS jitter from
spu_gov_work().
WARNING: Please check your CPU specifications to
make sure that this is safe on your particular system.
- h. If running on PowerMAC, build your kernel with
+ g. If running on PowerMAC, build your kernel with
CONFIG_PMAC_RACKMETER=n to disable the CPU-meter,
avoiding OS jitter from rackmeter_do_timer().

--
2.22.0

2019-09-03 09:07:18

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 1/4] block: elevator.c: Remove now unused elevator= argument

On Sun, Sep 01, 2019 at 08:29:13PM -0300, Marcos Paulo de Souza wrote:
> Since the inclusion of blk-mq, elevator argument was not being
> considered anymore, and it's utility died long with the legacy IO path,
> now removed too.
>
> Signed-off-by: Marcos Paulo de Souza <[email protected]>
> Reviewed-by: Hannes Reinecke <[email protected]>
> Reviewed-by: Bob Liu <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>

2019-09-03 09:08:04

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 2/4] kernel-parameters.txt: Remove elevator argument

On Sun, Sep 01, 2019 at 08:29:14PM -0300, Marcos Paulo de Souza wrote:
> This argument was not being used since the legacy IO path was removed,
> when blk-mq was enabled by default. So removed it from the kernel
> parameters documentation.
>
> Signed-off-by: Marcos Paulo de Souza <[email protected]>
> Reviewed-by: Hannes Reinecke <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>

That beeing said I would have folded it into the previous patch.

2019-09-03 09:08:36

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 4/4] Documentation:kernel-per-CPU-kthreads.txt: Remove reference to elevator=

On Sun, Sep 01, 2019 at 08:29:16PM -0300, Marcos Paulo de Souza wrote:
> This argument was not being considered since blk-mq was set by default,
> so removed this documentation to avoid confusion.
>
> Signed-off-by: Marcos Paulo de Souza <[email protected]>
> Reviewed-by: Hannes Reinecke <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>

2019-09-03 09:09:38

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH v2 3/4] Documenation: switching-sched: Remove notes about elevator argument

On Sun, Sep 01, 2019 at 08:29:15PM -0300, Marcos Paulo de Souza wrote:
> This argument was ignored since blk-mq was set as default, so remove it
> from documentation.
>
> Signed-off-by: Marcos Paulo de Souza <[email protected]>
> Reviewed-by: Hannes Reinecke <[email protected]>

Looks good,

Reviewed-by: Christoph Hellwig <[email protected]>

2019-09-03 14:08:08

by Jens Axboe

[permalink] [raw]
Subject: Re: [RESEND PATCH 0/4] Remove elevator kernel parameter

On 8/27/19 7:19 PM, Marcos Paulo de Souza wrote:
> This is just a resend, now with reviews by Hannes and Bob in place. These
> patches were based in linux-block/for-next branch.
>
> Original cover letter:
> After the first patch sent[1], together with some background from Jens[2], this
> patchset aims to remove completely elevator kernel parameter, since it is not
> being used since blk-mq was set by default.
>
> Along with elevator code, some documentation was also updated to remove elevator
> references.

Applied, but:

1) Folded patch 1+2
2) Patch 3+4 .txt files are dead

--
Jens Axboe