diff options
| -rw-r--r-- | block/ll_rw_blk.c | 24 | ||||
| -rw-r--r-- | drivers/ide/ide-cd.c | 10 | ||||
| -rw-r--r-- | include/linux/blkdev.h | 1 |
3 files changed, 0 insertions, 35 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index c182c9f4b2c4..c44d6fe9f6ce 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
| @@ -2734,30 +2734,6 @@ static inline int attempt_front_merge(request_queue_t *q, struct request *rq) | |||
| 2734 | return 0; | 2734 | return 0; |
| 2735 | } | 2735 | } |
| 2736 | 2736 | ||
| 2737 | /** | ||
| 2738 | * blk_attempt_remerge - attempt to remerge active head with next request | ||
| 2739 | * @q: The &request_queue_t belonging to the device | ||
| 2740 | * @rq: The head request (usually) | ||
| 2741 | * | ||
| 2742 | * Description: | ||
| 2743 | * For head-active devices, the queue can easily be unplugged so quickly | ||
| 2744 | * that proper merging is not done on the front request. This may hurt | ||
| 2745 | * performance greatly for some devices. The block layer cannot safely | ||
| 2746 | * do merging on that first request for these queues, but the driver can | ||
| 2747 | * call this function and make it happen any way. Only the driver knows | ||
| 2748 | * when it is safe to do so. | ||
| 2749 | **/ | ||
| 2750 | void blk_attempt_remerge(request_queue_t *q, struct request *rq) | ||
| 2751 | { | ||
| 2752 | unsigned long flags; | ||
| 2753 | |||
| 2754 | spin_lock_irqsave(q->queue_lock, flags); | ||
| 2755 | attempt_back_merge(q, rq); | ||
| 2756 | spin_unlock_irqrestore(q->queue_lock, flags); | ||
| 2757 | } | ||
| 2758 | |||
| 2759 | EXPORT_SYMBOL(blk_attempt_remerge); | ||
| 2760 | |||
| 2761 | static void init_request_from_bio(struct request *req, struct bio *bio) | 2737 | static void init_request_from_bio(struct request *req, struct bio *bio) |
| 2762 | { | 2738 | { |
| 2763 | req->flags |= REQ_CMD; | 2739 | req->flags |= REQ_CMD; |
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index d31117eb95aa..e4d55ad32d2f 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c | |||
| @@ -1332,8 +1332,6 @@ static ide_startstop_t cdrom_start_read (ide_drive_t *drive, unsigned int block) | |||
| 1332 | if (cdrom_read_from_buffer(drive)) | 1332 | if (cdrom_read_from_buffer(drive)) |
| 1333 | return ide_stopped; | 1333 | return ide_stopped; |
| 1334 | 1334 | ||
| 1335 | blk_attempt_remerge(drive->queue, rq); | ||
| 1336 | |||
| 1337 | /* Clear the local sector buffer. */ | 1335 | /* Clear the local sector buffer. */ |
| 1338 | info->nsectors_buffered = 0; | 1336 | info->nsectors_buffered = 0; |
| 1339 | 1337 | ||
| @@ -1874,14 +1872,6 @@ static ide_startstop_t cdrom_start_write(ide_drive_t *drive, struct request *rq) | |||
| 1874 | return ide_stopped; | 1872 | return ide_stopped; |
| 1875 | } | 1873 | } |
| 1876 | 1874 | ||
| 1877 | /* | ||
| 1878 | * for dvd-ram and such media, it's a really big deal to get | ||
| 1879 | * big writes all the time. so scour the queue and attempt to | ||
| 1880 | * remerge requests, often the plugging will not have had time | ||
| 1881 | * to do this properly | ||
| 1882 | */ | ||
| 1883 | blk_attempt_remerge(drive->queue, rq); | ||
| 1884 | |||
| 1885 | info->nsectors_buffered = 0; | 1875 | info->nsectors_buffered = 0; |
| 1886 | 1876 | ||
| 1887 | /* use dma, if possible. we don't need to check more, since we | 1877 | /* use dma, if possible. we don't need to check more, since we |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index fb0985377421..96b233991685 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -592,7 +592,6 @@ extern void generic_make_request(struct bio *bio); | |||
| 592 | extern void blk_put_request(struct request *); | 592 | extern void blk_put_request(struct request *); |
| 593 | extern void __blk_put_request(request_queue_t *, struct request *); | 593 | extern void __blk_put_request(request_queue_t *, struct request *); |
| 594 | extern void blk_end_sync_rq(struct request *rq, int error); | 594 | extern void blk_end_sync_rq(struct request *rq, int error); |
| 595 | extern void blk_attempt_remerge(request_queue_t *, struct request *); | ||
| 596 | extern struct request *blk_get_request(request_queue_t *, int, gfp_t); | 595 | extern struct request *blk_get_request(request_queue_t *, int, gfp_t); |
| 597 | extern void blk_insert_request(request_queue_t *, struct request *, int, void *); | 596 | extern void blk_insert_request(request_queue_t *, struct request *, int, void *); |
| 598 | extern void blk_requeue_request(request_queue_t *, struct request *); | 597 | extern void blk_requeue_request(request_queue_t *, struct request *); |
