Re: [PATCH] fuse: use GFP_KERNEL_ACCOUNT for allocations in fuse_dev_alloc

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

 



Hi Alexander,

On Wed, Aug 14, 2024 at 01:23:56PM GMT, Alexander Mikhalitsyn wrote:
> fuse_dev_alloc() is called from the process context and it makes
> sense to properly account allocated memory to the kmemcg as these
> allocations are for long living objects.
> 
> Link: https://lore.kernel.org/all/20240105152129.196824-3-aleksandr.mikhalitsyn@xxxxxxxxxxxxx/
> 
> Cc: Miklos Szeredi <miklos@xxxxxxxxxx>
> Cc: Amir Goldstein <amir73il@xxxxxxxxx>
> Cc: Christian Brauner <brauner@xxxxxxxxxx>
> Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
> Cc: Michal Hocko <mhocko@xxxxxxxxxx>
> Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx>
> Cc: Shakeel Butt <shakeel.butt@xxxxxxxxx>
> Cc: <linux-fsdevel@xxxxxxxxxxxxxxx>
> Cc: <linux-kernel@xxxxxxxxxxxxxxx>
> Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@xxxxxxxxxxxxx>
> ---
>  fs/fuse/inode.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
> index ed4c2688047f..6dae007186e1 100644
> --- a/fs/fuse/inode.c
> +++ b/fs/fuse/inode.c
> @@ -1486,11 +1486,11 @@ struct fuse_dev *fuse_dev_alloc(void)
>  	struct fuse_dev *fud;
>  	struct list_head *pq;
>  
> -	fud = kzalloc(sizeof(struct fuse_dev), GFP_KERNEL);
> +	fud = kzalloc(sizeof(struct fuse_dev), GFP_KERNEL_ACCOUNT);
>  	if (!fud)
>  		return NULL;
>  
> -	pq = kcalloc(FUSE_PQ_HASH_SIZE, sizeof(struct list_head), GFP_KERNEL);
> +	pq = kcalloc(FUSE_PQ_HASH_SIZE, sizeof(struct list_head), GFP_KERNEL_ACCOUNT);
>  	if (!pq) {
>  		kfree(fud);
>  		return NULL;

No objection from me but let me ask couple of questions to make sure we
know the impact of this change. It seems like this function is called
during mount() operation. Is that correct? If yes then basically the
admin process or node controller is being charged for this memory.
Nothing bad but this info should be in commit message. Also what is the
lifetime of these objects? From mount to unmount? Please add that info
as well. There are other unaccounted allocations in the fuse fs. Is
there a followup plan to include those as well?

thanks,
Shakeel




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux