Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3575287pxv; Mon, 19 Jul 2021 03:47:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzztc7Xv7U5eVKn9mW+bbWp+DUAzc3s0SX6rIbXgqyD09mhZe176T/CWVWlBygXlOA6678L X-Received: by 2002:a5d:84d2:: with SMTP id z18mr18788045ior.130.1626691644304; Mon, 19 Jul 2021 03:47:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626691644; cv=none; d=google.com; s=arc-20160816; b=eaVm34RTvKmfXwRKmiaHlRqFE02mNl4qSfNI2xuomgRRDbk1Qv2G336tPfylbGRvN/ 9ePrO0cbRtukWANA5jyri38pqMjgWA8PzAyQPFF2BZE6N8NQALC8ruQGVYsJl7ueM7sm xVO+5ZLUkeLtuJqXggx+BWVKTRht27XQAE0ehBaDzwBFvMcbrur0DBgxMPLfJEx4OvwY Gf5Hek0wMOHch7UCeIuALHFe2jrKWxiEwwG0BnZTYSQ8gqrhKMzsxOrZErZ71JWGbq0V btLiRTC38nWxiY2MxArZDFcpvHqUDAmST2xL1k+dfeF7f0Zwldb2w72XHVR0AKIf85t0 F4mA== 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=qAU9YX3Sw8E0MYtMB0gH0qiMpEWaFW5TOOeksZRhni0=; b=HT8evqegWLfMER/xyZK8LdeKOQH2HWwe/dtna6n6cMyQvGpXh/sF7ocQkuScnUobo+ +Cfx9huxroKxh27+md/icT/osF1/1fD0QrXa3+bfa/6QIoFLD8jytdiZ9VC4604dMvwJ RSKdWstqCoSsNPsR7QqlGWWd7LUt4oqhCNfueMyz1UBHReVX3WoF4tNstpAYYbG/ev0Q PuBaiD/zjinA2VNAn/Cl8vkrSodwa0MAKVEOuNvX+0bQ8Kieo+ujxkih5n0RH5JL65IJ DqiDvJR+2wQe4Z3rzeUWBemt+c9nFQSIunIY4EnUVV75MPyEoGB3j6CX4W7wCFZYLiO9 9dtQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=SE6c3oYc; 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 u4si9623395jak.4.2021.07.19.03.47.12; Mon, 19 Jul 2021 03:47:24 -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=SE6c3oYc; 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 S236553AbhGSKFC (ORCPT + 99 others); Mon, 19 Jul 2021 06:05:02 -0400 Received: from relay.sw.ru ([185.231.240.75]:44782 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236641AbhGSKEq (ORCPT ); Mon, 19 Jul 2021 06:04:46 -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=qAU9YX3Sw8E0MYtMB0gH0qiMpEWaFW5TOOeksZRhni0=; b=SE6c3oYcmJx8sAzqC4u CUNi8+qEX4yde9gKyG3niB2I8uj+QshydqASvDrtOyeCz0RuVHPsxG6afRXSLeppQx5A+Z1Bk/N8i 5N6cJz3+5x7WwQ7tlAyNy5/8oACmTBTXA6wRqv+HvAbw1ODVViZtcvbIVPv7Pfkz64r1O9iKjus=; Received: from [10.93.0.56] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1m5Qm3-004Rgr-5d; Mon, 19 Jul 2021 13:45:23 +0300 From: Vasily Averin Subject: [PATCH v5 10/16] 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: Message-ID: <3315ab04-eb3d-6453-a897-7ed5886454e4@virtuozzo.com> Date: Mon, 19 Jul 2021 13:45:22 +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 dfc72f1..7941559 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