From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964815AbbGWVVp (ORCPT ); Thu, 23 Jul 2015 17:21:45 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:35265 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964770AbbGWVVn (ORCPT ); Thu, 23 Jul 2015 17:21:43 -0400 From: Tahsin Erdogan To: Jens Axboe Cc: linux-kernel@vger.kernel.org, nauman@google.com, tytso@mit.edu, Tahsin Erdogan Subject: [PATCH] noop-iosched: do not attempt to sort requests Date: Thu, 23 Jul 2015 14:20:14 -0700 Message-Id: <1437686414-19941-1-git-send-email-tahsin@google.com> X-Mailer: git-send-email 2.4.3.573.g4eafbef Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(&rq->queuelist); - elv_dispatch_sort(q, rq); + elv_dispatch_add_tail(q, rq); return 1; } return 0; -- 2.4.3.573.g4eafbef