From: Daniel Jordan <daniel.m.jordan-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
To: Hao Lee <haolee.swjtu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Pavan Kondeti <pkondeti-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Wei Wang <wvw-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Cc: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: [Question] Do we need remote charging for cpu and cpuacct subsys?
Date: Fri, 2 Jul 2021 16:19:20 -0400 [thread overview]
Message-ID: <20210702201920.i4pacu2x76e6crbf@oracle.com> (raw)
In-Reply-To: <20210702200742.wuhdg4dhpolher3t-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
+ Android folks
On Fri, Jul 02, 2021 at 04:07:42PM -0400, Daniel Jordan wrote:
> Hello,
>
> On Fri, Jul 02, 2021 at 08:26:27AM -0000, Hao Lee wrote:
> > memcg currently has a remote charging mechanism that can charge usage to other
> > memcg instead of the one the task belongs to.
> >
> > In our environment, we need to account the cpu usage consumed by some kworkers
> > to a specific cgroup. Thus, we want to introduce a remote-charging mechanism to
> > cpu and cpuacct subsys in our kernel.
>
> I also want to see this upstream, and am actually working on it right
> now, have been for some time.
>
> So far, this is needed to properly account multithreaded padata jobs,
> memory reclaim, and net rx. Android folks have raised this issue in the
> past too, though I'm not aware of the specific kthreads that are giving
> them problems.
Pavan, Wei, do you have any details about this?
> So naturally, I'm curious about your use case and how it may be
> different from these others. What kworkers would you like to account?
>
> > I want to know if the community has a plan to do this?
> > What will the community approach look like?
>
> There has been discussion about this here,
>
> https://lore.kernel.org/lkml/20200219214112.4kt573kyzbvmbvn3-S51bK0XF4qpuJJETbFA3a0B3C2bhBk7L0E9HWUfgJXw@public.gmane.org/
>
> more recently here,
>
> https://lore.kernel.org/lkml/YGxjwKbec68sCcqo-NiLfg/pYEd1N0TnZuCh8vA@public.gmane.org/
>
> and we may talk about it at LPC:
>
> https://www.linuxplumbersconf.org/event/11/page/104-accepted-microconferences#cont-perform
>
> > I think we need to move the active_memcg to a separated active_cgroup struct,
> > and the latter will contain active_memcg, active_tg, and active_cpuacct.
>
> I'm not seeing how that could work for cases that don't know the cgroup
> when the remote charging period begins. The only one I'm aware of
> that's like that is net rx, where the work to process packets has to
> start before their ultimate destination, and therefore cgroup, is known.
>
> thanks,
> Daniel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Jordan <daniel.m.jordan@oracle.com>
To: Hao Lee <haolee.swjtu@gmail.com>,
Pavan Kondeti <pkondeti@codeaurora.org>,
Wei Wang <wvw@google.com>
Cc: linux-mm@kvack.org, cgroups@vger.kernel.org,
linux-kernel@vger.kernel.org, tj@kernel.org
Subject: Re: [Question] Do we need remote charging for cpu and cpuacct subsys?
Date: Fri, 2 Jul 2021 16:19:20 -0400 [thread overview]
Message-ID: <20210702201920.i4pacu2x76e6crbf@oracle.com> (raw)
In-Reply-To: <20210702200742.wuhdg4dhpolher3t@oracle.com>
+ Android folks
On Fri, Jul 02, 2021 at 04:07:42PM -0400, Daniel Jordan wrote:
> Hello,
>
> On Fri, Jul 02, 2021 at 08:26:27AM -0000, Hao Lee wrote:
> > memcg currently has a remote charging mechanism that can charge usage to other
> > memcg instead of the one the task belongs to.
> >
> > In our environment, we need to account the cpu usage consumed by some kworkers
> > to a specific cgroup. Thus, we want to introduce a remote-charging mechanism to
> > cpu and cpuacct subsys in our kernel.
>
> I also want to see this upstream, and am actually working on it right
> now, have been for some time.
>
> So far, this is needed to properly account multithreaded padata jobs,
> memory reclaim, and net rx. Android folks have raised this issue in the
> past too, though I'm not aware of the specific kthreads that are giving
> them problems.
Pavan, Wei, do you have any details about this?
> So naturally, I'm curious about your use case and how it may be
> different from these others. What kworkers would you like to account?
>
> > I want to know if the community has a plan to do this?
> > What will the community approach look like?
>
> There has been discussion about this here,
>
> https://lore.kernel.org/lkml/20200219214112.4kt573kyzbvmbvn3@ca-dmjordan1.us.oracle.com/
>
> more recently here,
>
> https://lore.kernel.org/lkml/YGxjwKbec68sCcqo@slm.duckdns.org/
>
> and we may talk about it at LPC:
>
> https://www.linuxplumbersconf.org/event/11/page/104-accepted-microconferences#cont-perform
>
> > I think we need to move the active_memcg to a separated active_cgroup struct,
> > and the latter will contain active_memcg, active_tg, and active_cpuacct.
>
> I'm not seeing how that could work for cases that don't know the cgroup
> when the remote charging period begins. The only one I'm aware of
> that's like that is net rx, where the work to process packets has to
> start before their ultimate destination, and therefore cgroup, is known.
>
> thanks,
> Daniel
next prev parent reply other threads:[~2021-07-02 20:19 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-02 8:26 [Question] Do we need remote charging for cpu and cpuacct subsys? Hao Lee
2021-07-02 8:26 ` Hao Lee
2021-07-02 20:07 ` Daniel Jordan
[not found] ` <20210702200742.wuhdg4dhpolher3t-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2021-07-02 20:19 ` Daniel Jordan [this message]
2021-07-02 20:19 ` Daniel Jordan
2021-07-03 16:18 ` Hao Lee
2021-07-03 16:18 ` Hao Lee
[not found] ` <CA+PpKPmN2E5zCjP3mkurNA2GANtLCUmoPG+_4mUq3E8cxOhuhQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2021-07-09 15:17 ` Daniel Jordan
2021-07-09 15:17 ` Daniel Jordan
[not found] ` <60decdb6.1c69fb81.6130e.7642-ATjtLOhZ0NVl57MIdRCFDg@public.gmane.org>
2021-07-02 22:26 ` Tejun Heo
2021-07-02 22:26 ` Tejun Heo
2021-07-03 16:20 ` Hao Lee
2021-07-03 16:20 ` Hao Lee
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=20210702201920.i4pacu2x76e6crbf@oracle.com \
--to=daniel.m.jordan-qhclzuegtsvqt0dzr+alfa@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=haolee.swjtu-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=pkondeti-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=wvw-hpIqsD4AKlfQT0dZR+AlfA@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.