Add blkio controller interface "throttle.buffered_write_bps". Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> --- 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 { -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>