Re: [PATCH 1/2] fs: fsnotify: account fsnotify metadata to kmemcg
From: Jan Kara <jack@suse.cz>
Date: 2018-06-27 07:31:45
Also in:
cgroups, linux-fsdevel, lkml
On Tue 26-06-18 12:07:57, Shakeel Butt wrote:
On Tue, Jun 26, 2018 at 11:55 AM Johannes Weiner [off-list ref] wrote:quoted
On Tue, Jun 26, 2018 at 11:00:53AM -0700, Shakeel Butt wrote:quoted
On Mon, Jun 25, 2018 at 10:49 PM Amir Goldstein [off-list ref] wrote:quoted
...quoted
The verb 'unuse' takes an argument memcg and 'uses' it - too weird. You can use 'override'/'revert' verbs like override_creds or just call memalloc_use_memcg(old_memcg) since there is no reference taken anyway in use_memcg and no reference released in unuse_memcg. Otherwise looks good to me.Thanks for your feedback. Just using memalloc_use_memcg(old_memcg) and ignoring the return seems more simple. I will wait for feedback from other before changing anything.We're not nesting calls to memalloc_use_memcg(), right? So we don't have to return old_memcg and don't have to pass anything to unuse, it can always set current->active_memcg to NULL.For buffer_head, the allocation is done with GFP_NOFS. So, I think there is no chance of nesting. The fsnotify uses GFP_KERNEL but based on my limited understanding of fsnotify, there should not be any nesting i.e. the allocation triggering reclaim which trigger fsnotify events. Though I would like Amir or Jan to confirm there is no nesting possible.
You are correct. Fsnotify events are generated only as a result of some syscall, not due to reclaim or stuff like that. Honza -- Jan Kara [off-list ref] SUSE Labs, CR