Enable /proc/diskstats for /dev/ramX
Subsystems (2)
PATCH 1/1 Enable /proc/diskstats for /dev/ramX
--- drivers/block/brd.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/block/brd.c +7 -0
@@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)sector_t sector;int i;int err = -EIO ; +int cpu; sector = bio->bi_sector; if (sector + (bio->bi_size >> SECTOR_SHIFT) >
@@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)if (rw ==READA ) rw =READ ; + cpu =part_stat_lock (); +part_stat_inc (cpu, &brd->brd_disk->part0, ios[rw]); +part_stat_add (cpu, &brd->brd_disk->part0, sectors[rw], +bio_sectors (bio)); +part_stat_unlock (); +bio_for_each_segment (bvec, bio, i) {unsigned int len = bvec->bv_len; err = brd_do_bvec(brd, bvec->bv_page, len,
Signature · 1 line
1.7.9.5
Hi,
I'm Ryo Onodera. I created this very tiny patch to enable /proc/diskstats for /dev/ramX.
I'm contacting Nick Piggin as the maintainer of ramdisk ram block.
This is my first patch to the Linux kernel. Sorry if this is not the expected way of submitting patches.
Regards
Ryo Onodera
Quoted 35 lines · Ryo Onodera
Signed-off-by Ryo Onodera <[email protected]>--- drivers/block/brd.c | 7 +++++++ 1 file changed, 7 insertions(+)drivers/block/brd.c +7
-1@@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)sector_t sector;int i;int err = -EIO ; +int cpu; sector = bio->bi_sector; if (sector + (bio->bi_size >> SECTOR_SHIFT) >@@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)if (rw ==READA ) rw =READ ; + cpu =part_stat_lock (); +part_stat_inc (cpu, &brd->brd_disk->part0, ios[rw]); +part_stat_add (cpu, &brd->brd_disk->part0, sectors[rw], +bio_sectors (bio)); +part_stat_unlock (); +bio_for_each_segment (bvec, bio, i) {unsigned int len = bvec->bv_len; err = brd_do_bvec(brd, bvec->bv_page, len, --1.7.9.5
PATCH 1/1 brd: enable diskstats
--- drivers/block/brd.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/block/brd.c +7 -0
@@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)sector_t sector;int i;int err = -EIO ; +int cpu; sector = bio->bi_sector; if (sector + (bio->bi_size >> SECTOR_SHIFT) >
@@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)if (rw ==READA ) rw =READ ; + cpu =part_stat_lock (); +part_stat_inc (cpu, &brd->brd_disk->part0, ios[rw]); +part_stat_add (cpu, &brd->brd_disk->part0, sectors[rw], +bio_sectors (bio)); +part_stat_unlock (); +bio_for_each_segment (bvec, bio, i) {unsigned int len = bvec->bv_len; err = brd_do_bvec(brd, bvec->bv_page, len,
Signature · 1 line
1.7.9.5
Quoted 50 lines · Ryo Onodera
Hi,
I'm Ryo Onodera. I created this very tiny patch to enable
/proc/diskstatsfor/dev/ramX.I'm contacting Nick Piggin as the maintainer of ramdisk ram block.
This is my first patch to the Linux kernel. Sorry if this is not the expected way of submitting patches.
Regards
Ryo Onodera
Quoted 35 lines · Ryo Onodera
Signed-off-by Ryo Onodera <[email protected]>--- drivers/block/brd.c | 7 +++++++ 1 file changed, 7 insertions(+)drivers/block/brd.c +7
-1@@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)sector_t sector;int i;int err = -EIO ; +int cpu; sector = bio->bi_sector; if (sector + (bio->bi_size >> SECTOR_SHIFT) >@@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)if (rw ==READA ) rw =READ ; + cpu =part_stat_lock (); +part_stat_inc (cpu, &brd->brd_disk->part0, ios[rw]); +part_stat_add (cpu, &brd->brd_disk->part0, sectors[rw], +bio_sectors (bio)); +part_stat_unlock (); +bio_for_each_segment (bvec, bio, i) {unsigned int len = bvec->bv_len; err = brd_do_bvec(brd, bvec->bv_page, len, --1.7.9.5
Re: [PATCH] brd: enable diskstats
Hi,
I'm Ryo Onodera.
This is a resend for my earlier patch. Because I got no reply, I've added other people as CC, picking from the commit history of the relevant file.
I created this very tiny patch to enable /proc/diskstats for /dev/ramX.
I'm contacting Nick Piggin as the maintainer of ramdisk ram block. As mentioned above, I'm also contacting some related people to get more attention.
This is my first patch to the Linux kernel. Sorry if this is not the expected way of submitting patches.
Regards
Quoted 30 lines · Ryo Onodera
Signed-off-by Ryo Onodera <[email protected]>--- drivers/block/brd.c | 7 +++++++ 1 file changed, 7 insertions(+)drivers/block/brd.c +7
-0@@ -332,6 +332,7 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)sector_t sector;int i;int err = -EIO ; +int cpu; sector = bio->bi_sector; if (sector + (bio->bi_size >> SECTOR_SHIFT) >@@ -348,6 +349,12 @@ static void brd_make_request(struct request_queue *q, struct bio *bio)if (rw ==READA ) rw =READ ; + cpu =part_stat_lock (); +part_stat_inc (cpu, &brd->brd_disk->part0, ios[rw]); +part_stat_add (cpu, &brd->brd_disk->part0, sectors[rw], +bio_sectors (bio)); +part_stat_unlock (); +bio_for_each_segment (bvec, bio, i) {unsigned int len = bvec->bv_len; err = brd_do_bvec(brd, bvec->bv_page, len,