Re: [PATCH] mm/vmscan.c: drop_slab_node with task's memcg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 06-04-21 22:34:02, Neil Sun wrote:
> 
> 
> On 2021/4/6 19:39, Michal Hocko wrote:
> > On Tue 06-04-21 19:30:22, Neil Sun wrote:
> > > On 2021/4/6 15:21, Michal Hocko wrote:
> > > > 
> > > > You are changing semantic of the existing user interface. This knob has
> > > > never been memcg aware and it is supposed to have a global impact. I do
> > > > not think we can simply change that without some users being surprised
> > > > or even breaking them.
> > > 
> > > Yes, do you think add new interface to sysfs is a good way? such as
> > > /sys/fs/cgroup/memory/lxc/i-vbe1u8o7/memory.kmem.drop_caches
> > 
> > There were other attempts to add a memcg specific alternative to
> > drop_caches. A lack of a strong usecase has been a reason that no such
> > attempt has been merged until now. drop_caches is a problematic
> > interface because it is really coarse and people have learned to (ab)use
> > it to workaround problem rather than fix them properly.
> > 
> > What is your usecase?
> > 
> 
> We have some lxc containers running on the server, when mysqld running
> backup jobs in the container, page cache will grow up and eat up all unused
> memory in the container, then some new jobs come, we can see that tasks are
> busy on allocing memory with reclaiming, so we want to drop page cache after
> mysql backup job for individual container, it will speed up allocing memory
> when new jobs come.
> 
> This patch only drop slab cache but not page cache, this can be the
> first step if people really need this interface.

Have you considered using high limit for the pro-active memory reclaim?
It really seems odd to drop a certain category of memory without aging
information we already do have. I do understand the start time overhead
concern but it seems to be a much better approach to drop old objects
rather than hammer a very specific type of memory.
-- 
Michal Hocko
SUSE Labs




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux