Thread (13 messages) 13 messages, 4 authors, 2024-09-10

Re: [PATCH v4] memcg: add charging of already allocated slab objects

From: Vlastimil Babka <hidden>
Date: 2024-09-09 07:59:20
Also in: cgroups, linux-mm, lkml

On 9/6/24 19:38, Yosry Ahmed wrote:
quoted
But in case of kmalloc() the allocation must have been still attempted with
__GFP_ACCOUNT so a kmalloc-cg cache is used even if the charging fails.
It is still possible that the initial allocation did not have
__GFP_ACCOUNT, but not from a KMALLOC_NORMAL cache (e.g. KMALLOC_DMA
or KMALLOC_RECLAIM). In this case kmem_cache_charge() should still
work, right?
Yeah it would work, but that's rather a corner case implementation detail so
it's better to just require __GFP_ACCOUNT for kmalloc() in the comment.
quoted
If there's another usage for kmem_cache_charge() where the memcg is
available but we don't want to charge immediately on purpose (such as the
Linus' idea for struct file), we might need to find another way to tell
kmalloc() to use the kmalloc-cg cache but not charge immediately...
Can we just use a dedicated kmem_cache for this instead?
Right, as Shakeel mentioned, that would be the case of struct file. If all
such cases in the future are fine with dedicated cache (i.e. not variable
sized allocations), it should be fine.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help