All of lore.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
       [not found] ` <1217801698-13438-3-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  0 siblings, 2 replies; 6+ 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] 6+ messages in thread

* [PATCH -mm 2/3] i/o controller infrastructure
@ 2008-08-03 22:14 Andrea Righi
  0 siblings, 0 replies; 6+ messages in thread
From: Andrea Righi @ 2008-08-03 22:14 UTC (permalink / raw)
  To: Balbir Singh, Paul Menage
  Cc: axboe-tSWWG44O7X1aa/9Udqfwiw, randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA,
	Marco Innocenti,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Carl Henrik Lunde,
	eric.rannaud-Re5JQEeQqe8AvxtiuMwx3w, Divyesh Shah,
	matt-cT2on/YLNlBWk0Htik3J/w,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b,
	subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, roberto-5KDOxZqKugI,
	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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 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] 6+ messages in thread

* Re: [PATCH -mm 2/3] i/o controller infrastructure
       [not found] ` <1217801698-13438-3-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2008-08-04  0:48   ` Li Zefan
  0 siblings, 0 replies; 6+ messages in thread
From: Li Zefan @ 2008-08-04  0:48 UTC (permalink / raw)
  To: Andrea Righi
  Cc: axboe-tSWWG44O7X1aa/9Udqfwiw, randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA,
	Marco Innocenti, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	roberto-5KDOxZqKugI, Carl Henrik Lunde,
	eric.rannaud-Re5JQEeQqe8AvxtiuMwx3w, Divyesh Shah,
	matt-cT2on/YLNlBWk0Htik3J/w, Paul Menage,
	subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b, Balbir Singh

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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
>  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] 6+ 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
       [not found]   ` <489651E6.90001-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
       [not found] ` <1217801698-13438-3-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
  1 sibling, 2 replies; 6+ 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] 6+ messages in thread

* Re: [PATCH -mm 2/3] i/o controller infrastructure
       [not found]   ` <489651E6.90001-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
@ 2008-08-04  6:31     ` Andrea Righi
  0 siblings, 0 replies; 6+ messages in thread
From: Andrea Righi @ 2008-08-04  6:31 UTC (permalink / raw)
  To: Li Zefan
  Cc: axboe-tSWWG44O7X1aa/9Udqfwiw, randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA,
	Marco Innocenti, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	roberto-5KDOxZqKugI, Carl Henrik Lunde,
	eric.rannaud-Re5JQEeQqe8AvxtiuMwx3w, Divyesh Shah,
	matt-cT2on/YLNlBWk0Htik3J/w, Paul Menage,
	subrata-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b, Balbir Singh

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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>> ---
>>  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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 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] 6+ 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
       [not found]   ` <489651E6.90001-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
  1 sibling, 0 replies; 6+ 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] 6+ messages in thread

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

Thread overview: 6+ 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
     [not found]   ` <489651E6.90001-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2008-08-04  6:31     ` Andrea Righi
     [not found] ` <1217801698-13438-3-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2008-08-04  0:48   ` Li Zefan
  -- strict thread matches above, loose matches on Subject: below --
2008-08-03 22:14 Andrea Righi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.