Messages in this thread | | | From | Andrea Righi <> | Subject | Re: [PATCH] cgroup: limit block I/O bandwidth | Date | Wed, 23 Jan 2008 21:55:32 +0100 (MET) |
| |
Balbir Singh wrote: > * Andrea Righi <righiandr@users.sourceforge.net> [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
| |