public inbox for cgroups@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Yu Kuai <yukuai3@huawei.com>
Cc: axboe@kernel.dk, cgroups@vger.kernel.org,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	yi.zhang@huawei.com
Subject: Re: [PATCH -next] blk-throttle: enable io throttle for root in cgroup v2
Date: Wed, 26 Jan 2022 07:29:24 -1000	[thread overview]
Message-ID: <YfGE9L4i7DtNTo08@slm.duckdns.org> (raw)
In-Reply-To: <20220114093000.3323470-1-yukuai3@huawei.com>

On Fri, Jan 14, 2022 at 05:30:00PM +0800, Yu Kuai wrote:
> RFC patch: https://lkml.org/lkml/2021/9/9/1432
> 
> There is a proformance problem in our environment:
> 
> A host can provide a remote device to difierent client. If one client is
> under high io pressure, other clients might be affected.
> 
> Limit the overall iops/bps(io.max) from the client can fix the problem,
> however, config files do not exist in root cgroup currently, which makes
> it impossible.
> 
> This patch enables io throttle for root cgroup:
>  - enable "io.max" and "io.low" in root
>  - don't skip root group in tg_iops_limit() and tg_bps_limit()
>  - don't skip root group in tg_conf_updated()
> 
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

Yeah, I'm kinda split. It's a simple change with some utility, but it's also
something which doesn't fit with the cgroup feature or interface. It's
regulating the whole system behavior. There's no reason for any of the
control "groups" to be involved here and semantically the interface would
fit a lot better under /proc, /sys or some other system-wide location. Here
are some points to consider:

* As a comparison, it'd be rather absurd to enable memory.max at system root
  in terms of interface and most likely break whole lot of mm operations.

* Resource control knobs of a cgroup belong to the parent as the parent is
  responsible for divvying up the available resources to its children. Here
  too, the knobs are making sense because there's a higher level parent
  (whether that's hypervisor or some network server).

Is your use case VMs or network attached storage?

Thanks.

-- 
tejun

  reply	other threads:[~2022-01-26 17:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-14  9:30 [PATCH -next] blk-throttle: enable io throttle for root in cgroup v2 Yu Kuai
2022-01-26 17:29 ` Tejun Heo [this message]
     [not found]   ` <YfGE9L4i7DtNTo08-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org>
2022-01-27  2:36     ` yukuai (C)
     [not found]       ` <235b0757-d322-2b6e-3ab6-ecc8c82f8f1e-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2022-02-01 17:20         ` Tejun Heo
2022-02-08  1:38           ` yukuai (C)
     [not found]             ` <32b6949d-60b1-82ce-ae44-1cf089a78276-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2022-02-08 18:49               ` Tejun Heo
2022-02-09  1:22                 ` yukuai (C)
     [not found]                   ` <34ae7d06-4f6b-73f7-7299-65cb8859aad8-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2023-02-06 15:10                     ` Michal Koutný
     [not found] ` <20220114093000.3323470-1-yukuai3-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2022-02-09  3:14   ` Ming Lei
2023-02-05 15:55     ` Ofir Gal
2023-02-06 15:00       ` Michal Koutný

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YfGE9L4i7DtNTo08@slm.duckdns.org \
    --to=tj@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=cgroups@vger.kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=yi.zhang@huawei.com \
    --cc=yukuai3@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox