From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Kenny Ho <y2kenny-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: "Kenny Ho" <Kenny.Ho-5C7GfCeVMHo@public.gmane.org>,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dri-devel
<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
"amd-gfx list"
<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
"Alex Deucher" <alexander.deucher-5C7GfCeVMHo@public.gmane.org>,
"Christian König" <christian.koenig-5C7GfCeVMHo@public.gmane.org>,
"Kuehling, Felix" <felix.kuehling-5C7GfCeVMHo@public.gmane.org>,
"Greathouse,
Joseph" <joseph.greathouse-5C7GfCeVMHo@public.gmane.org>,
jsparks-WVYJKLFxKCc@public.gmane.org,
lkaplan-WVYJKLFxKCc@public.gmane.org
Subject: Re: [PATCH v2 00/11] new cgroup controller for gpu/drm subsystem
Date: Mon, 13 Apr 2020 16:54:36 -0400 [thread overview]
Message-ID: <20200413205436.GM60335@mtj.duckdns.org> (raw)
In-Reply-To: <CAOWid-dM=38faGOF9=-Pq=sxssaL+gm2umctyGVQWVx2etShyQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hello,
On Mon, Apr 13, 2020 at 04:17:14PM -0400, Kenny Ho wrote:
> Perhaps we can even narrow things down to just
> gpu.weight/gpu.compute.weight as a start? In this aspect, is the key
That sounds great to me.
> objection to the current implementation of gpu.compute.weight the
> work-conserving bit? This work-conserving requirement is probably
> what I have missed for the last two years (and hence going in circle.)
>
> If this is the case, can you clarify/confirm the followings?
>
> 1) Is resource scheduling goal of cgroup purely for the purpose of
> throughput? (at the expense of other scheduling goals such as
> latency.)
It's not; however, work-conserving mechanisms are the easiest to use (cuz you
don't lose anything) while usually challenging to implement. It tends to
clarify how control mechanisms should be structured - even what resources are.
> 2) If 1) is true, under what circumstances will the "Allocations"
> resource distribution model (as defined in the cgroup-v2) be
> acceptable?
Allocations definitely are acceptable and it's not a pre-requisite to have
work-conserving control first either. Here, given the lack of consensus in
terms of what even constitute resource units, I don't think it'd be a good
idea to commit to the proposed interface and believe it'd be beneficial to
work on interface-wise simpler work conserving controls.
> 3) If 1) is true, are things like cpuset from cgroup v1 no longer
> acceptable going forward?
Again, they're acceptable.
> To be clear, while some have framed this (time sharing vs spatial
> sharing) as a partisan issue, it is in fact a technical one. I have
> implemented the gpu cgroup support this way because we have a class of
> users that value low latency/low jitter/predictability/synchronicity.
> For example, they would like 4 tasks to share a GPU and they would
> like the tasks to start and finish at the same time.
>
> What is the rationale behind picking the Weight model over Allocations
> as the first acceptable implementation? Can't we have both
> work-conserving and non-work-conserving ways of distributing GPU
> resources? If we can, why not allow non-work-conserving
> implementation first, especially when we have users asking for such
> functionality?
I hope the rationales are clear now. What I'm objecting is inclusion of
premature interface, which is a lot easier and more tempting to do for
hardware-specific limits and the proposals up until now have been showing
ample signs of that. I don't think my position has changed much since the
beginning - do the difficult-to-implement but easy-to-use weights first and
then you and everyone would have a better idea of what hard-limit or
allocation interfaces and mechanisms should look like, or even whether they're
needed.
Thanks.
--
tejun
next prev parent reply other threads:[~2020-04-13 20:54 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <lkaplan@cray.com;daniel@ffwll.ch;nirmoy.das@amd.com;damon.mcdougall@amd.com;juan.zuniga-anaya@amd.com;hannes@cmpxchg.org>
[not found] ` <lkaplan-WVYJKLFxKCc@public.gmane.org;daniel-/w4YWyX8dFk@public.gmane.org;nirmoy.das-5C7GfCeVMHo@public.gmane.org;damon.mcdougall-5C7GfCeVMHo@public.gmane.org;juan.zuniga-anaya-5C7GfCeVMHo@public.gmane.org;hannes-druUgvl0LCNAfugRpC6u6w@public.gm>
2020-02-26 19:01 ` [PATCH v2 00/11] new cgroup controller for gpu/drm subsystem Kenny Ho
[not found] ` <20200226190152.16131-1-Kenny.Ho-5C7GfCeVMHo@public.gmane.org>
2020-02-26 19:01 ` [PATCH v2 01/11] cgroup: Introduce cgroup for drm subsystem Kenny Ho
2020-02-26 19:01 ` [PATCH v2 02/11] drm, cgroup: Bind drm and cgroup subsystem Kenny Ho
2020-02-26 19:01 ` [PATCH v2 03/11] drm, cgroup: Initialize drmcg properties Kenny Ho
2020-02-26 19:01 ` [PATCH v2 04/11] drm, cgroup: Add total GEM buffer allocation stats Kenny Ho
2020-02-26 19:01 ` [PATCH v2 05/11] drm, cgroup: Add peak " Kenny Ho
2020-02-26 19:01 ` [PATCH v2 06/11] drm, cgroup: Add GEM buffer allocation count stats Kenny Ho
2020-02-26 19:01 ` [PATCH v2 07/11] drm, cgroup: Add total GEM buffer allocation limit Kenny Ho
2020-02-26 19:01 ` [PATCH v2 08/11] drm, cgroup: Add peak " Kenny Ho
2020-02-26 19:01 ` [PATCH v2 09/11] drm, cgroup: Add compute as gpu cgroup resource Kenny Ho
2020-02-26 19:01 ` [PATCH v2 10/11] drm, cgroup: add update trigger after limit change Kenny Ho
2020-02-26 19:01 ` [PATCH v2 11/11] drm/amdgpu: Integrate with DRM cgroup Kenny Ho
2020-03-17 16:03 ` [PATCH v2 00/11] new cgroup controller for gpu/drm subsystem Kenny Ho
[not found] ` <CAOWid-eyMGZfOyfEQikwCmPnKxx6MnTm17pBvPeNpgKWi0xN-w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-03-24 18:46 ` Tejun Heo
[not found] ` <20200324184633.GH162390-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2020-03-24 18:49 ` Kenny Ho
[not found] ` <CAOWid-cS-5YkFBLACotkZZCH0RSjHH94_r3VFH8vEPOubzSpPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-13 19:11 ` Tejun Heo
[not found] ` <20200413191136.GI60335-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2020-04-13 20:12 ` Ho, Kenny
2020-04-13 20:17 ` Kenny Ho
[not found] ` <CAOWid-dM=38faGOF9=-Pq=sxssaL+gm2umctyGVQWVx2etShyQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-13 20:54 ` Tejun Heo [this message]
[not found] ` <20200413205436.GM60335-qYNAdHglDFBN0TnZuCh8vA@public.gmane.org>
2020-04-13 21:40 ` Kenny Ho
[not found] ` <CAOWid-fvmxSXtGUtQSZ4Ow1fK+wR8hbnUe5PcsM56EZMOMwb6g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-13 21:53 ` Tejun Heo
2020-04-14 12:20 ` Daniel Vetter
[not found] ` <20200414122015.GR3456981-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2020-04-14 12:47 ` Kenny Ho
[not found] ` <CAOWid-f-XWyg0o3znH28xYndZ0OMzWfv3OOuWw08iJDKjrqFGA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-14 12:52 ` Daniel Vetter
[not found] ` <CAKMK7uEs5QvUrxKcTFksO30D+x=XJnV+_TA-ebawcihtLqDG0Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-14 13:14 ` Kenny Ho
[not found] ` <CAOWid-fwEOk+4CvUAumo=byWpq4vVUoCiwW1N6F-0aEd6G7d4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-14 13:26 ` Daniel Vetter
[not found] ` <CAKMK7uHwX9NbGb1ptnP=CAwxDayfM_z9kvFMMb=YiH+ynjNqKQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-14 13:50 ` Kenny Ho
2020-04-14 14:04 ` Daniel Vetter
[not found] ` <CAKMK7uGWxE-gDa25mi4EtLqPKZZfacm0VhTem=StHAQABRAkUQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-14 14:29 ` Kenny Ho
[not found] ` <CAOWid-eaASFFdA5zLxaLO72OGsUVz_BgM-sGP2OQykXCzizmnw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-14 15:01 ` Daniel Vetter
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=20200413205436.GM60335@mtj.duckdns.org \
--to=tj-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=Kenny.Ho-5C7GfCeVMHo@public.gmane.org \
--cc=alexander.deucher-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=christian.koenig-5C7GfCeVMHo@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=felix.kuehling-5C7GfCeVMHo@public.gmane.org \
--cc=joseph.greathouse-5C7GfCeVMHo@public.gmane.org \
--cc=jsparks-WVYJKLFxKCc@public.gmane.org \
--cc=lkaplan-WVYJKLFxKCc@public.gmane.org \
--cc=y2kenny-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/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