/[linux-patches]/genpatches-2.6/trunk/2.6.14/1408_15.2_kill-blk-attempt-remerge.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.14/1408_15.2_kill-blk-attempt-remerge.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (show annotations) (download) (as text)
Tue Mar 14 13:34:17 2006 UTC (14 years, 8 months ago) by johnm
File MIME type: text/x-diff
File size: 3087 byte(s)
2.6.14-11, rebase against local tree
1 Backported from 2.6.15 by Kerin Millar <kerframil@gmail.com>:
2
3 From stable-bounces@linux.kernel.org Thu Jan 12 19:27:22 2006
4 Date: Mon, 9 Jan 2006 11:15:33 -0800
5 From: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
6 Subject: [BLOCK] Kill blk_attempt_remerge()
7
8 From: Jens Axboe <axboe@suse.de>
9
10 [BLOCK] Kill blk_attempt_remerge()
11
12 It's a broken interface, it's done way too late. And apparently it triggers
13 slab problems in recent kernels as well (most likely after the generic dispatch
14 code was merged). So kill it, ide-cd is the only user of it.
15
16 Signed-off-by: Jens Axboe <axboe@suse.de>
17 chrisw: backport to 2.6.15 tree
18 Signed-off-by: Chris Wright <chrisw@sous-sol.org>
19 ---
20
21 --- linux-2.6.14.orig/drivers/block/ll_rw_blk.c 2005-10-28 01:02:08.000000000 +0100
22 +++ linux-2.6.14/drivers/block/ll_rw_blk.c 2006-01-23 19:18:26.000000000 +0000
23 @@ -2609,30 +2609,6 @@
24 return 0;
25 }
26
27 -/**
28 - * blk_attempt_remerge - attempt to remerge active head with next request
29 - * @q: The &request_queue_t belonging to the device
30 - * @rq: The head request (usually)
31 - *
32 - * Description:
33 - * For head-active devices, the queue can easily be unplugged so quickly
34 - * that proper merging is not done on the front request. This may hurt
35 - * performance greatly for some devices. The block layer cannot safely
36 - * do merging on that first request for these queues, but the driver can
37 - * call this function and make it happen any way. Only the driver knows
38 - * when it is safe to do so.
39 - **/
40 -void blk_attempt_remerge(request_queue_t *q, struct request *rq)
41 -{
42 - unsigned long flags;
43 -
44 - spin_lock_irqsave(q->queue_lock, flags);
45 - attempt_back_merge(q, rq);
46 - spin_unlock_irqrestore(q->queue_lock, flags);
47 -}
48 -
49 -EXPORT_SYMBOL(blk_attempt_remerge);
50 -
51 static int __make_request(request_queue_t *q, struct bio *bio)
52 {
53 struct request *req;
54 --- linux-2.6.14.orig/drivers/ide/ide-cd.c 2005-10-28 01:02:08.000000000 +0100
55 +++ linux-2.6.14/drivers/ide/ide-cd.c 2006-01-23 19:17:37.000000000 +0000
56 @@ -1333,8 +1333,6 @@
57 if (cdrom_read_from_buffer(drive))
58 return ide_stopped;
59
60 - blk_attempt_remerge(drive->queue, rq);
61 -
62 /* Clear the local sector buffer. */
63 info->nsectors_buffered = 0;
64
65 @@ -1884,8 +1882,6 @@
66 * remerge requests, often the plugging will not have had time
67 * to do this properly
68 */
69 - blk_attempt_remerge(drive->queue, rq);
70 -
71 info->nsectors_buffered = 0;
72
73 /* use dma, if possible. we don't need to check more, since we
74 --- linux-2.6.14.orig/include/linux/blkdev.h 2005-10-28 01:02:08.000000000 +0100
75 +++ linux-2.6.14/include/linux/blkdev.h 2006-01-23 19:18:44.000000000 +0000
76 @@ -549,7 +549,6 @@
77 extern void generic_make_request(struct bio *bio);
78 extern void blk_put_request(struct request *);
79 extern void blk_end_sync_rq(struct request *rq);
80 -extern void blk_attempt_remerge(request_queue_t *, struct request *);
81 extern struct request *blk_get_request(request_queue_t *, int, int);
82 extern void blk_insert_request(request_queue_t *, struct request *, int, void *);
83 extern void blk_requeue_request(request_queue_t *, struct request *);

  ViewVC Help
Powered by ViewVC 1.1.20