Re: [PATCH v2] fs: fsnotify: account fsnotify metadata to kmemcg

From: Michal Hocko
Date: Thu Nov 09 2017 - 08:54:51 EST


[Sorry for the late reply]

On Tue 31-10-17 11:12:38, Jan Kara wrote:
> On Tue 31-10-17 00:39:58, Yang Shi wrote:
[...]
> > I do agree it is not fair and not neat to account to producer rather than
> > misbehaving consumer, but current memcg design looks not support such use
> > case. And, the other question is do we know who is the listener if it
> > doesn't read the events?
>
> So you never know who will read from the notification file descriptor but
> you can simply account that to the process that created the notification
> group and that is IMO the right process to account to.

Yes, if the creator is de-facto owner which defines the lifetime of
those objects then this should be a target of the charge.

> I agree that current SLAB memcg accounting does not allow to account to a
> different memcg than the one of the running process. However I *think* it
> should be possible to add such interface. Michal?

We do have memcg_kmem_charge_memcg but that would require some plumbing
to hook it into the specific allocation path. I suspect it uses kmalloc,
right?
--
Michal Hocko
SUSE Labs