* [PATCH] noop-iosched: do not attempt to sort requests
@ 2015-07-23 21:20 Tahsin Erdogan
2015-07-30 5:49 ` Tahsin Erdogan
0 siblings, 1 reply; 2+ messages in thread
From: Tahsin Erdogan @ 2015-07-23 21:20 UTC (permalink / raw)
To: Jens Axboe; +Cc: linux-kernel, nauman, tytso, Tahsin Erdogan
Noop scheduler currently dispatches a request by calling
elv_dispatch_sort(). In practice, sorting does not occur because
__elv_next_request() asks the io scheduler to dispatch a request
only when elevator queue is empty.
Also, not reordering requests seems more appropriate for noop. This
change makes the behavior more explicit.
Reviewed-by: Nauman Rafique <nauman@google.com>
Signed-off-by: Tahsin Erdogan <tahsin@google.com>
---
block/Kconfig.iosched | 8 ++++----
block/noop-iosched.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
index 421bef9..b9e42f8 100644
--- a/block/Kconfig.iosched
+++ b/block/Kconfig.iosched
@@ -7,10 +7,10 @@ config IOSCHED_NOOP
default y
---help---
The no-op I/O scheduler is a minimal scheduler that does basic merging
- and sorting. Its main uses include non-disk based block devices like
- memory devices, and specialised software or hardware environments
- that do their own scheduling and require only minimal assistance from
- the kernel.
+ only. Its main uses include non-disk based block devices like memory
+ devices, and specialised software or hardware environments that do
+ their own scheduling and require only minimal assistance from the
+ kernel.
config IOSCHED_DEADLINE
tristate "Deadline I/O scheduler"
diff --git a/block/noop-iosched.c b/block/noop-iosched.c
index 3de89d4..f0fec14 100644
--- a/block/noop-iosched.c
+++ b/block/noop-iosched.c
@@ -26,7 +26,7 @@ static int noop_dispatch(struct request_queue *q, int force)
struct request *rq;
rq = list_entry(nd->queue.next, struct request, queuelist);
list_del_init(&rq->queuelist);
- elv_dispatch_sort(q, rq);
+ elv_dispatch_add_tail(q, rq);
return 1;
}
return 0;
--
2.4.3.573.g4eafbef
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] noop-iosched: do not attempt to sort requests
2015-07-23 21:20 [PATCH] noop-iosched: do not attempt to sort requests Tahsin Erdogan
@ 2015-07-30 5:49 ` Tahsin Erdogan
0 siblings, 0 replies; 2+ messages in thread
From: Tahsin Erdogan @ 2015-07-30 5:49 UTC (permalink / raw)
To: Jens Axboe
Cc: linux-kernel, Nauman Rafique, Theodore Ts'o, Tahsin Erdogan
Hi Jens, did you get a chance to take a look at this patch?
On Thu, Jul 23, 2015 at 2:20 PM, Tahsin Erdogan <tahsin@google.com> wrote:
> Noop scheduler currently dispatches a request by calling
> elv_dispatch_sort(). In practice, sorting does not occur because
> __elv_next_request() asks the io scheduler to dispatch a request
> only when elevator queue is empty.
>
> Also, not reordering requests seems more appropriate for noop. This
> change makes the behavior more explicit.
>
> Reviewed-by: Nauman Rafique <nauman@google.com>
> Signed-off-by: Tahsin Erdogan <tahsin@google.com>
> ---
> block/Kconfig.iosched | 8 ++++----
> block/noop-iosched.c | 2 +-
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
> index 421bef9..b9e42f8 100644
> --- a/block/Kconfig.iosched
> +++ b/block/Kconfig.iosched
> @@ -7,10 +7,10 @@ config IOSCHED_NOOP
> default y
> ---help---
> The no-op I/O scheduler is a minimal scheduler that does basic merging
> - and sorting. Its main uses include non-disk based block devices like
> - memory devices, and specialised software or hardware environments
> - that do their own scheduling and require only minimal assistance from
> - the kernel.
> + only. Its main uses include non-disk based block devices like memory
> + devices, and specialised software or hardware environments that do
> + their own scheduling and require only minimal assistance from the
> + kernel.
>
> config IOSCHED_DEADLINE
> tristate "Deadline I/O scheduler"
> diff --git a/block/noop-iosched.c b/block/noop-iosched.c
> index 3de89d4..f0fec14 100644
> --- a/block/noop-iosched.c
> +++ b/block/noop-iosched.c
> @@ -26,7 +26,7 @@ static int noop_dispatch(struct request_queue *q, int force)
> struct request *rq;
> rq = list_entry(nd->queue.next, struct request, queuelist);
> list_del_init(&rq->queuelist);
> - elv_dispatch_sort(q, rq);
> + elv_dispatch_add_tail(q, rq);
> return 1;
> }
> return 0;
> --
> 2.4.3.573.g4eafbef
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-07-30 5:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-23 21:20 [PATCH] noop-iosched: do not attempt to sort requests Tahsin Erdogan
2015-07-30 5:49 ` Tahsin Erdogan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®