Commit 79e2de4bc53d7ca2a8eedee49e4a92479b4b530e

Authored by Thomas Maier
Committed by Linus Torvalds
1 parent 26da82058e

[PATCH] export clear_queue_congested and set_queue_congested

Export the clear_queue_congested() and set_queue_congested() functions
located in ll_rw_blk.c

The functions are renamed to blk_clear_queue_congested() and
blk_set_queue_congested().

(needed in the pktcdvd driver's bio write congestion control)

Signed-off-by: Thomas Maier <balagi@justmail.de>
Cc: Peter Osterlund <petero2@telia.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 2 changed files with 12 additions and 10 deletions Side-by-side Diff

... ... @@ -117,7 +117,7 @@
117 117 * congested queues, and wake up anyone who was waiting for requests to be
118 118 * put back.
119 119 */
120   -static void clear_queue_congested(request_queue_t *q, int rw)
  120 +void blk_clear_queue_congested(request_queue_t *q, int rw)
121 121 {
122 122 enum bdi_state bit;
123 123 wait_queue_head_t *wqh = &congestion_wqh[rw];
124 124  
125 125  
... ... @@ -128,18 +128,20 @@
128 128 if (waitqueue_active(wqh))
129 129 wake_up(wqh);
130 130 }
  131 +EXPORT_SYMBOL(blk_clear_queue_congested);
131 132  
132 133 /*
133 134 * A queue has just entered congestion. Flag that in the queue's VM-visible
134 135 * state flags and increment the global gounter of congested queues.
135 136 */
136   -static void set_queue_congested(request_queue_t *q, int rw)
  137 +void blk_set_queue_congested(request_queue_t *q, int rw)
137 138 {
138 139 enum bdi_state bit;
139 140  
140 141 bit = (rw == WRITE) ? BDI_write_congested : BDI_read_congested;
141 142 set_bit(bit, &q->backing_dev_info.state);
142 143 }
  144 +EXPORT_SYMBOL(blk_set_queue_congested);
143 145  
144 146 /**
145 147 * blk_get_backing_dev_info - get the address of a queue's backing_dev_info
... ... @@ -159,7 +161,6 @@
159 161 ret = &q->backing_dev_info;
160 162 return ret;
161 163 }
162   -
163 164 EXPORT_SYMBOL(blk_get_backing_dev_info);
164 165  
165 166 void blk_queue_activity_fn(request_queue_t *q, activity_fn *fn, void *data)
... ... @@ -167,7 +168,6 @@
167 168 q->activity_fn = fn;
168 169 q->activity_data = data;
169 170 }
170   -
171 171 EXPORT_SYMBOL(blk_queue_activity_fn);
172 172  
173 173 /**
... ... @@ -2067,7 +2067,7 @@
2067 2067 struct request_list *rl = &q->rq;
2068 2068  
2069 2069 if (rl->count[rw] < queue_congestion_off_threshold(q))
2070   - clear_queue_congested(q, rw);
  2070 + blk_clear_queue_congested(q, rw);
2071 2071  
2072 2072 if (rl->count[rw] + 1 <= q->nr_requests) {
2073 2073 if (waitqueue_active(&rl->wait[rw]))
... ... @@ -2137,7 +2137,7 @@
2137 2137 }
2138 2138 }
2139 2139 }
2140   - set_queue_congested(q, rw);
  2140 + blk_set_queue_congested(q, rw);
2141 2141 }
2142 2142  
2143 2143 /*
2144 2144  
2145 2145  
2146 2146  
... ... @@ -3765,14 +3765,14 @@
3765 3765 blk_queue_congestion_threshold(q);
3766 3766  
3767 3767 if (rl->count[READ] >= queue_congestion_on_threshold(q))
3768   - set_queue_congested(q, READ);
  3768 + blk_set_queue_congested(q, READ);
3769 3769 else if (rl->count[READ] < queue_congestion_off_threshold(q))
3770   - clear_queue_congested(q, READ);
  3770 + blk_clear_queue_congested(q, READ);
3771 3771  
3772 3772 if (rl->count[WRITE] >= queue_congestion_on_threshold(q))
3773   - set_queue_congested(q, WRITE);
  3773 + blk_set_queue_congested(q, WRITE);
3774 3774 else if (rl->count[WRITE] < queue_congestion_off_threshold(q))
3775   - clear_queue_congested(q, WRITE);
  3775 + blk_clear_queue_congested(q, WRITE);
3776 3776  
3777 3777 if (rl->count[READ] >= q->nr_requests) {
3778 3778 blk_set_queue_full(q, READ);
include/linux/blkdev.h
... ... @@ -651,6 +651,8 @@
651 651 extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned int, void __user *);
652 652 extern int sg_scsi_ioctl(struct file *, struct request_queue *,
653 653 struct gendisk *, struct scsi_ioctl_command __user *);
  654 +extern void blk_clear_queue_congested(request_queue_t *q, int rw);
  655 +extern void blk_set_queue_congested(request_queue_t *q, int rw);
654 656 extern void blk_start_queue(request_queue_t *q);
655 657 extern void blk_stop_queue(request_queue_t *q);
656 658 extern void blk_sync_queue(struct request_queue *q);