[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170913214226.GD378890@devbig577.frc2.facebook.com>
Date: Wed, 13 Sep 2017 14:42:27 -0700
From: Tejun Heo <tj@...nel.org>
To: Shaohua Li <shli@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-block@...r.kernel.org,
lizefan@...wei.com, tglx@...utronix.de, kernel-team@...com,
axboe@...nel.dk, Shaohua Li <shli@...com>
Subject: Re: [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@...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@...com>
Acked-by: Tejun Heo <tj@...nel.org>
Thanks.
--
tejun
Powered by blists - more mailing lists