public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -mm 2/3] i/o controller infrastructure
@ 2008-08-03 22:14 Andrea Righi
  2008-08-04  0:48 ` Li Zefan
  0 siblings, 1 reply; 3+ messages in thread
From: Andrea Righi @ 2008-08-03 22:14 UTC (permalink / raw)
  To: Balbir Singh, Paul Menage
  Cc: akpm, Li Zefan, Carl Henrik Lunde, axboe, matt, roberto,
	Marco Innocenti, randy.dunlap, Divyesh Shah, subrata,
	eric.rannaud, containers, linux-kernel, Andrea Righi

This is the core io-throttle kernel infrastructure. It creates the basic
interfaces to cgroups and implements the I/O measurement and throttling
functions.

Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
---
 block/Makefile                |    2 ++
 include/linux/cgroup_subsys.h |    6 ++++++
 init/Kconfig                  |   10 ++++++++++
 3 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/block/Makefile b/block/Makefile
index 208000b..b3afc86 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -13,6 +13,8 @@ obj-$(CONFIG_IOSCHED_AS)	+= as-iosched.o
 obj-$(CONFIG_IOSCHED_DEADLINE)	+= deadline-iosched.o
 obj-$(CONFIG_IOSCHED_CFQ)	+= cfq-iosched.o
 
+obj-$(CONFIG_CGROUP_IO_THROTTLE)	+= blk-io-throttle.o
+
 obj-$(CONFIG_BLK_DEV_IO_TRACE)	+= blktrace.o
 obj-$(CONFIG_BLOCK_COMPAT)	+= compat_ioctl.o
 obj-$(CONFIG_BLK_DEV_INTEGRITY)	+= blk-integrity.o
diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h
index 23c02e2..198ee52 100644
--- a/include/linux/cgroup_subsys.h
+++ b/include/linux/cgroup_subsys.h
@@ -52,3 +52,9 @@ SUBSYS(memrlimit_cgroup)
 #endif
 
 /* */
+
+#ifdef CONFIG_CGROUP_IO_THROTTLE
+SUBSYS(iothrottle)
+#endif
+
+/* */
diff --git a/init/Kconfig b/init/Kconfig
index a451916..39691c2 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -306,6 +306,16 @@ config CGROUP_DEVICE
 	  Provides a cgroup implementing whitelists for devices which
 	  a process in the cgroup can mknod or open.
 
+config CGROUP_IO_THROTTLE
+	bool "Enable cgroup I/O throttling (EXPERIMENTAL)"
+	depends on CGROUPS && EXPERIMENTAL
+	help
+	  This allows to limit the maximum I/O bandwidth for specific
+	  cgroup(s).
+	  See Documentation/controllers/io-throttle.txt for more information.
+
+	  If unsure, say N.
+
 config CPUSETS
 	bool "Cpuset support"
 	depends on SMP && CGROUPS
-- 
1.5.4.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH -mm 2/3] i/o controller infrastructure
  2008-08-03 22:14 [PATCH -mm 2/3] i/o controller infrastructure Andrea Righi
@ 2008-08-04  0:48 ` Li Zefan
  2008-08-04  6:31   ` Andrea Righi
  0 siblings, 1 reply; 3+ messages in thread
From: Li Zefan @ 2008-08-04  0:48 UTC (permalink / raw)
  To: Andrea Righi
  Cc: Balbir Singh, Paul Menage, akpm, Carl Henrik Lunde, axboe, matt,
	roberto, Marco Innocenti, randy.dunlap, Divyesh Shah, subrata,
	eric.rannaud, containers, linux-kernel

Andrea Righi wrote:
> This is the core io-throttle kernel infrastructure. It creates the basic
> interfaces to cgroups and implements the I/O measurement and throttling
> functions.
> 
> Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
> ---
>  block/Makefile                |    2 ++
>  include/linux/cgroup_subsys.h |    6 ++++++
>  init/Kconfig                  |   10 ++++++++++
>  3 files changed, 18 insertions(+), 0 deletions(-)
> 

where is block/blk-io-throttle.c and include/linux/blk-io-throttle.h?


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH -mm 2/3] i/o controller infrastructure
  2008-08-04  0:48 ` Li Zefan
@ 2008-08-04  6:31   ` Andrea Righi
  0 siblings, 0 replies; 3+ messages in thread
From: Andrea Righi @ 2008-08-04  6:31 UTC (permalink / raw)
  To: Li Zefan
  Cc: Balbir Singh, Paul Menage, akpm, Carl Henrik Lunde, axboe, matt,
	roberto, Marco Innocenti, randy.dunlap, Divyesh Shah, subrata,
	eric.rannaud, containers, linux-kernel

Li Zefan wrote:
> Andrea Righi wrote:
>> This is the core io-throttle kernel infrastructure. It creates the basic
>> interfaces to cgroups and implements the I/O measurement and throttling
>> functions.
>>
>> Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
>> ---
>>  block/Makefile                |    2 ++
>>  include/linux/cgroup_subsys.h |    6 ++++++
>>  init/Kconfig                  |   10 ++++++++++
>>  3 files changed, 18 insertions(+), 0 deletions(-)
>>
> 
> where is block/blk-io-throttle.c and include/linux/blk-io-throttle.h?
> 

mmmh.. they should have been here, I mean, in patch 2/3 but it seems
they're gone in patch 1/3 (subject: i/o controller documentation):

Documentation of the block device I/O controller: description, usage,
advantages and design.

Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
---
 Documentation/controllers/io-throttle.txt |  312 +++++++++++++
 block/blk-io-throttle.c                   |  719 +++++++++++++++++++++++++++++
 include/linux/blk-io-throttle.h           |   41 ++
 3 files changed, 1072 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/controllers/io-throttle.txt
 create mode 100644 block/blk-io-throttle.c
 create mode 100644 include/linux/blk-io-throttle.h
...

I'm pretty sure I did a:
git-commit -s Documentation/controllers/io-throttle.txt
in my local branch (history confirms this), but, anyway, if you think
it's worth it I can fix it and post the patchset again, just let me
know.

Thanks for looking at it!
-Andrea

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-08-04  6:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-03 22:14 [PATCH -mm 2/3] i/o controller infrastructure Andrea Righi
2008-08-04  0:48 ` Li Zefan
2008-08-04  6:31   ` Andrea Righi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox