* [PATCH] ide: remove unnecessary blk_queue_flushing() test in do_ide_request()
@ 2010-08-19 13:35 Tejun Heo
2010-08-20 17:31 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Tejun Heo @ 2010-08-19 13:35 UTC (permalink / raw)
To: David S. Miller, linux-ide@vger.kernel.org, Christoph Hellwig
Unplugging from a request function doesn't really help much (it's
already in the request_fn) and soon block layer will be updated to mix
barrier sequence with other commands, so there's no need to treat
queue flushing any differently.
ide was the only user of blk_queue_flushing(). Remove it.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>
---
David, can I route this patch through block tree with other barrier
changes?
Thanks.
drivers/ide/ide-io.c | 13 -------------
include/linux/blkdev.h | 1 -
2 files changed, 14 deletions(-)
Index: block/drivers/ide/ide-io.c
===================================================================
--- block.orig/drivers/ide/ide-io.c
+++ block/drivers/ide/ide-io.c
@@ -441,19 +441,6 @@ void do_ide_request(struct request_queue
struct request *rq = NULL;
ide_startstop_t startstop;
- /*
- * drive is doing pre-flush, ordered write, post-flush sequence. even
- * though that is 3 requests, it must be seen as a single transaction.
- * we must not preempt this drive until that is complete
- */
- if (blk_queue_flushing(q))
- /*
- * small race where queue could get replugged during
- * the 3-request flush cycle, just yank the plug since
- * we want it to finish asap
- */
- blk_remove_plug(q);
-
spin_unlock_irq(q->queue_lock);
/* HLD do_request() callback might sleep, make sure it's okay */
Index: block/include/linux/blkdev.h
===================================================================
--- block.orig/include/linux/blkdev.h
+++ block/include/linux/blkdev.h
@@ -520,7 +520,6 @@ enum {
#define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags)
#define blk_queue_io_stat(q) test_bit(QUEUE_FLAG_IO_STAT, &(q)->queue_flags)
#define blk_queue_add_random(q) test_bit(QUEUE_FLAG_ADD_RANDOM, &(q)->queue_flags)
-#define blk_queue_flushing(q) ((q)->ordseq)
#define blk_queue_stackable(q) \
test_bit(QUEUE_FLAG_STACKABLE, &(q)->queue_flags)
#define blk_queue_discard(q) test_bit(QUEUE_FLAG_DISCARD, &(q)->queue_flags)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] ide: remove unnecessary blk_queue_flushing() test in do_ide_request()
2010-08-19 13:35 [PATCH] ide: remove unnecessary blk_queue_flushing() test in do_ide_request() Tejun Heo
@ 2010-08-20 17:31 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2010-08-20 17:31 UTC (permalink / raw)
To: tj; +Cc: linux-ide, hch
From: Tejun Heo <tj@kernel.org>
Date: Thu, 19 Aug 2010 15:35:37 +0200
> Unplugging from a request function doesn't really help much (it's
> already in the request_fn) and soon block layer will be updated to mix
> barrier sequence with other commands, so there's no need to treat
> queue flushing any differently.
>
> ide was the only user of blk_queue_flushing(). Remove it.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: Christoph Hellwig <hch@lst.de>
> ---
> David, can I route this patch through block tree with other barrier
> changes?
Sure:
Acked-by: David S. Miller <davem@davemloft.net>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-08-20 17:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-19 13:35 [PATCH] ide: remove unnecessary blk_queue_flushing() test in do_ide_request() Tejun Heo
2010-08-20 17:31 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).