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