Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp4129097pxv; Mon, 26 Jul 2021 22:36:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBVf9zrK4ztDVt06KFYCYOgo8BfjAkJYItUi3ZxIsf7sZ4/MysOow5ZEz7Uqrfo6UKJWRf X-Received: by 2002:a05:6402:278d:: with SMTP id b13mr26312777ede.20.1627364174278; Mon, 26 Jul 2021 22:36:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627364174; cv=none; d=google.com; s=arc-20160816; b=AbqQqpdX3+JsMkopXGUN4g+DWa/s7QT80cRI4b5aD65YvMZmaB9/xbR9iEUSgJ/8fm RZ9ChOrbShnpWMXtH6RiCc2BJu5PVpxhYYV9lQCtytf1LsiiMjaowVttyNFEnK+9iuEG WrQABEmq3nbjhA3OR1az3RLGj2puAt/4AxpjcIeBB1oury7K6mkQer1nK5y+7xfdUPgJ tPCHldq1j8dowBiobcSFQ6rNndF3bDNqV3cjiwamqH8F4d1D747PwZSxwgoviBE9k+Tg a6tueCSkst4CAVQCJzNWkY8tbc2cM6pdjkSNN0urtAUEW9wXrawB6WVTJuGMFIZW3c5H v6vA== 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=m1Yqt1TCkby1yY+UxZYHx7vylpAQ4AaVAE17J3Ni/4s=; b=wDiY8dOMExY7kbeXYCubzVr41Tb1bzX4k2WaIPWnPZYssaHphfvDq2RK6sBdmZxZt3 BtGad8Ep7sO8pY0bL3n7cBhnRHsGT2UdYEkU6kuIggucnc7s7BNki95nMCjj0LsI/Ns/ AMENwF0rgyyA0fIgmsrdxMbY43fJwkiYpnZGSa+l8t77PrqTA7wDZXxKZFygzNBhnCxZ gcpXQ6eV6HI4hn2B4dCnv6Vv27wKxZLKdpvljoI66dEd+w8SW7MotVBjwAcJR8tWbayt ZPF8YAUpqK3YEwkZXxxQJfCjDFeRU8wkPsYtNbrfuFcn/tODYdc6E0WnDMcRce9FlUBq 2YtA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=ZVp29BLb; 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 f18si1849575ejh.710.2021.07.26.22.35.50; Mon, 26 Jul 2021 22:36:14 -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=ZVp29BLb; 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 S235375AbhG0FeU (ORCPT + 99 others); Tue, 27 Jul 2021 01:34:20 -0400 Received: from relay.sw.ru ([185.231.240.75]:40314 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233553AbhG0FeD (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=m1Yqt1TCkby1yY+UxZYHx7vylpAQ4AaVAE17J3Ni/4s=; b=ZVp29BLbPsEbGmFDCr1 vlcF/qa3L/6YTTSIbhjpIM/YenBGgWZgDM+FidVYuoJNHR49HsgoOzO4G72XZhPRcpZJ+m5A0gV4P R6wMfrS/8iEx7nbOzEeydq/dwPmxS283jiPq9+wwXIfiGeu0WisdCwawnEUPGcuONgqSL5HefeM=; Received: from [10.93.0.56] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1m8Fj7-005LYm-Ln; Tue, 27 Jul 2021 08:34:01 +0300 From: Vasily Averin Subject: [PATCH v7 07/10] memcg: enable accounting for signals To: Andrew Morton Cc: cgroups@vger.kernel.org, Michal Hocko , Shakeel Butt , Johannes Weiner , Vladimir Davydov , Roman Gushchin , Jens Axboe , "Eric W. Biederman" , Oleg Nesterov , linux-kernel@vger.kernel.org References: <6f21a0e0-bd36-b6be-1ffa-0dc86c06c470@virtuozzo.com> Message-ID: Date: Tue, 27 Jul 2021 08:34:01 +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 When a user send a signal to any another processes it forces the kernel to allocate memory for 'struct sigqueue' objects. The number of signals is limited by RLIMIT_SIGPENDING resource limit, but even the default settings allow each user to consume up to several megabytes of memory. It makes sense to account for these allocations to restrict the host's memory consumption from inside the memcg-limited container. Signed-off-by: Vasily Averin Reviewed-by: Shakeel Butt --- kernel/signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/signal.c b/kernel/signal.c index a3229ad..8921c4a 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -4663,7 +4663,7 @@ void __init signals_init(void) { siginfo_buildtime_checks(); - sigqueue_cachep = KMEM_CACHE(sigqueue, SLAB_PANIC); + sigqueue_cachep = KMEM_CACHE(sigqueue, SLAB_PANIC | SLAB_ACCOUNT); } #ifdef CONFIG_KGDB_KDB -- 1.8.3.1