Re: [PATCH] noop-iosched: do not attempt to sort requests
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 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 > Signed-off-by: Tahsin Erdogan > --- > 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(>queuelist); > - elv_dispatch_sort(q, rq); > + elv_dispatch_add_tail(q, rq); > return 1; > } > return 0; > -- > 2.4.3.573.g4eafbef > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] noop-iosched: do not attempt to sort requests
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 tah...@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 nau...@google.com Signed-off-by: Tahsin Erdogan tah...@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 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] noop-iosched: do not attempt to sort requests
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 Signed-off-by: Tahsin Erdogan --- 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(>queuelist); - elv_dispatch_sort(q, rq); + elv_dispatch_add_tail(q, rq); return 1; } return 0; -- 2.4.3.573.g4eafbef -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] noop-iosched: do not attempt to sort requests
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 nau...@google.com Signed-off-by: Tahsin Erdogan tah...@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 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/