mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [patch 128/198] use cheaper elv_queue_empty when unplug a device
@ 2005-04-12 10:32 akpm
  0 siblings, 0 replies; only message in thread
From: akpm @ 2005-04-12 10:32 UTC (permalink / raw)
  To: torvalds; +Cc: linux-kernel, akpm, kenneth.w.chen, axboe


From: Ken Chen <kenneth.w.chen@intel.com>

In function __generic_unplug_device(), kernel can use a cheaper function
elv_queue_empty() instead of more expensive elv_next_request to find
whether the queue is empty or not.  blk_run_queue can also made conditional
on whether queue's emptiness before calling request_fn().

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/drivers/block/ll_rw_blk.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN drivers/block/ll_rw_blk.c~use-cheaper-elv_queue_empty-when-unplug-a-device drivers/block/ll_rw_blk.c
--- 25/drivers/block/ll_rw_blk.c~use-cheaper-elv_queue_empty-when-unplug-a-device	2005-04-12 03:21:34.394908080 -0700
+++ 25-akpm/drivers/block/ll_rw_blk.c	2005-04-12 03:21:34.399907320 -0700
@@ -1589,7 +1589,8 @@ void blk_run_queue(struct request_queue 
 
 	spin_lock_irqsave(q->queue_lock, flags);
 	blk_remove_plug(q);
-	q->request_fn(q);
+	if (!elv_queue_empty(q))
+		q->request_fn(q);
 	spin_unlock_irqrestore(q->queue_lock, flags);
 }
 EXPORT_SYMBOL(blk_run_queue);
_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-04-12 18:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-04-12 10:32 [patch 128/198] use cheaper elv_queue_empty when unplug a device akpm

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®