* Re: [PATCH 0/3 RESEND] Per memcg lru_gen node stat
[not found] <20231009025726.5982-1-link@vivo.com>
@ 2023-10-18 16:33 ` Yu Zhao
2023-10-18 19:59 ` T.J. Mercier
0 siblings, 1 reply; 4+ messages in thread
From: Yu Zhao @ 2023-10-18 16:33 UTC (permalink / raw)
To: Huan Yang, T.J. Mercier
Cc: Jonathan Corbet, Andrew Morton, Johannes Weiner, Michal Hocko,
Roman Gushchin, Shakeel Butt, Muchun Song, Peter Xu,
David Hildenbrand, T.J. Alumbaugh, Axel Rasmussen, Ryan Roberts,
Kefeng Wang, Suren Baghdasaryan, open list:DOCUMENTATION,
open list, open list:MEMORY MANAGEMENT,
open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG),
opensource.kernel
On Sun, Oct 8, 2023 at 8:57 PM Huan Yang <link@vivo.com> wrote:
>
> On original global lru_gen node in debugfs, it can all show each memcg's
> lru gen info in "lru_gen" or "lru_gen_full", and can type cmd into lru_gen.
> But which show info contains all memcg's info, and cmd need to
> know memcg's id.
>
> This patchset add lru_gen node in per memcg, with this node, we can
> get lru_gen info in each memcg.
> Also, we can type cmd to control each memcg's lru_gen seq, but, this node
> don't support multi cmd, single memcg just process one cmd once time.
Adding TJ from the Android team. (The other TJ you CC'ed is from the
ChromeOS team.)
This series introduced a new ABI, which has to be maintained forever.
How exactly would it be used in *production*?
Android doesn't officially support memcgs. So I want to understand the
real-world use cases first.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/3 RESEND] Per memcg lru_gen node stat
2023-10-18 16:33 ` [PATCH 0/3 RESEND] Per memcg lru_gen node stat Yu Zhao
@ 2023-10-18 19:59 ` T.J. Mercier
2023-10-19 2:32 ` Huan Yang
0 siblings, 1 reply; 4+ messages in thread
From: T.J. Mercier @ 2023-10-18 19:59 UTC (permalink / raw)
To: Yu Zhao
Cc: Huan Yang, Jonathan Corbet, Andrew Morton, Johannes Weiner,
Michal Hocko, Roman Gushchin, Shakeel Butt, Muchun Song,
Peter Xu, David Hildenbrand, T.J. Alumbaugh, Axel Rasmussen,
Ryan Roberts, Kefeng Wang, Suren Baghdasaryan,
open list:DOCUMENTATION, open list, open list:MEMORY MANAGEMENT,
open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG),
opensource.kernel
On Wed, Oct 18, 2023 at 9:34 AM Yu Zhao <yuzhao@google.com> wrote:
>
> On Sun, Oct 8, 2023 at 8:57 PM Huan Yang <link@vivo.com> wrote:
> >
> > On original global lru_gen node in debugfs, it can all show each memcg's
> > lru gen info in "lru_gen" or "lru_gen_full", and can type cmd into lru_gen.
> > But which show info contains all memcg's info, and cmd need to
> > know memcg's id.
> >
> > This patchset add lru_gen node in per memcg, with this node, we can
> > get lru_gen info in each memcg.
> > Also, we can type cmd to control each memcg's lru_gen seq, but, this node
> > don't support multi cmd, single memcg just process one cmd once time.
>
> Adding TJ from the Android team. (The other TJ you CC'ed is from the
> ChromeOS team.)
>
> This series introduced a new ABI, which has to be maintained forever.
> How exactly would it be used in *production*?
>
> Android doesn't officially support memcgs. So I want to understand the
> real-world use cases first.
Not sure how Android came up but I'm happy to chat. We want to turn on
memcg v2 for Android but I'm currently working through perf impacts
before that happens. Android can't use debugfs in production, but I
think we'd prefer to use memory.reclaim for eviction anyway because it
respects memcg limits and reclaims from slab.
So maybe it's possible to add just aging functionality specific to
MGLRU? It'd be nice to know how you're going to use the aging, or why
you want this version of eviction instead of what memory.reclaim does.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/3 RESEND] Per memcg lru_gen node stat
2023-10-18 19:59 ` T.J. Mercier
@ 2023-10-19 2:32 ` Huan Yang
2023-10-19 16:01 ` T.J. Mercier
0 siblings, 1 reply; 4+ messages in thread
From: Huan Yang @ 2023-10-19 2:32 UTC (permalink / raw)
To: T.J. Mercier, Yu Zhao
Cc: Jonathan Corbet, Andrew Morton, Johannes Weiner, Michal Hocko,
Roman Gushchin, Shakeel Butt, Muchun Song, Peter Xu,
David Hildenbrand, T.J. Alumbaugh, Axel Rasmussen, Ryan Roberts,
Kefeng Wang, Suren Baghdasaryan, open list:DOCUMENTATION,
open list, open list:MEMORY MANAGEMENT,
open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG),
opensource.kernel
在 2023/10/19 3:59, T.J. Mercier 写道:
> [你通常不会收到来自 tjmercier@google.com 的电子邮件。请访问 https://aka.ms/LearnAboutSenderIdentification,以了解这一点为什么很重要]
>
> On Wed, Oct 18, 2023 at 9:34 AM Yu Zhao <yuzhao@google.com> wrote:
>> On Sun, Oct 8, 2023 at 8:57 PM Huan Yang <link@vivo.com> wrote:
>>> On original global lru_gen node in debugfs, it can all show each memcg's
>>> lru gen info in "lru_gen" or "lru_gen_full", and can type cmd into lru_gen.
>>> But which show info contains all memcg's info, and cmd need to
>>> know memcg's id.
>>>
>>> This patchset add lru_gen node in per memcg, with this node, we can
>>> get lru_gen info in each memcg.
>>> Also, we can type cmd to control each memcg's lru_gen seq, but, this node
>>> don't support multi cmd, single memcg just process one cmd once time.
>> Adding TJ from the Android team. (The other TJ you CC'ed is from the
>> ChromeOS team.)
>>
>> This series introduced a new ABI, which has to be maintained forever.
>> How exactly would it be used in *production*?
>>
>> Android doesn't officially support memcgs. So I want to understand the
>> real-world use cases first.
> Not sure how Android came up but I'm happy to chat. We want to turn on
> memcg v2 for Android but I'm currently working through perf impacts
> before that happens. Android can't use debugfs in production, but I
> think we'd prefer to use memory.reclaim for eviction anyway because it
> respects memcg limits and reclaims from slab.
Yes, shrink control this actually can use proactive reclaim.
>
> So maybe it's possible to add just aging functionality specific to
> MGLRU? It'd be nice to know how you're going to use the aging, or why
Due to debugfs not always mount, if we want to now lrugen's info, maybe
nice to offer a memcg's node to show per memcg's lrugen info.
> you want this version of eviction instead of what memory.reclaim does.
So, this node not want to instead of memory.reclaim, it's good enough.
age or other control just flow debugfs global node's behavior. If no
need, delete write is OK.
Thanks
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/3 RESEND] Per memcg lru_gen node stat
2023-10-19 2:32 ` Huan Yang
@ 2023-10-19 16:01 ` T.J. Mercier
0 siblings, 0 replies; 4+ messages in thread
From: T.J. Mercier @ 2023-10-19 16:01 UTC (permalink / raw)
To: Huan Yang
Cc: Yu Zhao, Jonathan Corbet, Andrew Morton, Johannes Weiner,
Michal Hocko, Roman Gushchin, Shakeel Butt, Muchun Song,
Peter Xu, David Hildenbrand, T.J. Alumbaugh, Axel Rasmussen,
Ryan Roberts, Kefeng Wang, Suren Baghdasaryan,
open list:DOCUMENTATION, open list, open list:MEMORY MANAGEMENT,
open list:CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG),
opensource.kernel
On Wed, Oct 18, 2023 at 7:32 PM Huan Yang <link@vivo.com> wrote:
> > Android can't use debugfs in production, but I
> > think we'd prefer to use memory.reclaim for eviction anyway because it
> > respects memcg limits and reclaims from slab.
> Yes, shrink control this actually can use proactive reclaim.
> >
> > So maybe it's possible to add just aging functionality specific to
> > MGLRU? It'd be nice to know how you're going to use the aging, or why
> Due to debugfs not always mount, if we want to now lrugen's info, maybe
> nice to offer a memcg's node to show per memcg's lrugen info.
> > you want this version of eviction instead of what memory.reclaim does.
>
I think Yu's inquiry was about whether you will look at the lrugen
info from the memcg file for a production use case, or just for
debugging where you don't have debugfs for some reason. Because it's a
long term commitment to add the file.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-10-19 16:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20231009025726.5982-1-link@vivo.com>
2023-10-18 16:33 ` [PATCH 0/3 RESEND] Per memcg lru_gen node stat Yu Zhao
2023-10-18 19:59 ` T.J. Mercier
2023-10-19 2:32 ` Huan Yang
2023-10-19 16:01 ` T.J. Mercier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox