lkml.org 
[lkml]   [2017]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH V2 4/4] block/loop: make loop cgroup aware
    On Wed, Sep 13, 2017 at 02:01:29PM -0700, Shaohua Li wrote:
    > From: Shaohua Li <shli@fb.com>
    >
    > loop block device handles IO in a separate thread. The actual IO
    > dispatched isn't cloned from the IO loop device received, so the
    > dispatched IO loses the cgroup context.
    >
    > I'm ignoring buffer IO case now, which is quite complicated. Making the
    > loop thread aware cgroup context doesn't really help. The loop device
    > only writes to a single file. In current writeback cgroup
    > implementation, the file can only belong to one cgroup.
    >
    > For direct IO case, we could workaround the issue in theory. For
    > example, say we assign cgroup1 5M/s BW for loop device and cgroup2
    > 10M/s. We can create a special cgroup for loop thread and assign at
    > least 15M/s for the underlayer disk. In this way, we correctly throttle
    > the two cgroups. But this is tricky to setup.
    >
    > This patch tries to address the issue. We record bio's css in loop
    > command. When loop thread is handling the command, we then use the API
    > provided in patch 1 to set the css for current task. The bio layer will
    > use the css for new IO (from patch 3).
    >
    > Signed-off-by: Shaohua Li <shli@fb.com>

    Acked-by: Tejun Heo <tj@kernel.org>

    Thanks.

    --
    tejun

    \
     
     \ /
      Last update: 2017-09-13 23:43    [W:2.682 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site