[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6f89d141-fc55-a41e-4783-649fbd7e34ee@kernel.dk>
Date: Tue, 11 May 2021 13:39:07 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Tejun Heo <tj@...nel.org>
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
Pavel Begunkov <asml.silence@...il.com>
Subject: Re: [PATCH for-5.14/block] blkcg: drop CLONE_IO check in
blkcg_can_attach()
On 5/11/21 12:58 PM, Tejun Heo wrote:
> blkcg has always rejected to attach if any of the member tasks has shared
> io_context. The rationale was that io_contexts can be shared across
> different cgroups making it impossible to define what the appropriate
> control behavior should be. However, this check causes more problems than it
> solves:
>
> * The check prevents controller enable and migrations but not CLONE_IO
> itself, which can lead to surprises as the outcome changes depending on
> the order of operations.
>
> * Sharing within a cgroup is fine but the check can't distinguish that. This
> leads to unnecessary conflicts with the recent CLONE_IO usage in io_uring.
>
> io_context sharing doesn't make any difference for rq_qos based controllers
> and the way it's used is safe as long as tasks aren't migrated dynamically
> which is the vast majority of use cases. While we can try to make the check
> more precise to avoid false positives, the added complexity doesn't seem
> worthwhile. Let's just drop blkcg_can_attach().
Applied, thanks.
--
Jens Axboe
Powered by blists - more mailing lists