Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3786703pxv; Mon, 26 Jul 2021 12:02:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxskj6dpCa7uzUeETie0PCdufi9jB8fyzdmymt42RMY24cfqj26k8McCqOaDubzvCSLG5Sb X-Received: by 2002:a05:6638:35aa:: with SMTP id v42mr12547187jal.21.1627326175628; Mon, 26 Jul 2021 12:02:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627326175; cv=none; d=google.com; s=arc-20160816; b=Kfj8L8Rmb0CGPl1LKpU96pseqgfg4NfDEQnyTYn96bEnkljnaahtVW+q/ZZkVFfPj/ eV52eCqUBqnOSktAtFSc5bp5qGcCDm0E/mzlVx5Tgsu0B3+9tNMQst5g2pGFRqGLQb0O +I8ZQqbS/PaW4olKZXTROoumh4G6JQmK42XX/d/9vQqfUzflN8uPoJB4HWlXE4JipeKX 3zuf2e3jo/adH70/W63HwH3G4xJl67569YI8aeFvBb8RvQ1jtkvxgiu8YE12LA1SeJ1c EDCZneX+jd5mRUUM8NRO3qKGBHfxgD/2i3GG87Mxij4Ns4GMLrJt+/FAEgIBYSr8JozN nZIw== 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=IZeWJj+gE443ueJ/JD9xLxgmlz+OYcMWZSAhW3AHjbcfEBKPIFoTCQ/uWAFU1LLPaa 8udLhoydcXv+lGFo+52PlmAnqt41mcz+a5IrUkN2UMQw2OFUMRyQ6ylw2FOmT6mFFmAM neJlJA8R9LcAsc1cxCVOM3Qb4QEpz4qDjrohXUa9vofZRcnE7a4KUcKvtvRJRfXso60m UMQBbpGHMSLj2CaOl7b7WUPoQGhTJgsmUNx+mgoT6URYZ3+kG0fcoLvZcfGLlxHyMPz8 Ny6Wfs6wOz6tSC20nM5PQO3kQjnptVIrM8aI14yFMmWLT47TWrd66aJskNVXZxJDBar8 Lvqg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=r5qH6m8k; 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 k15si747493jad.51.2021.07.26.12.02.43; Mon, 26 Jul 2021 12:02:55 -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=r5qH6m8k; 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 S233230AbhGZSVP (ORCPT + 99 others); Mon, 26 Jul 2021 14:21:15 -0400 Received: from relay.sw.ru ([185.231.240.75]:55296 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233301AbhGZSUk (ORCPT ); Mon, 26 Jul 2021 14:20:40 -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=r5qH6m8kGUh6RfQ+6la UTgd0UadlgPXJzwQqPDr1QoRIwlu/s/2DKo1Bg10G/B6EApYn4XvO7tqB4ueAO7tuDboDHtVRuJZF b5vvy24kJ5ssEPgC1/8jYSQoi3qJcd2eN29cvalzkqUhVwT8vxYHuk/LRkSXFP7wVQ9O/ZuUA9E=; Received: from [10.93.0.56] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1m85qd-005JVL-Ex; Mon, 26 Jul 2021 22:01:07 +0300 From: Vasily Averin Subject: [PATCH v6 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: <9bf9d9bd-03b1-2adb-17b4-5d59a86a9394@virtuozzo.com> Message-ID: <40992e25-2499-1c95-be20-7ba2c8ffd90a@virtuozzo.com> Date: Mon, 26 Jul 2021 22:01:07 +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