Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4129078pxv; Mon, 26 Jul 2021 22:36:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyxctYDy50CJbuaLBVUOk5tkag9jxjdg14GubLM2BOvGDkfPHB3S1NroexIysHYpK6eW81w X-Received: by 2002:a5d:8154:: with SMTP id f20mr17917619ioo.89.1627364172404; Mon, 26 Jul 2021 22:36:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627364172; cv=none; d=google.com; s=arc-20160816; b=vhL00kzVMpuC1fFLBHrGjuR/mdIN3+IzoAj36FIph94i2u0NWKTR0q2IF8qWzomzke VEnsPEOiGVjEuSe/kMVTgTE31aJKc+NMpUKfEf0TlW0jmXWP4TtBUwWV45ztKjmlyT03 M8N8247EmZ/HWzbyOxO/jkAFQ0cWPgsGjICq3nHRkGTuhMGc6eytsx+RlWKUTQQXmTPz 1XXHjUpRH8x1S+L4LPdSwXGYnOVaATx+TJuwSK32NIkr2DOSHYEIFwEKSKGZiMVwklmb 2zn0IHqVAfpsJq9Za+l0XV8MCHklnH5GynhCi+7TpqCJy0b/PeDKKElZMy9eMWkB50XZ 9ZVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:subject:from:dkim-signature; bh=C9yDGq1DGF0qRqKlvs/XnP70DMDpJdWqT+roIArxGNw=; b=P3x00F9nUw2raBGGDY38Y50CJpEo5XcDNXGwRZzvpOVuqybC2NbF1jvR4RXVSvoiDx UdcN1+XHG7Iq6NSKMXse8vMBvv7b1kwDKN/GdQVXAmkY/lzt+fml8h2VRdrVm9911FKE fjWIMdQ0lkXJZ7EBZbjM6ZGngMqi2dJCAk/vQJpyygp/TXunWcpgqkEZnJXipSzZwo9Y 99l6aBVzy10za99PSZJAybosyhK4JW3xJ4Hgws0MbYfAS9ACSC3za6uuk1IEiUvU5e5l eZ6D6S6sdIEVcQgcHf3DiA/GzrR6CVmNc8ox+FazQ78hyuTJpzTb0JhaMtITitjL7+Ef S5GA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=CvXCCvMZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b8si2246773jav.94.2021.07.26.22.36.01; Mon, 26 Jul 2021 22:36:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=CvXCCvMZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235447AbhG0Fe3 (ORCPT + 99 others); Tue, 27 Jul 2021 01:34:29 -0400 Received: from relay.sw.ru ([185.231.240.75]:40198 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235365AbhG0FeD (ORCPT ); Tue, 27 Jul 2021 01:34:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Content-Type:MIME-Version:Date:Message-ID:Subject :From; bh=C9yDGq1DGF0qRqKlvs/XnP70DMDpJdWqT+roIArxGNw=; b=CvXCCvMZiYCq8mxvXOr Agp20Om2u94X+CEcSy0B/UFaTXNSBj/N+yP5icjwPBSWruFNdchRW1KZ1ErzOj77rYVmFjlVfn7Dq XjnnvOi/LnDag45EmLbQSpWTDsUZFP3prIONANdVnXyp91qW0N99uqryiCmovBz+fYvNaufvwSk=; Received: from [10.93.0.56] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1m8Fif-005LXQ-Mo; Tue, 27 Jul 2021 08:33:33 +0300 From: Vasily Averin Subject: [PATCH v7 04/10] memcg: enable accounting for fasync_cache To: Andrew Morton Cc: cgroups@vger.kernel.org, Michal Hocko , Shakeel Butt , Johannes Weiner , Vladimir Davydov , Roman Gushchin , Alexander Viro , Jeff Layton , "J. Bruce Fields" , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org References: <6f21a0e0-bd36-b6be-1ffa-0dc86c06c470@virtuozzo.com> Message-ID: <1b408625-d71c-0b26-b0b6-9baf00f93e69@virtuozzo.com> Date: Tue, 27 Jul 2021 08:33:33 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org fasync_struct is used by almost all character device drivers to set up the fasync queue, and for regular files by the file lease code. This structure is quite small but long-living and it can be assigned for any open file. It makes sense to account for its allocations to restrict the host's memory consumption from inside the memcg-limited container. Signed-off-by: Vasily Averin --- fs/fcntl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/fcntl.c b/fs/fcntl.c index f946bec..714e7c9 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -1049,7 +1049,8 @@ static int __init fcntl_init(void) __FMODE_EXEC | __FMODE_NONOTIFY)); fasync_cache = kmem_cache_create("fasync_cache", - sizeof(struct fasync_struct), 0, SLAB_PANIC, NULL); + sizeof(struct fasync_struct), 0, + SLAB_PANIC | SLAB_ACCOUNT, NULL); return 0; } -- 1.8.3.1