lkml.org 
[lkml]   [2012]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 5/6] blk-cgroup: buffered write IO controller - bandwidth limit interface
Add blkio controller interface "throttle.buffered_write_bps".

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
block/blk-cgroup.c | 21 +++++++++++++++++++++
include/linux/blk-cgroup.h | 1 +
2 files changed, 22 insertions(+)

--- linux-next.orig/block/blk-cgroup.c 2012-03-28 15:36:16.402093131 +0800
+++ linux-next/block/blk-cgroup.c 2012-03-28 15:36:44.974092545 +0800
@@ -1355,6 +1355,12 @@ static u64 blkiocg_file_read_u64 (struct
return (u64)blkcg->weight;
}
break;
+ case BLKIO_POLICY_THROTL:
+ switch (name) {
+ case BLKIO_THROTL_buffered_write_bps:
+ return (u64)blkcg->buffered_write_bps;
+ }
+ break;
default:
BUG();
}
@@ -1377,6 +1383,13 @@ blkiocg_file_write_u64(struct cgroup *cg
return blkio_weight_write(blkcg, val);
}
break;
+ case BLKIO_POLICY_THROTL:
+ switch (name) {
+ case BLKIO_THROTL_buffered_write_bps:
+ blkcg->buffered_write_bps = val;
+ return 0;
+ }
+ break;
default:
BUG();
}
@@ -1500,6 +1513,14 @@ struct cftype blkio_files[] = {
BLKIO_THROTL_io_serviced),
.read_map = blkiocg_file_read_map,
},
+ {
+ .name = "throttle.buffered_write_bps",
+ .private = BLKIOFILE_PRIVATE(BLKIO_POLICY_THROTL,
+ BLKIO_THROTL_buffered_write_bps),
+ .read_u64 = blkiocg_file_read_u64,
+ .write_u64 = blkiocg_file_write_u64,
+ .max_write_len = 256,
+ },
#endif /* CONFIG_BLK_DEV_THROTTLING */

#ifdef CONFIG_DEBUG_BLK_CGROUP
--- linux-next.orig/include/linux/blk-cgroup.h 2012-03-28 15:36:16.426093131 +0800
+++ linux-next/include/linux/blk-cgroup.h 2012-03-28 15:36:44.974092545 +0800
@@ -113,6 +113,7 @@ enum blkcg_file_name_throtl {
BLKIO_THROTL_write_iops_device,
BLKIO_THROTL_io_service_bytes,
BLKIO_THROTL_io_serviced,
+ BLKIO_THROTL_buffered_write_bps,
};

struct blkio_cgroup {



\
 
 \ /
  Last update: 2012-03-29 00:41    [W:0.135 / U:0.428 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site