Re: [PATCH] noop-iosched: do not attempt to sort requests

2015-07-29 Thread 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  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

2015-07-29 Thread 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 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

2015-07-23 Thread 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 
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

2015-07-23 Thread 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 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/