Re: [PATCH] cgroup: limit block I/O bandwidth

From: Andrea Righi
Date: Wed Jan 23 2008 - 15:55:59 EST


Balbir Singh wrote:
> * Andrea Righi <righiandr@xxxxxxxxxxxxxxxxxxxxx> [2008-01-23 16:23:59]:
>
>> Probably tracking who dirtied the pages would be the best approach, but
>> we want also to reduce the overhead of this tracking. So, we should find
>> a smart way to track which cgroup dirtied the pages and then only when
>> the i/o scheduler dispatches the write requests of those pages, account
>> the i/o operations to the opportune cgroup. In this way throttling could
>> be done probably in __set_page_dirty() as well.
>>
>
> I think the OpenVZ controller works that way.

Well... looking at the code it seems that OpenVZ doesn't use this
strategy, instead performs UBC-based I/O accounting looking at the
__set_page_dirty*() for writes and submit_bio() for reads. Then,
independently from accounting data, it uses per-UBC i/o priority model
that is mapped directly on the CFQ i/o priority model.

-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/