Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 79554
b: refs/heads/master
c: 26b8256
h: refs/heads/master
v: v3
  • Loading branch information
Jens Axboe committed Jan 29, 2008
1 parent 89a549d commit c5b1d1e
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 33 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 86db1e29772372155db08ff48a9ceb76e11a2ad1
refs/heads/master: 26b8256e2bb930a8e4d4d10aa74950d8921376b8
62 changes: 30 additions & 32 deletions trunk/block/blk-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@

#include "blk.h"

static void drive_stat_acct(struct request *rq, int new_io);
static int __make_request(struct request_queue *q, struct bio *bio);
static void blk_recalc_rq_segments(struct request *rq);

/*
* For the allocated request tables
Expand All @@ -54,6 +52,21 @@ static struct workqueue_struct *kblockd_workqueue;

static DEFINE_PER_CPU(struct list_head, blk_cpu_done);

static void drive_stat_acct(struct request *rq, int new_io)
{
int rw = rq_data_dir(rq);

if (!blk_fs_request(rq) || !rq->rq_disk)
return;

if (!new_io) {
__disk_stat_inc(rq->rq_disk, merges[rw]);
} else {
disk_round_stats(rq->rq_disk);
rq->rq_disk->in_flight++;
}
}

void blk_queue_congestion_threshold(struct request_queue *q)
{
int nr;
Expand Down Expand Up @@ -168,21 +181,6 @@ void blk_dump_rq_flags(struct request *rq, char *msg)

EXPORT_SYMBOL(blk_dump_rq_flags);

void blk_recount_segments(struct request_queue *q, struct bio *bio)
{
struct request rq;
struct bio *nxt = bio->bi_next;
rq.q = q;
rq.bio = rq.biotail = bio;
bio->bi_next = NULL;
blk_recalc_rq_segments(&rq);
bio->bi_next = nxt;
bio->bi_phys_segments = rq.nr_phys_segments;
bio->bi_hw_segments = rq.nr_hw_segments;
bio->bi_flags |= (1 << BIO_SEG_VALID);
}
EXPORT_SYMBOL(blk_recount_segments);

static void blk_recalc_rq_segments(struct request *rq)
{
int nr_phys_segs;
Expand Down Expand Up @@ -255,6 +253,21 @@ static void blk_recalc_rq_segments(struct request *rq)
rq->nr_hw_segments = nr_hw_segs;
}

void blk_recount_segments(struct request_queue *q, struct bio *bio)
{
struct request rq;
struct bio *nxt = bio->bi_next;
rq.q = q;
rq.bio = rq.biotail = bio;
bio->bi_next = NULL;
blk_recalc_rq_segments(&rq);
bio->bi_next = nxt;
bio->bi_phys_segments = rq.nr_phys_segments;
bio->bi_hw_segments = rq.nr_hw_segments;
bio->bi_flags |= (1 << BIO_SEG_VALID);
}
EXPORT_SYMBOL(blk_recount_segments);

static int blk_phys_contig_segment(struct request_queue *q, struct bio *bio,
struct bio *nxt)
{
Expand Down Expand Up @@ -1305,21 +1318,6 @@ void blk_insert_request(struct request_queue *q, struct request *rq,

EXPORT_SYMBOL(blk_insert_request);

static void drive_stat_acct(struct request *rq, int new_io)
{
int rw = rq_data_dir(rq);

if (!blk_fs_request(rq) || !rq->rq_disk)
return;

if (!new_io) {
__disk_stat_inc(rq->rq_disk, merges[rw]);
} else {
disk_round_stats(rq->rq_disk);
rq->rq_disk->in_flight++;
}
}

/*
* add-request adds a request to the linked list.
* queue lock is held and interrupts disabled, as we muck with the
Expand Down

0 comments on commit c5b1d1e

Please sign in to comment.