lkml.org 
[lkml]   [2008]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Too many I/O controller patches
    Paul Menage wrote:
    > On Mon, Aug 4, 2008 at 1:44 PM, Andrea Righi <righi.andrea@gmail.com> wrote:
    >> A safer approach IMHO is to force the tasks to wait synchronously on
    >> each operation that directly or indirectly generates i/o.
    >>
    >> In particular the solution used by the io-throttle controller to limit
    >> the dirty-ratio in memory is to impose a sleep via
    >> schedule_timeout_killable() in balance_dirty_pages() when a generic
    >> process exceeds the limits defined for the belonging cgroup.
    >>
    >> Limiting read operations is a lot more easy, because they're always
    >> synchronized with i/o requests.
    >
    > I think that you're conflating two issues:
    >
    > - controlling how much dirty memory a cgroup can have at any given
    > time (since dirty memory is much harder/slower to reclaim than clean
    > memory)
    >
    > - controlling how much effect a cgroup can have on a given I/O device.
    >
    > By controlling the rate at which a task can generate dirty pages,
    > you're not really limiting either of these. I think you'd have to set
    > your I/O limits artificially low to prevent a case of a process
    > writing a large data file and then doing fsync() on it, which would
    > then hit the disk with the entire file at once, and blow away any QoS
    > guarantees for other groups.
    >
    > As Dave suggested, I think it would make more sense to have your
    > page-dirtying throttle points hook into the memory controller instead,
    > and allow the memory controller to track/limit dirty pages for a
    > cgroup, and potentially do throttling as part of that.

    Yes, that would be nicer. The IO controller should control both read and write
    and dirty pages is mostly related to writes.

    --
    Warm Regards,
    Balbir Singh
    Linux Technology Center
    IBM, ISTL


    \
     
     \ /
      Last update: 2008-08-05 08:09    [W:0.030 / U:0.496 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site