Re: [PATCH 2/3] i/o bandwidth controller infrastructure

From: Andrea Righi
Date: Mon Jun 30 2008 - 12:11:47 EST


Andrea Righi wrote:
Andrew Morton wrote:
On Fri, 27 Jun 2008 00:36:46 +0200
Andrea Righi <righi.andrea@xxxxxxxxx> wrote:

Does all this code treat /dev/sda1 as a separate device from /dev/sda2?
If so, that would be broken.
Yes, all the partitions are treated as separate devices with
(potentially) different limiting rules, but I don't understand why it
would be broken... dev_t has both minor and major numbers, so it would
be possible to select single partitions as well.
Well it's functionally broken, isn't it? A physical disk has a fixed
IO bandwidth and when the administrator wants to partition that
bandwidth amongst control groups he will need to consider the entire
device when doing so?

I mean, the whole point of this feature and of control groups as a
whole is isolation. But /dev/sda1 and /dev/sda2 are very much _not_
isolated. Whereas /dev/sda and /dev/sdb are (to a large degree)
isolated.

well... yes, sounds reasonable. In this case we could just ignore the
minor number and consider only major number as the key to identify a
specific block device (both for userspace<->kernel interface and when
accounting/throttling i/o requests).

oops.. no, this is obviously wrong. So, I dunno if it would be better to
add complexity in cgroup_io_throttle() to identify the disk a partition
belongs or to just use the struct block_device as key, instead of dev_t,
as you intially suggested. I'll investigate.

-Andrea
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/